From 9ff8533c553b1463094fc43e9318637f18f7d2b5 Mon Sep 17 00:00:00 2001 From: Matt Johnson Date: Fri, 11 Oct 2024 09:22:28 -0400 Subject: [PATCH] CMake: use EXCLUDE_FROM_ALL when declaring Fetch for deflate library Commit af9ef0e made a change in the CMake setup to switch from using FetchContent_Populate() to FetchContent_MakeAvailable() to bring in libdeflate (and Imath) as dependencies. Using FetchContent_MakeAvailable() has the side effect that libdeflate is now being included as part of the build, causing libraries and headers to be built and installed. The intent with fetching the deflate source is solely to copy select files into OpenEXRCore, so this change adds the EXCLUDE_FROM_ALL option to the call to FetchContent_Declare() to prevent deflate from being included in the build. --- cmake/OpenEXRSetup.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/OpenEXRSetup.cmake b/cmake/OpenEXRSetup.cmake index d0d743fea..bb7071b93 100644 --- a/cmake/OpenEXRSetup.cmake +++ b/cmake/OpenEXRSetup.cmake @@ -219,10 +219,13 @@ else() message(STATUS "libdeflate was not found, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") endif() include(FetchContent) + # Fetch deflate but exclude it from the "all" target. + # This prevents the library from being built. FetchContent_Declare(Deflate GIT_REPOSITORY "${OPENEXR_DEFLATE_REPO}" GIT_TAG "${OPENEXR_DEFLATE_TAG}" GIT_SHALLOW ON + EXCLUDE_FROM_ALL ) FetchContent_GetProperties(Deflate)