11cmake_minimum_required (VERSION 3.14 )
22
3- # set the project name
43project (phtree VERSION 1.3.0
54 DESCRIPTION "PH-Tree C++"
5+ HOMEPAGE_URL "https://github.com/tzaeschke/phtree-cpp"
66 LANGUAGES CXX )
77
88
@@ -19,16 +19,13 @@ endif ()
1919# ---------------------------------------------------------------------------------------
2020# Build options
2121# ---------------------------------------------------------------------------------------
22- # example options
2322option (PHTREE_BUILD_ALL "Build examples, tests and benchmarks" OFF )
2423
2524# example options
2625option (PHTREE_BUILD_EXAMPLES "Build examples" OFF )
27- #option(PHTREE_BUILD_EXAMPLE_HO "Build header only example" OFF)
2826
2927# testing options
3028option (PHTREE_BUILD_TESTS "Build tests" OFF )
31- #option(PHTREE_BUILD_TESTS_HO "Build tests using the header only version" OFF)
3229option (PHTREE_CODE_COVERAGE "Collect coverage from test library" OFF )
3330if (PHTREE_CODE_COVERAGE)
3431 set (PHTREE_BUILD_TESTS ON )
@@ -57,8 +54,7 @@ if (NOT CMAKE_CXX_STANDARD)
5754endif ()
5855
5956if (MSVC )
60- #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17 /Wall")
61- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } /std:c++17" )
57+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
6258 set (CMAKE_CXX_FLAGS_RELEASE "/O2" )
6359
6460 if (PHTREE_BUILD_TESTS OR PHTREE_BUILD_ALL)
@@ -78,7 +74,7 @@ if (MSVC)
7874 # set(BENCHMARK_ENABLE_GTEST_TESTS OFF)
7975 endif ()
8076else ()
81- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -std=c++17 - Wall -Werror" )
77+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -Wall -Werror" )
8278 if (PHTREE_BUILD_BENCHMARKS)
8379 set (CMAKE_CXX_FLAGS_RELEASE "-O3 -mavx -pthread" )
8480 else ()
@@ -93,7 +89,17 @@ endif ()
9389# ---------------------------------------------------------------------------------------
9490# Build binaries
9591# ---------------------------------------------------------------------------------------
96- add_subdirectory (phtree )
92+
93+ # ---------------------------------------------------------------------------------------
94+ # Header only version
95+ # ---------------------------------------------------------------------------------------
96+ add_library (phtree INTERFACE )
97+ add_library (phtree::phtree ALIAS phtree )
98+ target_compile_features (phtree INTERFACE cxx_std_17 )
99+
100+ target_include_directories (phtree INTERFACE
101+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
102+ $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
97103
98104if (PHTREE_BUILD_EXAMPLES OR PHTREE_BUILD_ALL)
99105 message (STATUS "Generating examples" )
@@ -107,26 +113,6 @@ endif ()
107113
108114if (PHTREE_BUILD_TESTS OR PHTREE_BUILD_ALL)
109115 message (STATUS "Generating tests" )
110- if (FALSE )
111- add_compile_definitions (GTEST_HAS_ABSL=0 )
112- add_compile_definitions (GTEST_OS_WINDOWS_MOBILE=0 )
113- if (MSVC )
114- add_compile_definitions (GTEST_OS_WINDOWS_MINGW=0 )
115- endif ()
116- add_compile_definitions (GTEST_OS_LINUX_ANDROID=0 )
117- if (LINUX )
118- add_compile_definitions (GTEST_OS_LINUX=1 )
119- else ()
120- add_compile_definitions (GTEST_OS_LINUX=0 )
121- endif ()
122- add_compile_definitions (
123- GTEST_OS_WINDOWS_MOBILE=0
124- GTEST_OS_WINDOWS_PHONE=0
125- GTEST_OS_WINDOWS_RT=0
126- GTEST_OS_ESP8266=0
127- GTEST_OS_XTENSA=0 )
128- endif ()
129-
130116 enable_testing ()
131117 include (GoogleTest )
132118 add_subdirectory (test )
0 commit comments