1
- cmake_minimum_required (VERSION 3.1 )
2
- project (docopt.cpp VERSION 0.6.2 )
1
+ cmake_minimum_required (VERSION 3.21...3.27 )
2
+ project (docopt.cpp VERSION 0.6.3 )
3
3
4
4
include (GNUInstallDirs)
5
5
@@ -16,31 +16,32 @@ option(USE_BOOST_REGEX "Replace std::regex with Boost.Regex" OFF)
16
16
# C++ standard
17
17
set (CMAKE_CXX_STANDARD_REQUIRED ON )
18
18
set (CMAKE_CXX_EXTENSIONS OFF )
19
- if (NOT CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS 11 )
20
- set (CMAKE_CXX_STANDARD 11 )
19
+ if (NOT CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS 17 )
20
+ set (CMAKE_CXX_STANDARD 17 )
21
21
endif ()
22
22
23
23
#============================================================================
24
24
# Sources & headers
25
25
#============================================================================
26
26
set (docopt_SOURCES docopt.cpp)
27
27
set (docopt_HEADERS
28
- docopt.h
29
- docopt_private.h
30
- docopt_util.h
31
- docopt_value.h
32
- )
28
+ docopt.h
29
+ docopt_private.h
30
+ docopt_util.h
31
+ docopt_value.h
32
+ )
33
33
34
34
#============================================================================
35
35
# Compile targets
36
36
#============================================================================
37
37
add_library (docopt ${docopt_SOURCES} ${docopt_HEADERS} )
38
+ add_library (docopt::docopt ALIAS docopt)
38
39
set_target_properties (docopt PROPERTIES
39
40
VERSION ${PROJECT_VERSION}
40
41
SOVERSION ${PROJECT_VERSION_MAJOR}
41
42
)
42
43
43
- target_include_directories (docopt PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} > $<INSTALL_INTERFACE:include /docopt>)
44
+ target_include_directories (docopt PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} / include /docopt > $<INSTALL_INTERFACE:include /docopt>)
44
45
45
46
if (MSVC AND BUILD_SHARED_LIBS )
46
47
# DOCOPT_DLL: Must be specified when building *and* when using the DLL.
@@ -56,9 +57,9 @@ if(USE_BOOST_REGEX)
56
57
# This is needed on Linux, where linking a static library into docopt.so
57
58
# fails because boost static libs are not compiled with -fPIC
58
59
set (Boost_USE_STATIC_LIBS OFF )
59
- find_package (Boost 1.53 REQUIRED COMPONENTS regex )
60
- include_directories (${Boost_INCLUDE_DIRS} )
61
- target_link_libraries (docopt ${Boost_LIBRARIES} )
60
+ find_package (Boost 1.71 REQUIRED COMPONENTS regex )
61
+ include_directories (${Boost_INCLUDE_DIRS} )
62
+ target_link_libraries (docopt ${Boost_LIBRARIES} )
62
63
endif ()
63
64
64
65
#============================================================================
@@ -78,9 +79,9 @@ if(WITH_TESTS)
78
79
add_executable (run_testcase run_testcase.cpp)
79
80
target_link_libraries (run_testcase docopt)
80
81
configure_file (
81
- "${PROJECT_SOURCE_DIR} /run_tests.py"
82
- "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
83
- ESCAPE_QUOTES
82
+ "${PROJECT_SOURCE_DIR} /run_tests.py"
83
+ "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
84
+ ESCAPE_QUOTES
84
85
)
85
86
add_test ("Testcases docopt" ${TESTPROG} )
86
87
endif ()
@@ -103,7 +104,7 @@ install(FILES ${docopt_HEADERS} DESTINATION include/docopt)
103
104
include (CMakePackageConfigHelpers)
104
105
write_basic_package_version_file("${PROJECT_BINARY_DIR} /docopt-config-version.cmake" COMPATIBILITY SameMajorVersion)
105
106
install (FILES docopt-config.cmake ${PROJECT_BINARY_DIR} /docopt-config-version .cmake DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/docopt" )
106
- install (EXPORT ${export_name} DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/docopt" )
107
+ install (EXPORT ${export_name} DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/docopt" NAMESPACE docopt::docopt )
107
108
108
109
configure_file (${CMAKE_CURRENT_SOURCE_DIR} /docopt.pc.in ${CMAKE_CURRENT_BINARY_DIR} /docopt.pc @ONLY)
109
110
install (FILES ${CMAKE_CURRENT_BINARY_DIR} /docopt.pc DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig)
0 commit comments