From 7b5d3e01c052fabf379db2509598a30224ba8a2b Mon Sep 17 00:00:00 2001 From: Vitaly Zaitsev Date: Tue, 4 Feb 2020 09:02:19 +0100 Subject: [PATCH] Find and use packaged version of expected header-only library. Enabled by default when `DESKTOP_APP_USE_PACKAGED` is used. Can be overriden by `-DDESKTOP_APP_USE_PACKAGED_EXPECTED:BOOL=OFF`. Signed-off-by: Vitaly Zaitsev --- external/expected/CMakeLists.txt | 13 +++++++++---- external/variant/CMakeLists.txt | 15 +++++++++++---- variables.cmake | 2 ++ 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/external/expected/CMakeLists.txt b/external/expected/CMakeLists.txt index 53ec233..e44617a 100644 --- a/external/expected/CMakeLists.txt +++ b/external/expected/CMakeLists.txt @@ -7,7 +7,12 @@ add_library(external_expected INTERFACE IMPORTED GLOBAL) add_library(desktop-app::external_expected ALIAS external_expected) -target_include_directories(external_expected SYSTEM -INTERFACE - ${third_party_loc}/expected/include -) +if (DESKTOP_APP_USE_PACKAGED_EXPECTED) + find_package(tl-expected CONFIG REQUIRED) + target_link_libraries(external_expected INTERFACE tl::expected) +else() + target_include_directories(external_expected SYSTEM + INTERFACE + ${third_party_loc}/expected/include + ) +endif() diff --git a/external/variant/CMakeLists.txt b/external/variant/CMakeLists.txt index 5b5beef..a198f90 100644 --- a/external/variant/CMakeLists.txt +++ b/external/variant/CMakeLists.txt @@ -7,7 +7,14 @@ add_library(external_variant INTERFACE IMPORTED GLOBAL) add_library(desktop-app::external_variant ALIAS external_variant) -target_include_directories(external_variant SYSTEM -INTERFACE - ${third_party_loc}/variant/include -) +if (DESKTOP_APP_USE_PACKAGED_VARIANT) + find_path(VARIANT_INCLUDE_DIRS mapbox/variant.hpp) + if (NOT VARIANT_INCLUDE_DIRS) + message(FATAL_ERROR "Packaged version of mapbox-variant library not found!") + endif() +else() + target_include_directories(external_variant SYSTEM + INTERFACE + ${third_party_loc}/variant/include + ) +endif() diff --git a/variables.cmake b/variables.cmake index 9d3b075..c288f51 100644 --- a/variables.cmake +++ b/variables.cmake @@ -23,6 +23,8 @@ endif() option(DESKTOP_APP_DISABLE_CRASH_REPORTS "Disable crash report generation." ${DESKTOP_APP_USE_PACKAGED}) option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED}) +option(DESKTOP_APP_USE_PACKAGED_EXPECTED "Find expected using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED}) +option(DESKTOP_APP_USE_PACKAGED_VARIANT "Find mapbox-variant using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED}) option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled one." ${DESKTOP_APP_USE_PACKAGED}) option(DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS "Enable IPO build optimizations." OFF)