From 697a2c0018e3c25f1af8ae9fd2ead350ee7b88b4 Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Sun, 25 Apr 2021 21:02:39 -0400 Subject: [PATCH] cmake: Only config Boost during find_package Without the CONFIG option, find_package will perform Module search. On at least Linux Mint 20 (I'm unable to reproduce this on CentOS and Arch Linux), my guess is that this causes CMake to find "dirty" modules that modify the configuration state despite the Boost version being too low/absent. Use CONFIG to put CMake into pure Config mode and avoid Module search. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 15ecb8a9c..73274c2e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,7 +202,7 @@ macro(yuzu_find_packages) endmacro() if (NOT YUZU_USE_BUNDLED_BOOST) - find_package(Boost 1.73.0 COMPONENTS context headers QUIET) + find_package(Boost 1.73.0 CONFIG COMPONENTS context headers QUIET) endif() if (Boost_FOUND) set(Boost_LIBRARIES Boost::boost) @@ -224,7 +224,7 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR YUZU_USE_BUNDLED_BOOST) download_bundled_external("boost/" ${Boost_EXT_NAME} "") set(Boost_USE_DEBUG_RUNTIME FALSE) set(Boost_USE_STATIC_LIBS ON) - find_package(Boost 1.75.0 REQUIRED COMPONENTS context headers PATHS ${Boost_PATH} NO_DEFAULT_PATH) + find_package(Boost 1.75.0 CONFIG REQUIRED COMPONENTS context headers PATHS ${Boost_PATH} NO_DEFAULT_PATH) # Manually set the include dirs since the find_package sets it incorrectly set(Boost_INCLUDE_DIRS ${Boost_PATH}/include CACHE PATH "Path to Boost headers" FORCE) include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")