1- cmake_minimum_required (VERSION 2.6.4 )
1+ cmake_minimum_required (VERSION 3.1 )
22
33option (WITH_TESTS "Build tests." OFF )
44option (WITH_EXAMPLE "Build example." OFF )
55option (WITH_STATIC "Build static libs." ON )
6- option (WITH_CPP11 "Build with C++11." ON )
7- option (WITH_CPP14 "Build with C++14." OFF )
86
97project (docopt.cpp)
108include_directories ("${PROJECT_SOURCE_DIR} " )
119
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+
1225########################################################################
1326# docopt
1427
1528set (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+ )
2235if (WITH_STATIC)
2336 add_library (docopt_s STATIC ${DOCOPT_SRC} )
37+ target_include_directories (docopt_s PUBLIC "${PROJECT_SOURCE_DIR} " )
2438endif ()
2539add_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} " )
3441
3542########################################################################
3643# tests
@@ -49,9 +56,9 @@ if (WITH_TESTS)
4956 add_executable (run_testcase run_testcase.cpp )
5057 target_link_libraries (run_testcase docopt )
5158 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
5562 )
5663 add_test ("Testcases docopt" ${TESTPROG} )
5764endif ()
@@ -60,19 +67,19 @@ endif()
6067# installation
6168
6269INSTALL (TARGETS
63- docopt
64- DESTINATION lib)
70+ docopt
71+ DESTINATION lib)
6572if (WITH_STATIC)
6673 INSTALL (TARGETS
67- docopt_s
68- DESTINATION lib)
74+ docopt_s
75+ DESTINATION lib)
6976endif ()
7077INSTALL (FILES
71- docopt.h
72- docopt_private.h
73- docopt_util.h
74- docopt_value.h
75- DESTINATION include/docopt)
78+ docopt.h
79+ docopt_private.h
80+ docopt_util.h
81+ docopt_value.h
82+ DESTINATION include/docopt)
7683SET (CPACK_PACKAGE_NAME "docopt" )
7784SET (CPACK_DEBIAN_PACKAGE_DEPENDS "" )
7885SET (CPACK_RPM_PACKAGE_REQUIRES "" )
0 commit comments