From f8146275085e43af6dc082eefb7a4fab5a54fb5d Mon Sep 17 00:00:00 2001 From: Jason Beach Date: Thu, 15 Jul 2021 14:16:45 -0400 Subject: [PATCH 1/3] give YAML_CPP_INSTALL a default value that can be overridden --- CMakeLists.txt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b230b9e6d..8b43a80aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,16 +17,22 @@ include(CTest) find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format) +if (NOT DEFINED YAML_CPP_MASTER_PROJECT) + set(YAML_CPP_MASTER_PROJECT OFF) + if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(YAML_CPP_MASTER_PROJECT ON) + message(STATUS "Configuring YAML-CPP as master project. CMake version: ${CMAKE_VERSION}") + endif () +endif () + option(YAML_CPP_BUILD_CONTRIB "Enable yaml-cpp contrib in library" ON) option(YAML_CPP_BUILD_TOOLS "Enable parse tools" ON) option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ${BUILD_SHARED_LIBS}) +option(YAML_CPP_INSTALL "Enable generation of yaml-cpp install targets" ${YAML_CPP_MASTER_PROJECT}) cmake_dependent_option(YAML_CPP_BUILD_TESTS "Enable yaml-cpp tests" ON - "BUILD_TESTING;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) -cmake_dependent_option(YAML_CPP_INSTALL - "Enable generation of yaml-cpp install targets" ON - "CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) + "BUILD_TESTING;YAML_CPP_MASTER_PROJECT" OFF) cmake_dependent_option(YAML_MSVC_SHARED_RT "MSVC: Build yaml-cpp with shared runtime libs (/MD)" ON "MSVC" OFF) From 95265de0cd75d880e99a8c3635c002fe559a1f25 Mon Sep 17 00:00:00 2001 From: Jason Beach Date: Thu, 15 Jul 2021 14:58:30 -0400 Subject: [PATCH 2/3] fix g++ warning about returning a reference --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b43a80aa..4c613cda2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,8 @@ endif() target_compile_options(yaml-cpp PRIVATE - $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long> + $<${not-msvc}:-Wall -Wextra -Wshadow -Wno-long-long> + $<$:-Weffc++> $<${not-msvc}:-pedantic -pedantic-errors> $<$:-MTd> From dec18b8d7f25bed77dd3bee44d9c3874437ae7a7 Mon Sep 17 00:00:00 2001 From: Jason Beach Date: Wed, 21 Jul 2021 13:12:08 -0400 Subject: [PATCH 3/3] removing -Weffc++ fix --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c613cda2..8b43a80aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,8 +99,7 @@ endif() target_compile_options(yaml-cpp PRIVATE - $<${not-msvc}:-Wall -Wextra -Wshadow -Wno-long-long> - $<$:-Weffc++> + $<${not-msvc}:-Wall -Wextra -Wshadow -Weffc++ -Wno-long-long> $<${not-msvc}:-pedantic -pedantic-errors> $<$:-MTd>