From 6eb127694cf6f92a23909b79ddd28542cec1642d Mon Sep 17 00:00:00 2001 From: Matthias Peschke Date: Mon, 3 Jan 2022 15:31:44 +0100 Subject: [PATCH 1/2] Guard all install commands with if(NOT TERMCOLOR_SUBPROJECT) to get rid of install calls when termcolor is used as a subproject. --- CMakeLists.txt | 51 ++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0bfcd6..196f224 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,9 @@ cmake_minimum_required(VERSION 3.0) + +if(DEFINED PROJECT_NAME) + set(TERMCOLOR_SUBPROJECT ON) +endif() + project(termcolor) # @@ -29,30 +34,32 @@ endif() # install # -include(CMakePackageConfigHelpers) +if(NOT TERMCOLOR_SUBPROJECT) + include(CMakePackageConfigHelpers) -# Installation paths -include(GNUInstallDirs) + # Installation paths + include(GNUInstallDirs) -configure_package_config_file( - cmake/config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + configure_package_config_file( + cmake/config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + install( + DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -install( - DIRECTORY include/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install( + TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -install( - TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-targets - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -install( - EXPORT ${PROJECT_NAME}-targets - NAMESPACE ${PROJECT_NAME}:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + install( + EXPORT ${PROJECT_NAME}-targets + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) +endif() From 8e13acb92dae2e864937ab45303aed675247ba14 Mon Sep 17 00:00:00 2001 From: Matthias Peschke Date: Mon, 3 Oct 2022 10:50:41 +0200 Subject: [PATCH 2/2] Use CMAKE_CURRENT_SOURCE_DIR vs CMAKE_SOURCE_DIR to determine if termcolor is processed as a subproject. --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 196f224..a507446 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,9 @@ cmake_minimum_required(VERSION 3.0) -if(DEFINED PROJECT_NAME) - set(TERMCOLOR_SUBPROJECT ON) +if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(TERMCOLOR_SUBPROJECT OFF) +else() + set(TERMCOLOR_SUBPROJECT OFF) endif() project(termcolor)