set(CPPFILES Fl.cxx Fl_Adjuster.cxx Fl_Bitmap.cxx Fl_Browser.cxx Fl_Browser_.cxx Fl_Browser_load.cxx Fl_Box.cxx Fl_Button.cxx Fl_Chart.cxx Fl_Check_Browser.cxx Fl_Check_Button.cxx Fl_Choice.cxx Fl_Clock.cxx Fl_Color_Chooser.cxx Fl_Copy_Surface.cxx Fl_Counter.cxx Fl_Device.cxx Fl_Dial.cxx Fl_Help_Dialog_Dox.cxx Fl_Double_Window.cxx Fl_File_Browser.cxx Fl_File_Chooser.cxx Fl_File_Chooser2.cxx Fl_File_Icon.cxx Fl_File_Input.cxx Fl_Graphics_Driver.cxx Fl_Group.cxx Fl_Help_View.cxx Fl_Image.cxx Fl_Image_Surface.cxx Fl_Input.cxx Fl_Input_.cxx Fl_Light_Button.cxx Fl_Menu.cxx Fl_Menu_.cxx Fl_Menu_Bar.cxx Fl_Menu_Button.cxx Fl_Menu_Window.cxx Fl_Menu_add.cxx Fl_Menu_global.cxx Fl_Multi_Label.cxx Fl_Native_File_Chooser.cxx Fl_Overlay_Window.cxx Fl_Pack.cxx Fl_Paged_Device.cxx Fl_Pixmap.cxx Fl_Positioner.cxx Fl_Preferences.cxx Fl_Printer.cxx Fl_Progress.cxx Fl_Repeat_Button.cxx Fl_Return_Button.cxx Fl_Roller.cxx Fl_Round_Button.cxx Fl_Screen_Driver.cxx Fl_Scroll.cxx Fl_Scrollbar.cxx Fl_Shared_Image.cxx Fl_Single_Window.cxx Fl_Slider.cxx Fl_Table.cxx Fl_Table_Row.cxx Fl_Tabs.cxx Fl_Text_Buffer.cxx Fl_Text_Display.cxx Fl_Text_Editor.cxx Fl_Tile.cxx Fl_Tiled_Image.cxx Fl_Tooltip.cxx Fl_Tree.cxx Fl_Tree_Item_Array.cxx Fl_Tree_Item.cxx Fl_Tree_Prefs.cxx Fl_Valuator.cxx Fl_Value_Input.cxx Fl_Value_Output.cxx Fl_Value_Slider.cxx Fl_Widget.cxx Fl_Widget_Surface.cxx Fl_Window.cxx Fl_Window_Driver.cxx Fl_Window_fullscreen.cxx Fl_Window_hotspot.cxx Fl_Window_iconize.cxx Fl_Wizard.cxx Fl_XBM_Image.cxx Fl_XPM_Image.cxx Fl_abort.cxx Fl_add_idle.cxx Fl_arg.cxx Fl_compose.cxx Fl_display.cxx Fl_get_key.cxx Fl_get_system_colors.cxx Fl_grab.cxx Fl_lock.cxx Fl_own_colormap.cxx Fl_visual.cxx Fl_x.cxx filename_absolute.cxx filename_expand.cxx filename_ext.cxx filename_isdir.cxx filename_list.cxx filename_match.cxx filename_setext.cxx fl_arc.cxx fl_ask.cxx fl_boxtype.cxx fl_color.cxx fl_cursor.cxx fl_curve.cxx fl_diamond_box.cxx fl_dnd.cxx fl_draw.cxx fl_draw_pixmap.cxx fl_engraved_label.cxx fl_file_dir.cxx fl_font.cxx fl_gleam.cxx fl_gtk.cxx fl_labeltype.cxx fl_line_style.cxx fl_open_uri.cxx fl_oval_box.cxx fl_overlay.cxx fl_overlay_visual.cxx fl_plastic.cxx fl_read_image.cxx fl_rect.cxx fl_round_box.cxx fl_rounded_box.cxx fl_set_font.cxx fl_scroll_area.cxx fl_shadow_box.cxx fl_shortcut.cxx fl_show_colormap.cxx fl_symbols.cxx fl_vertex.cxx screen_xywh.cxx fl_utf8.cxx fl_encoding_latin1.cxx fl_encoding_mac_roman.cxx ) file(GLOB HEADER_FILES "../FL/*.H" "../FL/*.h" ) if ((USE_X11 OR USE_SDL) AND NOT OPTION_PRINT_SUPPORT) set(PSFILES ) else() set(PSFILES drivers/PostScript/Fl_PostScript.cxx drivers/PostScript/Fl_PostScript_image.cxx ) endif((USE_X11 OR USE_SDL) AND NOT OPTION_PRINT_SUPPORT) set(DRIVER_FILES) if (USE_X11) # X11 (including APPLE with X11) set(DRIVER_FILES drivers/Posix/Fl_Posix_System_Driver.cxx drivers/Posix/Fl_Posix_Printer_Driver.cxx drivers/X11/Fl_X11_Screen_Driver.cxx drivers/X11/Fl_X11_Window_Driver.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_vertex.cxx drivers/Xlib/Fl_Translated_Xlib_Graphics_Driver.cxx drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx ) if (USE_XFT) set(DRIVER_FILES ${DRIVER_FILES} drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx ) else () set(DRIVER_FILES ${DRIVER_FILES} drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx ) endif (USE_XFT) set(DRIVER_HEADER_FILES drivers/Posix/Fl_Posix_System_Driver.H drivers/X11/Fl_X11_Screen_Driver.H drivers/X11/Fl_X11_Window_Driver.H drivers/Quartz/Fl_Quartz_Graphics_Driver.H ) elseif (USE_SDL) # SDL2 set(DRIVER_FILES drivers/Pico/Fl_Pico_System_Driver.cxx drivers/Pico/Fl_Pico_Screen_Driver.cxx drivers/Pico/Fl_Pico_Window_Driver.cxx drivers/Pico/Fl_Pico_Graphics_Driver.cxx drivers/Pico/Fl_Pico_Copy_Surface.cxx drivers/Pico/Fl_Pico_Image_Surface.cxx drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx ) set(DRIVER_HEADER_FILES drivers/Pico/Fl_Pico_System_Driver.H drivers/Pico/Fl_Pico_Screen_Driver.H drivers/Pico/Fl_Pico_Window_Driver.H drivers/Pico/Fl_Pico_Graphics_Driver.H drivers/PicoSDL/Fl_PicoSDL_System_Driver.H drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H ) elseif (APPLE) # Apple Quartz set(DRIVER_FILES drivers/Quartz/Fl_Quartz_Display_Device.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_vertex.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx drivers/Quartz/Fl_Quartz_Printer_Graphics_Driver.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_arci.cxx drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx drivers/Quartz/Fl_Quartz_Copy_Surface_Driver.cxx drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx drivers/Darwin/Fl_Darwin_System_Driver.cxx ) set(DRIVER_HEADER_FILES drivers/Darwin/Fl_Darwin_System_Driver.H drivers/Cocoa/Fl_Cocoa_Screen_Driver.H drivers/Cocoa/Fl_Cocoa_Window_Driver.H drivers/Quartz/Fl_Quartz_Graphics_Driver.H ) else () # Windows (GDI) set(DRIVER_FILES drivers/WinAPI/Fl_WinAPI_System_Driver.cxx drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx drivers/GDI/Fl_GDI_Graphics_Driver.cxx drivers/GDI/Fl_GDI_Graphics_Driver_arci.cxx drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx drivers/GDI/Fl_GDI_Graphics_Driver_font.cxx drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx drivers/GDI/Fl_GDI_Graphics_Driver_line_style.cxx drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx drivers/GDI/Fl_GDI_Graphics_Driver_vertex.cxx drivers/GDI/Fl_GDI_Copy_Surface_Driver.cxx drivers/GDI/Fl_GDI_Image_Surface_Driver.cxx ) set(DRIVER_HEADER_FILES drivers/WinAPI/Fl_WinAPI_System_Driver.H drivers/WinAPI/Fl_WinAPI_Screen_Driver.H drivers/WinAPI/Fl_WinAPI_Window_Driver.H drivers/GDI/Fl_GDI_Graphics_Driver.H ) endif (USE_X11) source_group("Source Files\\Headers" FILES ${HEADER_FILES}) source_group("Driver Source Files" FILES ${DRIVER_FILES}) source_group("Driver Source Files\\Headers" FILES ${DRIVER_HEADER_FILES}) set(CPPFILES ${CPPFILES} ${DRIVER_FILES} ) set(FLCPPFILES forms_compatability.cxx forms_bitmap.cxx forms_free.cxx forms_fselect.cxx forms_pixmap.cxx forms_timer.cxx ) set(GLCPPFILES Fl_Gl_Choice.cxx Fl_Gl_Device_Plugin.cxx Fl_Gl_Overlay.cxx Fl_Gl_Window.cxx freeglut_geometry.cxx freeglut_stroke_mono_roman.cxx freeglut_stroke_roman.cxx freeglut_teapot.cxx gl_draw.cxx gl_start.cxx glut_compatability.cxx glut_font.cxx ) set (GL_DRIVER_FILES drivers/OpenGL/Fl_OpenGL_Display_Device.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_arci.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_color.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_font.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_image.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_line_style.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_rect.cxx drivers/OpenGL/Fl_OpenGL_Graphics_Driver_vertex.cxx ) set (GL_DRIVER_HEADER_FILES drivers/OpenGL/Fl_OpenGL_Display_Device.H drivers/OpenGL/Fl_OpenGL_Graphics_Driver.H ) source_group("Driver Header Files" FILES ${GL_DRIVER_HEADER_FILES}) source_group("Driver Source Files" FILES ${GL_DRIVER_FILES}) set(GLCPPFILES ${GLCPPFILES} ${GL_DRIVER_FILES} ) set(IMGCPPFILES fl_images_core.cxx Fl_BMP_Image.cxx Fl_File_Icon2.cxx Fl_GIF_Image.cxx Fl_Help_Dialog.cxx Fl_JPEG_Image.cxx Fl_PNG_Image.cxx Fl_PNM_Image.cxx ) set(CFILES flstring.c scandir.c numericsort.c vsnprintf.c xutf8/is_right2left.c xutf8/is_spacing.c xutf8/case.c xutf8/utf8Input.c xutf8/utf8Utils.c xutf8/utf8Wrap.c xutf8/keysym2Ucs.c fl_utf.c ) add_definitions(-DFL_LIBRARY) if(APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL)) set(MMFILES Fl_cocoa.mm drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm Fl_Native_File_Chooser_MAC.mm Fl_Sys_Menu_Bar.mm ) else() set(MMFILES ) endif(APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL)) ####################################################################### FL_ADD_LIBRARY(fltk STATIC "${CPPFILES};${PSFILES};${MMFILES};${CFILES};fl_call_main.c;${HEADER_FILES};${DRIVER_HEADER_FILES}") if(LIB_dl) target_link_libraries(fltk ${LIB_dl}) endif(LIB_dl) if(USE_THREADS) target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT}) endif(USE_THREADS) if(USE_X11) target_link_libraries(fltk ${X11_LIBRARIES}) endif(USE_X11) if (USE_SDL) target_link_libraries(fltk ${SDL2_LIBRARY}) endif(USE_SDL) if(WIN32) target_link_libraries(fltk comctl32) endif(WIN32) if(FLTK_HAVE_CAIRO) target_link_libraries(fltk fltk_cairo ${PKG_CAIRO_LIBRARIES}) ENDif(FLTK_HAVE_CAIRO) if(HAVE_XINERAMA) target_link_libraries(fltk ${X11_Xinerama_LIB}) endif(HAVE_XINERAMA) if(HAVE_XFIXES) target_link_libraries(fltk ${X11_Xfixes_LIB}) endif(HAVE_XFIXES) if(HAVE_XCURSOR) target_link_libraries(fltk ${X11_Xcursor_LIB}) endif(HAVE_XCURSOR) if(USE_XFT) target_link_libraries(fltk ${X11_Xft_LIB}) if(LIB_fontconfig) target_link_libraries(fltk ${LIB_fontconfig}) endif(LIB_fontconfig) endif(USE_XFT) ####################################################################### FL_ADD_LIBRARY(fltk_forms STATIC "${FLCPPFILES}") target_link_libraries(fltk_forms fltk) ####################################################################### FL_ADD_LIBRARY(fltk_images STATIC "${IMGCPPFILES}") target_link_libraries(fltk_images fltk ${FLTK_PNG_LIBRARIES} ${FLTK_JPEG_LIBRARIES} ${FLTK_ZLIB_LIBRARIES}) if(OPTION_USE_SYSTEM_LIBJPEG) target_link_libraries(fltk_images ${FLTK_JPEG_LIBRARIES}) else() target_link_libraries(fltk_images fltk_jpeg) endif(OPTION_USE_SYSTEM_LIBJPEG) if(OPTION_USE_SYSTEM_ZLIB) target_link_libraries(fltk_images ${FLTK_ZLIB_LIBRARIES}) else() target_link_libraries(fltk_images fltk_z) endif(OPTION_USE_SYSTEM_ZLIB) if(OPTION_USE_SYSTEM_LIBPNG) target_link_libraries(fltk_images ${FLTK_PNG_LIBRARIES}) else() target_link_libraries(fltk_images fltk_png) endif(OPTION_USE_SYSTEM_LIBPNG) ####################################################################### if(OPENGL_FOUND) FL_ADD_LIBRARY(fltk_gl STATIC "${GLCPPFILES};${GL_HEADER_FILE};${GL_DRIVER_HEADER_FILES}") target_link_libraries(fltk_gl fltk ${OPENGL_LIBRARIES}) endif(OPENGL_FOUND) ####################################################################### ####################################################################### if(OPTION_BUILD_SHARED_LIBS) ####################################################################### FL_ADD_LIBRARY(fltk SHARED "${CPPFILES};${MMFILES};${CFILES};${HEADER_FILES};${DRIVER_HEADER_FILES}") if(LIB_dl) target_link_libraries(fltk_SHARED ${LIB_dl}) endif(LIB_dl) if(USE_THREADS) target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT}) endif(USE_THREADS) if(USE_X11) target_link_libraries(fltk_SHARED ${X11_LIBRARIES}) endif(USE_X11) if (USE_SDL) target_link_libraries(fltk ${SDL2_LIBRARY}) endif(USE_SDL) if(WIN32) target_link_libraries(fltk_SHARED comctl32) endif(WIN32) if(FLTK_HAVE_CAIRO) target_link_libraries(fltk_SHARED fltk_cairo_SHARED ${PKG_CAIRO_LIBRARIES}) ENDif(FLTK_HAVE_CAIRO) if(HAVE_XINERAMA) target_link_libraries(fltk_SHARED ${X11_Xinerama_LIB}) endif(HAVE_XINERAMA) if(HAVE_XFIXES) target_link_libraries(fltk_SHARED ${X11_Xfixes_LIB}) endif(HAVE_XFIXES) if(HAVE_XCURSOR) target_link_libraries(fltk_SHARED ${X11_Xcursor_LIB}) endif(HAVE_XCURSOR) if(USE_XFT) target_link_libraries(fltk_SHARED ${X11_Xft_LIB}) if(LIB_fontconfig) target_link_libraries(fltk_SHARED ${LIB_fontconfig}) endif(LIB_fontconfig) endif(USE_XFT) ####################################################################### FL_ADD_LIBRARY(fltk_forms SHARED "${FLCPPFILES}") target_link_libraries(fltk_forms_SHARED fltk_SHARED) if(USE_THREADS) target_link_libraries(fltk_forms_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl}) endif(USE_THREADS) if(USE_X11) target_link_libraries(fltk_forms_SHARED ${X11_LIBRARIES}) endif(USE_X11) ####################################################################### FL_ADD_LIBRARY(fltk_images SHARED "${IMGCPPFILES}") target_link_libraries(fltk_images_SHARED fltk_SHARED) if(OPTION_USE_SYSTEM_LIBJPEG) target_link_libraries(fltk_images_SHARED ${FLTK_JPEG_LIBRARIES}) else() target_link_libraries(fltk_images_SHARED fltk_jpeg_SHARED) endif(OPTION_USE_SYSTEM_LIBJPEG) if(OPTION_USE_SYSTEM_ZLIB) target_link_libraries(fltk_images_SHARED ${FLTK_ZLIB_LIBRARIES}) else() target_link_libraries(fltk_images_SHARED fltk_z_SHARED) endif(OPTION_USE_SYSTEM_ZLIB) if(OPTION_USE_SYSTEM_LIBPNG) target_link_libraries(fltk_images_SHARED ${FLTK_PNG_LIBRARIES}) else() target_link_libraries(fltk_images_SHARED fltk_png_SHARED) endif(OPTION_USE_SYSTEM_LIBPNG) ####################################################################### if(OPENGL_FOUND) FL_ADD_LIBRARY(fltk_gl SHARED "${GLCPPFILES};${GL_HEADER_FILE};${GL_DRIVER_HEADER_FILES}") target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) endif(OPENGL_FOUND) ####################################################################### endif(OPTION_BUILD_SHARED_LIBS) #######################################################################