Merge branch 'feature-91-cmake-option-fix'

This commit is contained in:
Steffen Schuemann 2021-02-07 11:54:45 +01:00
commit c1fcd93c29

View File

@ -1,22 +1,22 @@
cmake_minimum_required(VERSION 3.7.2) cmake_minimum_required(VERSION 3.7.2)
project(ghcfilesystem) project(ghcfilesystem)
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
if(POLICY CMP0110) if(POLICY CMP0110)
cmake_policy(PUSH) cmake_policy(SET CMP0110 NEW)
cmake_policy(SET CMP0110 OLD)
endif() endif()
include(CMakeDependentOption) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
option(GHC_FILESYSTEM_BUILD_TESTING "Enable tests" ON)
cmake_dependent_option(GHC_FILESYSTEM_BUILD_TESTING option(GHC_FILESYSTEM_BUILD_EXAMPLES "Build examples" ON)
"Enable tests" ON option(GHC_FILESYSTEM_WITH_INSTALL "With install target" ON)
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) else()
cmake_dependent_option(GHC_FILESYSTEM_BUILD_EXAMPLES option(GHC_FILESYSTEM_BUILD_EXAMPLES "Build examples" OFF)
"Build examples" ON option(GHC_FILESYSTEM_BUILD_TESTING "Enable tests" OFF)
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) option(GHC_FILESYSTEM_WITH_INSTALL "With install target" ON)
cmake_dependent_option(GHC_FILESYSTEM_WITH_INSTALL endif()
"With install target" ON
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
if(NOT DEFINED CMAKE_CXX_STANDARD) if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
@ -34,8 +34,7 @@ target_include_directories(ghc_filesystem INTERFACE
target_compile_options(ghc_filesystem INTERFACE "$<$<C_COMPILER_ID:MSVC>:/utf-8>") target_compile_options(ghc_filesystem INTERFACE "$<$<C_COMPILER_ID:MSVC>:/utf-8>")
target_compile_options(ghc_filesystem INTERFACE "$<$<CXX_COMPILER_ID:MSVC>:/utf-8>") target_compile_options(ghc_filesystem INTERFACE "$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
get_directory_property(hasParent PARENT_DIRECTORY) if(GHC_FILESYSTEM_BUILD_TESTING OR GHC_FILESYSTEM_BUILD_EXAMPLES)
if(NOT hasParent)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
include(GhcHelper) include(GhcHelper)
@ -53,12 +52,7 @@ endif()
if(GHC_FILESYSTEM_WITH_INSTALL) if(GHC_FILESYSTEM_WITH_INSTALL)
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
include(GNUInstallDirs) include(GNUInstallDirs)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(TARGETS ghc_filesystem EXPORT ghcFilesystemConfig) install(TARGETS ghc_filesystem EXPORT ghcFilesystemConfig)
install(EXPORT ghcFilesystemConfig NAMESPACE ghcFilesystem:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ghcFilesystem) install(EXPORT ghcFilesystemConfig NAMESPACE ghcFilesystem:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ghcFilesystem)
endif() endif()
if(POLICY CMP0110)
cmake_policy(POP)
endif()