From e577f43ab25e7edd98bd4cab8c2ffe042d4185a0 Mon Sep 17 00:00:00 2001 From: Timofey Pushkin Date: Tue, 7 Mar 2023 14:39:45 +0000 Subject: [PATCH] Set CMAKE_* cache variables only when Eigen is a top-level project --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 013d53346..598e1dc8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,9 +26,11 @@ if(CMAKE_VERSION VERSION_LESS 3.21.0) endif() endif() -set(CMAKE_CXX_STANDARD 14 CACHE STRING "Default C++ standard") -set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "Require C++ standard") -set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Allow C++ extensions") +if(PROJECT_IS_TOP_LEVEL) + set(CMAKE_CXX_STANDARD 14 CACHE STRING "Default C++ standard") + set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "Require C++ standard") + set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Allow C++ extensions") +endif() # guard against in-source builds