1
- cmake_minimum_required (VERSION 2.6.4 )
1
+ cmake_minimum_required (VERSION 3.1 )
2
2
3
3
option (WITH_TESTS "Build tests." OFF )
4
4
option (WITH_EXAMPLE "Build example." OFF )
5
5
option (WITH_STATIC "Build static libs." ON )
6
- option (WITH_CPP11 "Build with C++11." ON )
7
- option (WITH_CPP14 "Build with C++14." OFF )
8
6
9
7
project (docopt.cpp)
10
8
include_directories ("${PROJECT_SOURCE_DIR} " )
11
9
10
+ ########################################################################
11
+ # Compiler properties
12
+
13
+ # C++ standard
14
+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
15
+ set (CMAKE_CXX_EXTENSIONS OFF )
16
+ if (NOT CMAKE_CXX_STANDARD)
17
+ set (CMAKE_CXX_STANDARD 11)
18
+ endif ()
19
+
20
+ # Suppression of "unknown pragma" warning on GCC
21
+ if (CMAKE_COMPILER_IS_GNUCXX)
22
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas" ) # Code uses #pragma mark
23
+ endif ()
24
+
12
25
########################################################################
13
26
# docopt
14
27
15
28
set (DOCOPT_SRC
16
- docopt.cpp
17
- docopt.h
18
- docopt_private.h
19
- docopt_util.h
20
- docopt_value.h
21
- )
29
+ docopt.cpp
30
+ docopt.h
31
+ docopt_private.h
32
+ docopt_util.h
33
+ docopt_value.h
34
+ )
22
35
if (WITH_STATIC)
23
36
add_library (docopt_s STATIC ${DOCOPT_SRC} )
37
+ target_include_directories (docopt_s PUBLIC "${PROJECT_SOURCE_DIR} " )
24
38
endif ()
25
39
add_library (docopt SHARED ${DOCOPT_SRC} )
26
-
27
- if (WITH_CPP14)
28
- add_definitions ("-std=c++14" )
29
- elseif (WITH_CPP11)
30
- add_definitions ("-std=c++11" )
31
- endif ()
40
+ target_include_directories (docopt PUBLIC "${PROJECT_SOURCE_DIR} " )
32
41
33
42
########################################################################
34
43
# tests
@@ -47,9 +56,9 @@ if (WITH_TESTS)
47
56
add_executable (run_testcase run_testcase.cpp)
48
57
target_link_libraries (run_testcase docopt)
49
58
configure_file (
50
- "${PROJECT_SOURCE_DIR} /run_tests.py"
51
- "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
52
- ESCAPE_QUOTES
59
+ "${PROJECT_SOURCE_DIR} /run_tests.py"
60
+ "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
61
+ ESCAPE_QUOTES
53
62
)
54
63
add_test ("Testcases docopt" ${TESTPROG} )
55
64
endif ()
@@ -58,19 +67,19 @@ endif()
58
67
# installation
59
68
60
69
INSTALL (TARGETS
61
- docopt
62
- DESTINATION lib)
70
+ docopt
71
+ DESTINATION lib)
63
72
if (WITH_STATIC)
64
73
INSTALL (TARGETS
65
- docopt_s
66
- DESTINATION lib)
74
+ docopt_s
75
+ DESTINATION lib)
67
76
endif ()
68
77
INSTALL (FILES
69
- docopt.h
70
- docopt_private.h
71
- docopt_util.h
72
- docopt_value.h
73
- DESTINATION include /docopt)
78
+ docopt.h
79
+ docopt_private.h
80
+ docopt_util.h
81
+ docopt_value.h
82
+ DESTINATION include /docopt)
74
83
SET (CPACK_PACKAGE_NAME "docopt" )
75
84
SET (CPACK_DEBIAN_PACKAGE_DEPENDS "" )
76
85
SET (CPACK_RPM_PACKAGE_REQUIRES "" )
0 commit comments