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 (NOT MSVC )
28
- if (WITH_CPP14)
29
- add_definitions ("-std=c++14" )
30
- elseif (WITH_CPP11)
31
- add_definitions ("-std=c++11" )
32
- endif ()
33
- endif ()
40
+ target_include_directories (docopt PUBLIC "${PROJECT_SOURCE_DIR} " )
34
41
35
42
########################################################################
36
43
# tests
@@ -49,9 +56,9 @@ if (WITH_TESTS)
49
56
add_executable (run_testcase run_testcase.cpp)
50
57
target_link_libraries (run_testcase docopt)
51
58
configure_file (
52
- "${PROJECT_SOURCE_DIR} /run_tests.py"
53
- "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
54
- ESCAPE_QUOTES
59
+ "${PROJECT_SOURCE_DIR} /run_tests.py"
60
+ "${CMAKE_CURRENT_BINARY_DIR} /run_tests"
61
+ ESCAPE_QUOTES
55
62
)
56
63
add_test ("Testcases docopt" ${TESTPROG} )
57
64
endif ()
@@ -60,19 +67,19 @@ endif()
60
67
# installation
61
68
62
69
INSTALL (TARGETS
63
- docopt
64
- DESTINATION lib)
70
+ docopt
71
+ DESTINATION lib)
65
72
if (WITH_STATIC)
66
73
INSTALL (TARGETS
67
- docopt_s
68
- DESTINATION lib)
74
+ docopt_s
75
+ DESTINATION lib)
69
76
endif ()
70
77
INSTALL (FILES
71
- docopt.h
72
- docopt_private.h
73
- docopt_util.h
74
- docopt_value.h
6A2C
code>
75
- DESTINATION include /docopt)
78
+ docopt.h
79
+ docopt_private.h
80
+ docopt_util.h
81
+ docopt_value.h
82
+ DESTINATION include /docopt)
76
83
SET (CPACK_PACKAGE_NAME "docopt" )
77
84
SET (CPACK_DEBIAN_PACKAGE_DEPENDS "" )
78
85
SET (CPACK_RPM_PACKAGE_REQUIRES "" )
0 commit comments