Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions builtins/freetype/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,15 @@ ExternalProject_Add(
TIMEOUT 600
)

add_library(Freetype::Freetype IMPORTED STATIC GLOBAL)

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(FREETYPE_INCLUDE_DIRS ${FREETYPE_PREFIX}/include/freetype2 PARENT_SCOPE)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY} PARENT_SCOPE)
set(FREETYPE_FOUND TRUE PARENT_SCOPE)
set(Freetype_FOUND TRUE PARENT_SCOPE)
set(Freetype_VERSION ${FREETYPE_VERSION} PARENT_SCOPE)

if(builtin_zlib)
add_dependencies(BUILTIN_FREETYPE BUILTIN_ZLIB)
endif()
endif()
8 changes: 8 additions & 0 deletions builtins/libgif/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ ExternalProject_Add(
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
-DCMAKE_C_VISIBILITY_PRESET=hidden
BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_LIBGIF_BUILD_COMMAND_FLAGS}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_LIBGIF_BUILD_COMMAND_FLAGS} --target install
LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
Expand All @@ -48,3 +49,10 @@ set_target_properties(GIF::GIF PROPERTIES
IMPORTED_LOCATION ${ROOT_LIBGIF_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${ROOT_LIBGIF_PREFIX}/include
)

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(GIF_INCLUDE_DIRS ${ROOT_LIBGIF_PREFIX}/include PARENT_SCOPE)
set(GIF_LIBRARIES ${ROOT_LIBGIF_LIBRARY} PARENT_SCOPE)
set(GIF_FOUND TRUE PARENT_SCOPE)
set(GIF_VERSION ${ROOT_LIBGIF_VERSION} PARENT_SCOPE)
8 changes: 8 additions & 0 deletions builtins/libjpeg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ ExternalProject_Add(
-DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
-DCMAKE_C_VISIBILITY_PRESET=hidden
-DENABLE_SHARED=OFF
-DWITH_TURBOJPEG=OFF
-DWITH_SIMD=OFF
Expand All @@ -56,3 +57,10 @@ set_target_properties(JPEG::JPEG PROPERTIES
IMPORTED_LOCATION ${ROOT_LIBJPEG_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${ROOT_LIBJPEG_PREFIX}/include
)

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(JPEG_INCLUDE_DIRS ${${ROOT_LIBJPEG_PREFIX}/include} PARENT_SCOPE)
set(JPEG_LIBRARIES ${ROOT_LIBJPEG_LIBRARY} PARENT_SCOPE)
set(JPEG_FOUND TRUE PARENT_SCOPE)
set(JPEG_VERSION ${ROOT_LIBJPEG_VERSION} PARENT_SCOPE)
8 changes: 8 additions & 0 deletions builtins/libpng/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ ExternalProject_Add(
-DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
-DCMAKE_C_VISIBILITY_PRESET=hidden
-DPNG_SHARED=OFF
-DPNG_STATIC=ON
-DZLIB_LIBRARY=${ZLIB_LIBRARIES}
Expand All @@ -73,3 +74,10 @@ set_target_properties(PNG::PNG PROPERTIES
if(builtin_zlib)
add_dependencies(BUILTIN_LIBPNG BUILTIN_ZLIB)
endif()

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(PNG_INCLUDE_DIRS ${ROOT_LIBPNG_PREFIX}/include PARENT_SCOPE)
set(PNG_LIBRARIES ${ROOT_LIBPNG_LIBRARY} PARENT_SCOPE)
set(PNG_FOUND TRUE PARENT_SCOPE)
set(PNG_VERSION ${ROOT_LIBPNG_VERSION} PARENT_SCOPE)
8 changes: 8 additions & 0 deletions builtins/lz4/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ ExternalProject_Add(
PREFIX ${ROOT_LZ4_PREFIX}
SOURCE_SUBDIR "build/cmake"
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
Expand All @@ -57,3 +58,10 @@ add_library(LibLZ4 STATIC IMPORTED GLOBAL)
add_library(LZ4::LZ4 ALIAS LibLZ4)
target_include_directories(LibLZ4 INTERFACE ${LIBLZ4_INCLUDE_DIR})
set_target_properties(LibLZ4 PROPERTIES IMPORTED_LOCATION ${ROOT_LZ4_LIBRARY})

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(LZ4_INCLUDE_DIRS ${LIBLZ4_INCLUDE_DIR} PARENT_SCOPE)
set(LZ4_LIBRARIES ${ROOT_LZ4_LIBRARY} PARENT_SCOPE)
set(LZ4_FOUND TRUE PARENT_SCOPE)
set(LZ4_VERSION ${ROOT_LZ4_VERSION} PARENT_SCOPE)
9 changes: 9 additions & 0 deletions builtins/lzma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,12 @@ ExternalProject_Add(
URL_HASH SHA256=${ROOT_LZMA_HASH}
PREFIX ${ROOT_LZMA_PREFIX}
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
-DCMAKE_C_VISIBILITY_PRESET=hidden
-DBUILD_SHARED_LIBS=OFF
-DENABLE_SCRIPTS=OFF
-DXZ_TOOL=OFF
Expand All @@ -64,3 +66,10 @@ add_library(LibLZMA STATIC IMPORTED GLOBAL)
add_library(LibLZMA::LibLZMA ALIAS LibLZMA)
target_include_directories(LibLZMA INTERFACE ${LIBLZMA_INCLUDE_DIR})
set_target_properties(LibLZMA PROPERTIES IMPORTED_LOCATION ${LIBLZMA_LIBRARIES})

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(LIBLZMA_INCLUDE_DIRS ${LibLZMA_INCLUDE_DIR} PARENT_SCOPE)
set(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARIES} PARENT_SCOPE)
set(LibLZMA_FOUND TRUE PARENT_SCOPE)
set(LibLZMA_VERSION ${ROOT_LZMA_VERSION} PARENT_SCOPE)
3 changes: 2 additions & 1 deletion builtins/zlib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,5 @@ add_dependencies(ZLIB BUILTIN_ZLIB)
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR} PARENT_SCOPE)
set(ZLIB_LIBRARIES ${ROOT_ZLIB_LIBRARY} PARENT_SCOPE)
set(ZLIB_FOUND TRUE PARENT_SCOPE)
set(ZLIB_FOUND TRUE PARENT_SCOPE)
set(ZLIB_VERSION ${ROOT_ZLIB_VERSION} PARENT_SCOPE)
7 changes: 7 additions & 0 deletions builtins/zstd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,10 @@ set_target_properties(ZSTD::ZSTD PROPERTIES
IMPORTED_LOCATION ${ROOT_ZSTD_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR}
)

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR} PARENT_SCOPE)
set(ZSTD_LIBRARIES ${ROOT_ZSTD_LIBRARY} PARENT_SCOPE)
set(ZSTD_FOUND TRUE PARENT_SCOPE)
set(ZSTD_VERSION ${ROOT_ZSTD_VERSION} PARENT_SCOPE)
17 changes: 15 additions & 2 deletions cmake/modules/SearchInstalledSoftware.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,19 @@ foreach(suffix FOUND INCLUDE_DIR LIBRARY LIBRARY_DEBUG LIBRARY_RELEASE LIBRARIES
unset(ZSTD_${suffix} CACHE)
endforeach()

ROOT_FIND_REQUIRED_DEP(ZLIB builtin_zlib)
# Request explicit user opt-in for required dependencies
ROOT_FIND_REQUIRED_DEP(Freetype builtin_freetype)
ROOT_FIND_REQUIRED_DEP(GIF builtin_gif)
ROOT_FIND_REQUIRED_DEP(JPEG builtin_jpeg)
ROOT_FIND_REQUIRED_DEP(LZ4 builtin_lz4)
ROOT_FIND_REQUIRED_DEP(LibLZMA builtin_lzma)
# We cannot PNG here because while searching PNG, CMake will also find ZLIB.
# If found, CMake will define the default variables and target:
# see https://cmake.org/cmake/help/latest/module/FindZLIB.html).
# For this reason, the check has to be put below, after ZLIB is searched for.
#ROOT_FIND_REQUIRED_DEP(PNG builtin_png)
ROOT_FIND_REQUIRED_DEP(ZLIB builtin_zlib)
ROOT_FIND_REQUIRED_DEP(ZSTD builtin_zstd)
ROOT_FIND_REQUIRED_DEP(LZ4 builtin_lz4)

if(NOT "${MISSING_PACKAGES}" STREQUAL "")
message(FATAL_ERROR "The following packages need to be installed or enabled to build ROOT: ${MISSING_PACKAGES}")
Expand Down Expand Up @@ -161,6 +170,10 @@ else()
message(STATUS "Zlib detected")
endif()

# This check can be added only now because of the reasons explained above, where all
# other required dependencies are checked.
ROOT_FIND_REQUIRED_DEP(PNG builtin_png)

#---Check for nlohmann/json.hpp---------------------------------------------------------
if(NOT builtin_nlohmannjson)
message(STATUS "Looking for nlohmann/json.hpp")
Expand Down
Loading