diff --git a/CMakeLists.txt b/CMakeLists.txt index 3caa4114..2bd4bc31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,22 +1,34 @@ cmake_minimum_required(VERSION 3.12) project(cppitertools VERSION 2.0) -set(CMAKE_CXX_STANDARD 17) +if(NOT DEFINED ENV{cppitertools_INSTALL_CMAKE_DIR}) + message(WARNING [[ +The default value of cppitertools_INSTALL_CMAKE_DIR changed recently, from + "share/cppitertools/cmake" +to + "share" +in order to behave better with existing CMake practice. + +In order to get the previous behavior, pass + -Dcppitertools_INSTALL_CMAKE_DIR=share/cppitertools/cmake +to the CMake invocation; in order to get the new behavior without the warning, +pass + -Dcppitertools_INSTALL_CMAKE_DIR=share +explicitly. +]]) +endif() # installation directories set(cppitertools_INSTALL_INCLUDE_DIR "include" CACHE STRING "The installation include directory") -set(cppitertools_INSTALL_CMAKE_DIR "share/cppitertools/cmake" CACHE STRING "The installation cmake directory") - +set(cppitertools_INSTALL_CMAKE_DIR "share" CACHE STRING "The installation cmake directory") # define a header-only library add_library(cppitertools INTERFACE) add_library(cppitertools::cppitertools ALIAS cppitertools) target_include_directories(cppitertools INTERFACE - $ - $ - ) - + $ + $) # require C++17 target_compile_features(cppitertools INTERFACE cxx_std_17) @@ -29,13 +41,19 @@ include(CMakePackageConfigHelpers) write_basic_package_version_file(cppitertools-config-version.cmake COMPATIBILITY SameMajorVersion) # install and export target -install(TARGETS cppitertools EXPORT cppitertools-targets) - -install(EXPORT cppitertools-targets - FILE cppitertools-config.cmake - NAMESPACE cppitertools:: - DESTINATION ${cppitertools_INSTALL_CMAKE_DIR}/cppitertools - ) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cppitertools-config-version.cmake DESTINATION ${cppitertools_INSTALL_CMAKE_DIR}) -install(DIRECTORY . DESTINATION ${cppitertools_INSTALL_INCLUDE_DIR}/cppitertools) +install( + TARGETS cppitertools + EXPORT cppitertools-targets) + +install( + DIRECTORY . + DESTINATION ${cppitertools_INSTALL_INCLUDE_DIR}/cppitertools) + +install( + EXPORT cppitertools-targets + FILE cppitertools-config.cmake + NAMESPACE cppitertools:: + DESTINATION ${cppitertools_INSTALL_CMAKE_DIR}/cppitertools) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/cppitertools-config-version.cmake + DESTINATION ${cppitertools_INSTALL_CMAKE_DIR}/cppitertools)