11cmake_minimum_required (VERSION 3.28 )
22
3- set_property (GLOBAL PROPERTY USE_FOLDERS ON )
4-
53project (FreeImageRe)
64
75set (FREEIMAGERE_MAJOR_VERSION "0" )
86set (FREEIMAGERE_MINOR_VERSION "6" )
97
10- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
11- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
12- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
8+ if (PROJECT_IS_TOP_LEVEL)
9+ set_property (GLOBAL PROPERTY USE_FOLDERS ON )
10+
11+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
12+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
13+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
14+
15+ set (CMAKE_INSTALL_DOCDIR doc)
16+ endif ()
1317
14- set (CMAKE_INSTALL_DOCDIR doc)
1518
1619set (CMAKE_POLICY_DEFAULT_CMP0077 "NEW" )
1720cmake_policy (SET CMP0079 NEW ) # -> target_link_libraries() allows use with targets in other directories.
@@ -25,62 +28,62 @@ set(CMAKE_CXX_STANDARD 17)
2528set (CMAKE_CXX_STANDARD_REQUIRED ON )
2629
2730# External dependencies
28- include (${CMAKE_SOURCE_DIR } /cmake/dependency.zlib.cmake )
29- include (${CMAKE_SOURCE_DIR } /cmake/dependency.yato.cmake )
31+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.zlib.cmake )
32+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.yato.cmake )
3033
3134option (FREEIMAGE_WITH_LIBJPEG "Compile with the LibJPEG backend" ON )
3235if (FREEIMAGE_WITH_LIBJPEG)
33- include (${CMAKE_SOURCE_DIR } /cmake/dependency.jpeg.cmake )
36+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.jpeg.cmake )
3437endif ()
3538
3639option (FREEIMAGE_WITH_LIBOPENJPEG "Compile with the LibOpenJPEG backend" ON )
3740if (FREEIMAGE_WITH_LIBOPENJPEG)
38- include (${CMAKE_SOURCE_DIR } /cmake/dependency.openjpeg.cmake )
41+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.openjpeg.cmake )
3942endif ()
4043
4144option (FREEIMAGE_WITH_LIBOPENEXR "Compile with the LibOpenEXR backend" ON )
4245if (FREEIMAGE_WITH_LIBOPENEXR)
43- include (${CMAKE_SOURCE_DIR } /cmake/dependency.openexr.cmake )
46+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.openexr.cmake )
4447endif ()
4548
4649option (FREEIMAGE_WITH_LIBPNG "Compile with the LibPNG backend" ON )
4750if (FREEIMAGE_WITH_LIBPNG)
48- include (${CMAKE_SOURCE_DIR } /cmake/dependency.png.cmake )
51+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.png.cmake )
4952endif ()
5053
5154option (FREEIMAGE_WITH_LIBTIFF "Compile with the LibTIFF backend" ON )
5255if (FREEIMAGE_WITH_LIBTIFF)
53- include (${CMAKE_SOURCE_DIR } /cmake/dependency.tiff.cmake )
56+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.tiff.cmake )
5457endif ()
5558
5659option (FREEIMAGE_WITH_LIBWEBP "Compile with the LibWEBP backend" ON )
5760if (FREEIMAGE_WITH_LIBWEBP)
58- include (${CMAKE_SOURCE_DIR } /cmake/dependency.webp.cmake )
61+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.webp.cmake )
5962endif ()
6063
6164option (FREEIMAGE_WITH_LIBRAW "Compile with the LibRAW backend" ON )
6265if (FREEIMAGE_WITH_LIBRAW)
63- include (${CMAKE_SOURCE_DIR } /cmake/dependency.raw.cmake )
66+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.raw.cmake )
6467endif ()
6568
6669option (FREEIMAGE_WITH_LIBHEIF "Compile with the LibHEIF backend" ON )
6770if (FREEIMAGE_WITH_LIBHEIF)
68- include (${CMAKE_SOURCE_DIR } /cmake/dependency.heif.cmake )
71+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.heif.cmake )
6972endif ()
7073
7174option (FREEIMAGE_WITH_PYTHON_BINDINGS "Build pythin bindings" OFF )
7275if (FREEIMAGE_WITH_PYTHON_BINDINGS)
7376 find_package (Python3 COMPONENTS Development REQUIRED )
74- include (${CMAKE_SOURCE_DIR } /cmake/dependency.pybind.cmake )
77+ include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/dependency.pybind.cmake )
7578endif ()
7679
7780# Internal dependencies
7881option (FREEIMAGE_WITH_LIBJXR "Compile with the LibJXR backend" ON )
7982if (FREEIMAGE_WITH_LIBJXR)
80- add_subdirectory (${CMAKE_SOURCE_DIR } /3rdParty/LibJXR ${CMAKE_BINARY_DIR} /LibJXR )
83+ add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR } /3rdParty/LibJXR ${CMAKE_BINARY_DIR} /LibJXR )
8184endif ()
8285
83- set (FREEIMAGE_INCLUDE_DIR ${CMAKE_SOURCE_DIR } /Source)
86+ set (FREEIMAGE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR } /Source)
8487
8588add_definitions ("-DFREEIMAGERE_MAJOR_VERSION=${FREEIMAGERE_MAJOR_VERSION} " )
8689add_definitions ("-DFREEIMAGERE_MINOR_VERSION=${FREEIMAGERE_MINOR_VERSION} " )
0 commit comments