diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt index 5dc5364c4..3320c1ccd 100644 --- a/fluid/CMakeLists.txt +++ b/fluid/CMakeLists.txt @@ -48,11 +48,13 @@ endif(APPLE AND NOT OPTION_APPLE_X11) target_link_libraries(fluid fltk fltk_images fltk_forms) -# create bundle for Mac OS X +# install fluid if(APPLE AND NOT OPTION_APPLE_X11) + # create bundle set_target_properties(fluid PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME}) set_target_properties(fluid PROPERTIES RESOURCE ${ICON_PATH}) + # install install(TARGETS fluid DESTINATION ${FLTK_BINDIR}) else() install(TARGETS fluid @@ -63,6 +65,8 @@ else() ) endif(APPLE AND NOT OPTION_APPLE_X11) +# install desktop files + if(UNIX) install(FILES fluid.desktop DESTINATION ${FLTK_DATADIR}/applications diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ec397bc5c..7bdb46d67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -197,8 +197,7 @@ set(CFILES fl_utf.c ) -add_definitions(-DFL_LIBRARY) -if(APPLE AND NOT OPTION_APPLE_X11) +if (APPLE AND NOT OPTION_APPLE_X11) set(MMFILES Fl_cocoa.mm Fl_Quartz_Printer.mm @@ -208,178 +207,156 @@ if(APPLE AND NOT OPTION_APPLE_X11) else() set(MMFILES ) -endif(APPLE AND NOT OPTION_APPLE_X11) +endif (APPLE AND NOT OPTION_APPLE_X11) ####################################################################### -FL_ADD_LIBRARY(fltk STATIC "${CPPFILES};${MMFILES};${CFILES};fl_call_main.c") -if(LIB_dl) - target_link_libraries(fltk ${LIB_dl}) -endif(LIB_dl) +# prepare source files for shared and static FLTK libraries -if(USE_THREADS) - target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT}) -endif(USE_THREADS) +set (SHARED_FILES ${CPPFILES} ${MMFILES} ${CFILES}) -if(USE_X11) - target_link_libraries(fltk ${X11_LIBRARIES}) -endif(USE_X11) +set (STATIC_FILES ${SHARED_FILES}) -if(WIN32) - target_link_libraries(fltk comctl32) -endif(WIN32) +if (WIN32) + list(APPEND STATIC_FILES fl_call_main.c) +endif (WIN32) -if(FLTK_HAVE_CAIRO) - target_link_libraries(fltk fltk_cairo ${PKG_CAIRO_LIBRARIES}) -ENDif(FLTK_HAVE_CAIRO) +add_definitions(-DFL_LIBRARY) -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) +# prepare optional libs for shared and static FLTK libraries -if(HAVE_XCURSOR) - target_link_libraries(fltk ${X11_Xcursor_LIB}) -endif(HAVE_XCURSOR) +set (OPTIONAL_LIBS) + +if (LIB_dl) + list(APPEND OPTIONAL_LIBS ${LIB_dl}) +endif (LIB_dl) + +if (USE_THREADS) + list(APPEND OPTIONAL_LIBS ${CMAKE_THREAD_LIBS_INIT}) +endif (USE_THREADS) + +if (USE_X11) + list(APPEND OPTIONAL_LIBS ${X11_LIBRARIES}) +endif (USE_X11) + +if (WIN32) + list(APPEND OPTIONAL_LIBS comctl32) +endif (WIN32) + +if (FLTK_HAVE_CAIRO) + list(APPEND OPTIONAL_LIBS fltk_cairo ${PKG_CAIRO_LIBRARIES}) +ENDif (FLTK_HAVE_CAIRO) + +if (HAVE_XINERAMA) + list(APPEND OPTIONAL_LIBS ${X11_Xinerama_LIB}) +endif (HAVE_XINERAMA) + +if (HAVE_XFIXES) + list(APPEND OPTIONAL_LIBS ${X11_Xfixes_LIB}) +endif (HAVE_XFIXES) + +if (HAVE_XCURSOR) + list(APPEND OPTIONAL_LIBS ${X11_Xcursor_LIB}) +endif (HAVE_XCURSOR) if (HAVE_XRENDER) - target_link_libraries(fltk ${X11_Xrender_LIB}) + list(APPEND OPTIONAL_LIBS ${X11_Xrender_LIB}) endif (HAVE_XRENDER) -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) - +if (USE_XFT) + list(APPEND OPTIONAL_LIBS ${X11_Xft_LIB}) + if (LIB_fontconfig) + list(APPEND OPTIONAL_LIBS ${LIB_fontconfig}) + endif (LIB_fontconfig) +endif (USE_XFT) ####################################################################### + +FL_ADD_LIBRARY(fltk STATIC "${STATIC_FILES}") +target_link_libraries(fltk ${OPTIONAL_LIBS}) + +####################################################################### + 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) +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) +endif (OPTION_USE_SYSTEM_LIBJPEG) -if(OPTION_USE_SYSTEM_ZLIB) +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) +endif (OPTION_USE_SYSTEM_ZLIB) -if(OPTION_USE_SYSTEM_LIBPNG) +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) +endif (OPTION_USE_SYSTEM_LIBPNG) ####################################################################### -if(OPENGL_FOUND) + +if (OPENGL_FOUND) FL_ADD_LIBRARY(fltk_gl STATIC "${GLCPPFILES}") target_link_libraries(fltk_gl fltk ${OPENGL_LIBRARIES}) -endif(OPENGL_FOUND) +endif (OPENGL_FOUND) ####################################################################### +# Build shared libraries (optional) ####################################################################### -if(OPTION_BUILD_SHARED_LIBS) + +if (OPTION_BUILD_SHARED_LIBS) + + FL_ADD_LIBRARY(fltk SHARED "${SHARED_FILES}") + target_link_libraries(fltk_SHARED ${OPTIONAL_LIBS}) + + ################################################################### + + FL_ADD_LIBRARY(fltk_forms SHARED "${FLCPPFILES}") + target_link_libraries(fltk_forms_SHARED fltk_SHARED) + + ################################################################### + + 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_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 (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 (OPENGL_FOUND) + FL_ADD_LIBRARY(fltk_gl SHARED "${GLCPPFILES}") + target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) + endif (OPENGL_FOUND) + +endif (OPTION_BUILD_SHARED_LIBS) ####################################################################### -FL_ADD_LIBRARY(fltk SHARED "${CPPFILES};${MMFILES};${CFILES}") - -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 (HAVE_XRENDER) - target_link_libraries(fltk_SHARED ${X11_Xrender_LIB}) -endif (HAVE_XRENDER) - -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}") - target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) -endif(OPENGL_FOUND) - -####################################################################### -endif(OPTION_BUILD_SHARED_LIBS) -#######################################################################