From b57681dc3431f44ad4a27a6a38fb68a5c6ca097f Mon Sep 17 00:00:00 2001 From: Harald Fernengel <59298-harry1701@users.noreply.gitlab.kitware.com> Date: Fri, 12 Aug 2022 20:43:49 +0200 Subject: FetchContent: Fix protobuf example to avoid CMP0077 warning The protobuf example would raise a "Policy CMP0077" warning and protobuf tests would still be built, e.g. setting the variable is ignored in latest CMake. Set an INTERNAL cache variable instead so that CMP0077 warnings won't be triggered. --- Modules/FetchContent.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Modules/FetchContent.cmake b/Modules/FetchContent.cmake index d016fb5..9747cd9 100644 --- a/Modules/FetchContent.cmake +++ b/Modules/FetchContent.cmake @@ -881,9 +881,10 @@ Overriding Where To Find CMakeLists.txt If the sub-project's ``CMakeLists.txt`` file is not at the top level of its source tree, the ``SOURCE_SUBDIR`` option can be used to tell ``FetchContent`` -where to find it. The following example shows how to use that option and +where to find it. The following example shows how to use that option, and it also sets a variable which is meaningful to the subproject before pulling -it into the main build: +it into the main build (set as an ``INTERNAL`` cache variable to avoid +problems with policy :policy:`CMP0077`): .. code-block:: cmake @@ -894,7 +895,7 @@ it into the main build: GIT_TAG ae50d9b9902526efd6c7a1907d09739f959c6297 # v3.15.0 SOURCE_SUBDIR cmake ) - set(protobuf_BUILD_TESTS OFF) + set(protobuf_BUILD_TESTS OFF CACHE INTERNAL "") FetchContent_MakeAvailable(protobuf) Complex Dependency Hierarchies -- cgit v0.12