[CMake] Simplify CMake build files, remove redundancies.
Remove src/fl_call_main.c from non-Windows (static) libraries. It would be an empty object file anyway. Use CMake variables to set up used files and linked libraries to remove redundancies. All files and libs are used only in the definition of CMake variables and used later in static and shared builds, resp. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11444 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
448e02574b
commit
12d5c63bb8
@ -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
|
||||
|
||||
@ -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)
|
||||
#######################################################################
|
||||
|
||||
Loading…
Reference in New Issue
Block a user