diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2021-04-30 19:47:47 +0200 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2021-04-30 19:47:47 +0200 |
| commit | a484541d4b6203d538f1a65db5a95e98f5bde920 (patch) | |
| tree | e2b33bd7f0da7e60d60cfd7fa5beeb55f40e3f50 /CMake | |
| parent | 2555e3b37e6218378e7becbb2b62ab6e7f1c1cd1 (diff) | |
CMake: improve detection and configuration of image libs
Also: fix old (pre 3.13) link_directories() usage
Diffstat (limited to 'CMake')
| -rw-r--r-- | CMake/fl_create_example.cmake | 4 | ||||
| -rw-r--r-- | CMake/options.cmake | 84 |
2 files changed, 49 insertions, 39 deletions
diff --git a/CMake/fl_create_example.cmake b/CMake/fl_create_example.cmake index a245bb5ea..8071b5070 100644 --- a/CMake/fl_create_example.cmake +++ b/CMake/fl_create_example.cmake @@ -117,9 +117,9 @@ macro (CREATE_EXAMPLE NAME SOURCES LIBRARIES) if (FLTK_HAVE_CAIRO) if (CMAKE_VERSION VERSION_LESS "3.13") - link_directories (${TARGET_NAME} PUBLIC ${PKG_CAIRO_LIBRARY_DIRS}) + link_directories (${PKG_CAIRO_LIBRARY_DIRS}) else() - target_link_directories (${TARGET_NAME} PUBLIC ${PKG_CAIRO_LIBRARY_DIRS}) + target_link_directories (${TARGET_NAME} PRIVATE ${PKG_CAIRO_LIBRARY_DIRS}) endif() endif (FLTK_HAVE_CAIRO) diff --git a/CMake/options.cmake b/CMake/options.cmake index 008088a45..cf50da6b8 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -168,11 +168,16 @@ if (OPTION_CAIRO OR OPTION_CAIROEXT) endif (OPTION_CAIROEXT) add_subdirectory (cairo) - # fl_debug_var (PKG_CAIRO_INCLUDE_DIRS) - # fl_debug_var (PKG_CAIRO_CFLAGS) - # fl_debug_var (PKG_CAIRO_STATIC_CFLAGS) - # fl_debug_var (PKG_CAIRO_LIBRARIES) - # fl_debug_var (PKG_CAIRO_STATIC_LIBRARIES) + if (0) + fl_debug_var (PKG_CAIRO_INCLUDE_DIRS) + fl_debug_var (PKG_CAIRO_CFLAGS) + fl_debug_var (PKG_CAIRO_LIBRARIES) + fl_debug_var (PKG_CAIRO_LIBRARY_DIRS) + fl_debug_var (PKG_CAIRO_STATIC_INCLUDE_DIRS) + fl_debug_var (PKG_CAIRO_STATIC_CFLAGS) + fl_debug_var (PKG_CAIRO_STATIC_LIBRARIES) + fl_debug_var (PKG_CAIRO_STATIC_LIBRARY_DIRS) + endif() include_directories (${PKG_CAIRO_INCLUDE_DIRS}) @@ -339,87 +344,92 @@ endif (debug_threads) unset (debug_threads) ####################################################################### -option (OPTION_USE_SYSTEM_ZLIB "use system zlib" ON) +# Image Library Options +####################################################################### + +option (OPTION_USE_SYSTEM_ZLIB "use system zlib" ON) + +if (APPLE) + option (OPTION_USE_SYSTEM_LIBJPEG "use system libjpeg" OFF) + option (OPTION_USE_SYSTEM_LIBPNG "use system libpng" OFF) +else () + option (OPTION_USE_SYSTEM_LIBJPEG "use system libjpeg" ON) + option (OPTION_USE_SYSTEM_LIBPNG "use system libpng" ON) +endif () + +####################################################################### +# Image Library : ZLIB +####################################################################### if (OPTION_USE_SYSTEM_ZLIB) - include (FindZLIB) -endif (OPTION_USE_SYSTEM_ZLIB) + find_package (ZLIB) +endif () -if (ZLIB_FOUND) +if (OPTION_USE_SYSTEM_ZLIB AND ZLIB_FOUND) + set (FLTK_USE_BUILTIN_ZLIB FALSE) set (FLTK_ZLIB_LIBRARIES ${ZLIB_LIBRARIES}) include_directories (${ZLIB_INCLUDE_DIRS}) - set (FLTK_BUILTIN_ZLIB_FOUND FALSE) else() if (OPTION_USE_SYSTEM_ZLIB) message (STATUS "cannot find system zlib library - using built-in\n") - endif (OPTION_USE_SYSTEM_ZLIB) + endif () add_subdirectory (zlib) + set (FLTK_USE_BUILTIN_ZLIB TRUE) set (FLTK_ZLIB_LIBRARIES fltk_z) set (ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/zlib) - set (FLTK_BUILTIN_ZLIB_FOUND TRUE) -endif (ZLIB_FOUND) +endif () set (HAVE_LIBZ 1) ####################################################################### -if (APPLE) - option (OPTION_USE_SYSTEM_LIBJPEG "use system libjpeg" OFF) -else () - option (OPTION_USE_SYSTEM_LIBJPEG "use system libjpeg" ON) -endif (APPLE) if (OPTION_USE_SYSTEM_LIBJPEG) - include (FindJPEG) -endif (OPTION_USE_SYSTEM_LIBJPEG) + find_package (JPEG) +endif () -if (JPEG_FOUND) +if (OPTION_USE_SYSTEM_LIBJPEG AND JPEG_FOUND) + set (FLTK_USE_BUILTIN_JPEG FALSE) set (FLTK_JPEG_LIBRARIES ${JPEG_LIBRARIES}) include_directories (${JPEG_INCLUDE_DIR}) - set (FLTK_BUILTIN_JPEG_FOUND FALSE) else () if (OPTION_USE_SYSTEM_LIBJPEG) message (STATUS "cannot find system jpeg library - using built-in\n") - endif (OPTION_USE_SYSTEM_LIBJPEG) + endif () add_subdirectory (jpeg) + set (FLTK_USE_BUILTIN_JPEG TRUE) set (FLTK_JPEG_LIBRARIES fltk_jpeg) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/jpeg) - set (FLTK_BUILTIN_JPEG_FOUND TRUE) -endif (JPEG_FOUND) +endif () set (HAVE_LIBJPEG 1) ####################################################################### -if (APPLE) - option (OPTION_USE_SYSTEM_LIBPNG "use system libpng" OFF) -else () - option (OPTION_USE_SYSTEM_LIBPNG "use system libpng" ON) -endif (APPLE) if (OPTION_USE_SYSTEM_LIBPNG) - include (FindPNG) -endif (OPTION_USE_SYSTEM_LIBPNG) + find_package (PNG) +endif () -if (PNG_FOUND) +if (OPTION_USE_SYSTEM_LIBPNG AND PNG_FOUND) + set (FLTK_USE_BUILTIN_PNG FALSE) set (FLTK_PNG_LIBRARIES ${PNG_LIBRARIES}) include_directories (${PNG_INCLUDE_DIR}) add_definitions (${PNG_DEFINITIONS}) - set (FLTK_BUILTIN_PNG_FOUND FALSE) else() if (OPTION_USE_SYSTEM_LIBPNG) message (STATUS "cannot find system png library - using built-in\n") - endif (OPTION_USE_SYSTEM_LIBPNG) + endif () add_subdirectory (png) + set (FLTK_USE_BUILTIN_PNG TRUE) set (FLTK_PNG_LIBRARIES fltk_png) set (HAVE_PNG_H 1) set (HAVE_PNG_GET_VALID 1) set (HAVE_PNG_SET_TRNS_TO_ALPHA 1) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/png) - set (FLTK_BUILTIN_PNG_FOUND TRUE) -endif (PNG_FOUND) +endif () set (HAVE_LIBPNG 1) |
