fltk/src/CMakeLists.txt
Manolo Gouy cf4825eedf Move PostScript-support files to src/drivers/PostScript/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 15:24:08 +00:00

513 lines
13 KiB
CMake

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_Window_shape.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 AND NOT OPTION_PRINT_SUPPORT)
set(PSFILES
)
else()
set(PSFILES
drivers/PostScript/Fl_PostScript.cxx
drivers/PostScript/Fl_PostScript_image.cxx
)
endif(USE_X11 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/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
)
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 (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/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/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
)
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)
set(MMFILES
Fl_cocoa.mm
Fl_Quartz_Printer.mm
Fl_Native_File_Chooser_MAC.mm
Fl_Sys_Menu_Bar.mm
)
else()
set(MMFILES
)
endif(APPLE AND NOT OPTION_APPLE_X11)
#######################################################################
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(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(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)
#######################################################################