summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2010-04-05 22:33:58 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2010-04-05 22:33:58 +0000
commita0d26b634afd9234234f3343c25961b7ffdb7be0 (patch)
treedc8fb2ee36d894ae5377a94baaf0809143aa2ec2 /src
parent2bf6fa6074303c8c7bcd16736be6e244dcaf3c39 (diff)
Mostly rewritten CMake files by Michael Surette. They are more complete
than what we had previously, but may need some more testing. The latest changes (removing old APPLE_QD definitions and code) might need another update. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt320
1 files changed, 270 insertions, 50 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4b6691605..f4e2ce6ca 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,8 @@
-SET(CPPFILES
+include_regular_expression("[.][cxx|c|h]$")
+
+set(CPPFILES
Fl.cxx
+ Fl_Abstract_Printer.cxx
Fl_Adjuster.cxx
Fl_Bitmap.cxx
Fl_Browser.cxx
@@ -14,6 +17,7 @@ SET(CPPFILES
Fl_Clock.cxx
Fl_Color_Chooser.cxx
Fl_Counter.cxx
+ Fl_Device.cxx
Fl_Dial.cxx
Fl_Double_Window.cxx
Fl_File_Browser.cxx
@@ -41,6 +45,7 @@ SET(CPPFILES
Fl_Pack.cxx
Fl_Pixmap.cxx
Fl_Positioner.cxx
+ Fl_Printer.cxx
Fl_Preferences.cxx
Fl_Progress.cxx
Fl_Repeat_Button.cxx
@@ -131,21 +136,25 @@ SET(CPPFILES
fl_show_colormap.cxx
fl_symbols.cxx
fl_vertex.cxx
+ ps_image.cxx
screen_xywh.cxx
fl_utf8.cxx
fl_encoding_latin1.cxx
fl_encoding_mac_roman.cxx
- )
-SET(FLCPPFILES
+)
+
+set(FLCPPFILES
forms_compatability.cxx
forms_bitmap.cxx
forms_free.cxx
forms_fselect.cxx
forms_pixmap.cxx
forms_timer.cxx
- )
-SET(GLCPPFILES
+)
+
+set(GLCPPFILES
Fl_Gl_Choice.cxx
+ Fl_Gl_Device_Plugin.cxx
Fl_Gl_Overlay.cxx
Fl_Gl_Window.cxx
freeglut_geometry.cxx
@@ -156,8 +165,9 @@ SET(GLCPPFILES
gl_start.cxx
glut_compatability.cxx
glut_font.cxx
- )
-SET(IMGCPPFILES
+)
+
+set(IMGCPPFILES
fl_images_core.cxx
Fl_BMP_Image.cxx
Fl_File_Icon2.cxx
@@ -166,10 +176,9 @@ SET(IMGCPPFILES
Fl_JPEG_Image.cxx
Fl_PNG_Image.cxx
Fl_PNM_Image.cxx
- )
+)
-SET(CFILES
- fl_call_main.c
+set(CFILES
flstring.c
scandir.c
numericsort.c
@@ -182,45 +191,256 @@ SET(CFILES
xutf8/utf8Wrap.c
xutf8/keysym2Ucs.c
fl_utf.c
- )
-
-ADD_LIBRARY(fltk ${CPPFILES} ${CFILES})
-INSTALL_TARGETS(/lib fltk)
-SET_TARGET_PROPERTIES(fltk
- PROPERTIES
- VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
- SOVERSION ${FLTK_VERSION_PATCH})
-
-TARGET_LINK_LIBRARIES(fltk ${FLTK_PLATFORM_DEPENDENT_LIBS} ${CMAKE_THREAD_LIBS_INIT})
-
-IF(X11_FOUND)
- TARGET_LINK_LIBRARIES(fltk ${X11_LIBRARIES})
-ENDIF(X11_FOUND)
-
-IF(OPENGL_FOUND)
- ADD_LIBRARY(fltk_gl ${GLCPPFILES})
- INSTALL_TARGETS(/lib fltk_gl)
- TARGET_LINK_LIBRARIES(fltk_gl fltk ${OPENGL_LIBRARIES})
- SET_TARGET_PROPERTIES(fltk_gl
- PROPERTIES
- VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
- SOVERSION ${FLTK_VERSION_PATCH})
-ENDIF(OPENGL_FOUND)
-
-ADD_LIBRARY(fltk_forms ${FLCPPFILES})
-INSTALL_TARGETS(/lib fltk_forms)
-TARGET_LINK_LIBRARIES(fltk_forms fltk)
-SET_TARGET_PROPERTIES(fltk_forms
- PROPERTIES
- VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
- SOVERSION ${FLTK_VERSION_PATCH})
-
-ADD_LIBRARY(fltk_images ${IMGCPPFILES})
-INSTALL_TARGETS(/lib fltk_images)
-TARGET_LINK_LIBRARIES(fltk_images fltk ${FLTK_PNG_LIBRARIES}
+)
+
+if(APPLE)
+ set_source_file_properties(Fl.cxx
+ PROPERTIES COMPILE_FLAGS "-x objective-c++")
+endif(APPLE)
+
+#######################################################################
+add_library(fltk STATIC ${CPPFILES} ${CFILES} fl_call_main.c)
+set_target_properties(fltk PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+if(MSVC)
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif()
+ set_target_properties(fltk
+ PROPERTIES
+ OUTPUT_NAME fltk
+ DEBUG_OUTPUT_NAME fltkd
+ )
+endif(MSVC)
+
+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(HAVE_CAIRO)
+ target_link_libraries(fltk fltk_cairo ${PKG_CAIRO_LIBRARIES})
+ENDif(HAVE_CAIRO)
+
+if(USE_XINERAMA)
+ target_link_libraries(fltk ${X11_Xinerama_LIB})
+endif(USE_XINERAMA)
+
+if(USE_XFT)
+ target_link_libraries(fltk ${X11_Xft_LIB})
+endif(USE_XFT)
+
+if(LIB_fontconfig)
+ target_link_libraries(fltk ${LIB_fontconfig})
+endif(LIB_fontconfig)
+
+#######################################################################
+add_library(fltk_forms STATIC ${FLCPPFILES})
+target_link_libraries(fltk_forms fltk)
+set_target_properties(fltk_forms
+ PROPERTIES CLEAN_DIRECT_OUTPUT 1
+)
+if(MSVC)
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_forms PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif()
+ set_target_properties(fltk_forms
+ PROPERTIES
+ OUTPUT_NAME fltkforms
+ DEBUG_OUTPUT_NAME fltkformsd
+ )
+endif(MSVC)
+
+#######################################################################
+add_library(fltk_images STATIC ${IMGCPPFILES})
+target_link_libraries(fltk_images fltk ${FLTK_PNG_LIBRARIES}
${FLTK_JPEG_LIBRARIES} ${FLTK_ZLIB_LIBRARIES})
-SET_TARGET_PROPERTIES(fltk_images
- PROPERTIES
- VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
- SOVERSION ${FLTK_VERSION_PATCH})
+set_target_properties(fltk_images PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+if(MSVC)
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_images PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif()
+ set_target_properties(fltk_images
+ PROPERTIES
+ OUTPUT_NAME fltkimages
+ DEBUG_OUTPUT_NAME fltkimagesd
+ )
+endif(MSVC)
+
+#######################################################################
+install(TARGETS fltk fltk_forms fltk_images
+ EXPORT fltk-install
+ DESTINATION ${PREFIX_LIB}
+)
+
+#######################################################################
+if(OPENGL_FOUND)
+ add_library(fltk_gl STATIC ${GLCPPFILES})
+ target_link_libraries(fltk_gl fltk ${OPENGL_LIBRARIES})
+ set_target_properties(fltk_gl PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ if(MSVC)
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_gl PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif()
+ set_target_properties(fltk_gl
+ PROPERTIES
+ OUTPUT_NAME fltkgl
+ DEBUG_OUTPUT_NAME fltkgld
+ )
+ endif(MSVC)
+
+ install(TARGETS fltk_gl
+ EXPORT fltk-install
+ DESTINATION ${PREFIX_LIB}
+ )
+endif(OPENGL_FOUND)
+
+#######################################################################
+#######################################################################
+if(OPTION_BUILD_SHARED_LIBS)
+
+#######################################################################
+add_library(fltk_SHARED SHARED ${CPPFILES} ${CFILES})
+set_target_properties(fltk_SHARED
+ PROPERTIES CLEAN_DIRECT_OUTPUT 1
+ VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
+ SOVERSION ${FLTK_VERSION_PATCH}
+)
+if(MSVC)
+ set_target_properties(fltk_SHARED
+ PROPERTIES
+ OUTPUT_NAME fltkdll
+ DEBUG_OUTPUT_NAME fltkdlld
+ COMPILE_DEFINITIONS "FL_DLL;FL_LIBRARY"
+ )
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_SHARED PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif(OPTION_LARGE_FILE)
+else()
+ set_target_properties(fltk_SHARED PROPERTIES OUTPUT_NAME fltk)
+endif(MSVC)
+
+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(HAVE_CAIRO)
+ target_link_libraries(fltk_SHARED fltk_cairo ${PKG_CAIRO_LIBRARIES})
+ENDif(HAVE_CAIRO)
+
+if(USE_XINERAMA)
+ target_link_libraries(fltk_SHARED ${X11_Xinerama_LIB})
+endif(USE_XINERAMA)
+
+if(USE_XFT)
+ target_link_libraries(fltk_SHARED ${X11_Xft_LIB})
+endif(USE_XFT)
+
+if(LIB_fontconfig)
+ target_link_libraries(fltk_SHARED ${LIB_fontconfig})
+endif(LIB_fontconfig)
+
+#######################################################################
+add_library(fltk_forms_SHARED SHARED ${FLCPPFILES})
+target_link_libraries(fltk_forms_SHARED fltk)
+set_target_properties(fltk_forms_SHARED
+ PROPERTIES CLEAN_DIRECT_OUTPUT 1
+ VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
+ SOVERSION ${FLTK_VERSION_PATCH}
+)
+if(MSVC)
+ set_target_properties(fltk_forms_SHARED
+ PROPERTIES
+ OUTPUT_NAME fltkformsdll
+ DEBUG_OUTPUT_NAME fltkformsdlld
+ COMPILE_DEFINITIONS "FL_DLL;FL_LIBRARY"
+ )
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_forms_SHARED PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif(OPTION_LARGE_FILE)
+else()
+ set_target_properties(fltk_forms_SHARED PROPERTIES OUTPUT_NAME fltk_forms)
+endif(MSVC)
+
+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)
+
+#######################################################################
+add_library(fltk_images_SHARED SHARED ${IMGCPPFILES})
+target_link_libraries(fltk_images_SHARED fltk
+ ${FLTK_PNG_LIBRARIES} ${FLTK_JPEG_LIBRARIES} ${FLTK_ZLIB_LIBRARIES}
+)
+set_target_properties(fltk_images_SHARED
+ PROPERTIES CLEAN_DIRECT_OUTPUT 1
+ VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
+ SOVERSION ${FLTK_VERSION_PATCH}
+)
+if(MSVC)
+ set_target_properties(fltk_images_SHARED
+ PROPERTIES
+ OUTPUT_NAME fltkimagesdll
+ DEBUG_OUTPUT_NAME fltkimagesdlld
+ COMPILE_DEFINITIONS "FL_DLL;FL_LIBRARY"
+ )
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_images_SHARED PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif(OPTION_LARGE_FILE)
+else()
+ set_target_properties(fltk_images_SHARED PROPERTIES OUTPUT_NAME fltk_images)
+endif(MSVC)
+
+#######################################################################
+install(TARGETS fltk_SHARED fltk_forms_SHARED fltk_images_SHARED
+ EXPORT fltk-install
+ DESTINATION ${PREFIX_LIB}
+)
+
+#######################################################################
+if(OPENGL_FOUND)
+ add_library(fltk_gl_SHARED SHARED ${GLCPPFILES})
+ target_link_libraries(fltk_gl_SHARED fltk ${OPENGL_LIBRARIES})
+ set_target_properties(fltk_gl_SHARED
+ PROPERTIES CLEAN_DIRECT_OUTPUT 1
+ VERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
+ SOVERSION ${FLTK_VERSION_PATCH}
+ )
+ if(MSVC)
+ set_target_properties(fltk_gl_SHARED
+ PROPERTIES
+ OUTPUT_NAME fltkgldll
+ DEBUG_OUTPUT_NAME fltkgldlld
+ COMPILE_DEFINITIONS "FL_DLL;FL_LIBRARY"
+ )
+ if(OPTION_LARGE_FILE)
+ set_target_properties(fltk_gl_SHARED PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE)
+ endif(OPTION_LARGE_FILE)
+ else()
+ set_target_properties(fltk_gl_SHARED PROPERTIES OUTPUT_NAME fltk_gl)
+ endif(MSVC)
+
+ install(TARGETS fltk_gl_SHARED
+ EXPORT fltk-install
+ DESTINATION ${PREFIX_LIB}
+ )
+endif(OPENGL_FOUND)
+endif(OPTION_BUILD_SHARED_LIBS)