Skip to content

Commit 4e0a591

Browse files
committed
refs #91, fixing option handling to actually allow overriding from parent projects.
1 parent de57485 commit 4e0a591

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

CMakeLists.txt

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
cmake_minimum_required(VERSION 3.7.2)
22
project(ghcfilesystem)
33

4+
if (POLICY CMP0077)
5+
cmake_policy(SET CMP0077 NEW)
6+
endif()
47
if(POLICY CMP0110)
5-
cmake_policy(PUSH)
6-
cmake_policy(SET CMP0110 OLD)
8+
cmake_policy(SET CMP0110 NEW)
79
endif()
810

9-
include(CMakeDependentOption)
10-
11-
cmake_dependent_option(GHC_FILESYSTEM_BUILD_TESTING
12-
"Enable tests" ON
13-
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
14-
cmake_dependent_option(GHC_FILESYSTEM_BUILD_EXAMPLES
15-
"Build examples" ON
16-
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
17-
cmake_dependent_option(GHC_FILESYSTEM_WITH_INSTALL
18-
"With install target" ON
19-
"CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
11+
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
12+
option(GHC_FILESYSTEM_BUILD_TESTING "Enable tests" ON)
13+
option(GHC_FILESYSTEM_BUILD_EXAMPLES "Build examples" ON)
14+
option(GHC_FILESYSTEM_WITH_INSTALL "With install target" ON)
15+
else()
16+
option(GHC_FILESYSTEM_BUILD_EXAMPLES "Build examples" OFF)
17+
option(GHC_FILESYSTEM_BUILD_TESTING "Enable tests" OFF)
18+
option(GHC_FILESYSTEM_WITH_INSTALL "With install target" ON)
19+
endif()
2020

2121
if(NOT DEFINED CMAKE_CXX_STANDARD)
2222
set(CMAKE_CXX_STANDARD 11)
@@ -34,8 +34,7 @@ target_include_directories(ghc_filesystem INTERFACE
3434
target_compile_options(ghc_filesystem INTERFACE "$<$<C_COMPILER_ID:MSVC>:/utf-8>")
3535
target_compile_options(ghc_filesystem INTERFACE "$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
3636

37-
get_directory_property(hasParent PARENT_DIRECTORY)
38-
if(NOT hasParent)
37+
if(GHC_FILESYSTEM_BUILD_TESTING OR GHC_FILESYSTEM_BUILD_EXAMPLES)
3938
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
4039
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
4140
include(GhcHelper)
@@ -53,12 +52,7 @@ endif()
5352
if(GHC_FILESYSTEM_WITH_INSTALL)
5453
include(CMakePackageConfigHelpers)
5554
include(GNUInstallDirs)
56-
5755
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
5856
install(TARGETS ghc_filesystem EXPORT ghcFilesystemConfig)
5957
install(EXPORT ghcFilesystemConfig NAMESPACE ghcFilesystem:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ghcFilesystem)
6058
endif()
61-
62-
if(POLICY CMP0110)
63-
cmake_policy(POP)
64-
endif()

0 commit comments

Comments
 (0)