@@ -66,7 +66,6 @@ project(JSONCPP
66
66
VERSION 1.9.0 # <major>[.<minor>[.<patch>[.<tweak>]]]
67
67
LANGUAGES CXX)
68
68
69
- set ( JSONCPP_VERSION ${JSONCPP_VERSION_MAJOR} .${JSONCPP_VERSION_MINOR} .${JSONCPP_VERSION_PATCH} )
70
69
message (STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR} .${JSONCPP_VERSION_MINOR} .${JSONCPP_VERSION_PATCH} " )
71
70
set ( JSONCPP_SOVERSION 21 )
72
71
@@ -88,12 +87,7 @@ include(GNUInstallDirs)
88
87
89
88
set (DEBUG_LIBNAME_SUFFIX "" CACHE STRING "Optional suffix to append to the library name for a debug build" )
90
89
91
- # Set variable named ${VAR_NAME} to value ${VALUE}
92
- function (set_using_dynamic_name VAR_NAME VALUE )
93
- set ( "${VAR_NAME} " "${VALUE} " PARENT_SCOPE)
94
- endfunction ()
95
-
96
- set ( JSONCPP_USE_SECURE_MEMORY "0" CACHE STRING "-D...=1 to use memory-wiping allocator for STL" )
90
+ set (JSONCPP_USE_SECURE_MEMORY "0" CACHE STRING "-D...=1 to use memory-wiping allocator for STL" )
97
91
98
92
# File version.h is only regenerated on CMake configure step
99
93
configure_file ( "${PROJECT_SOURCE_DIR} /src/lib_json/version.h.in"
@@ -107,11 +101,11 @@ macro(UseCompilationWarningAsError)
107
101
if (MSVC )
108
102
# Only enabled in debug because some old versions of VS STL generate
109
103
# warnings when compiled in release configuration.
110
- set ( CMAKE_CXX_FLAGS_DEBUG " ${CMAKE_CXX_FLAGS_DEBUG} /WX " )
104
+ add_compile_options ($<$<CONFIG:Debug>: /WX> )
111
105
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
112
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Werror" )
106
+ add_compile_options ( -Werror)
113
107
if (JSONCPP_WITH_STRICT_ISO)
114
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -pedantic-errors" )
108
+ add_compile_options ( -pedantic-errors)
115
109
endif ()
116
110
endif ()
117
111
endmacro ()
@@ -122,29 +116,29 @@ include_directories( ${jsoncpp_SOURCE_DIR}/include )
122
116
if (MSVC )
123
117
# Only enabled in debug because some old versions of VS STL generate
124
118
# unreachable code warning when compiled in release configuration.
125
- set ( CMAKE_CXX_FLAGS_DEBUG " ${CMAKE_CXX_FLAGS_DEBUG} /W4 " )
119
+ add_compile_options ($<$<CONFIG:Debug>: /W4> )
126
120
endif ()
127
121
128
122
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
129
123
# using regular Clang or AppleClang
130
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Wall -Wconversion -Wshadow -Werror=conversion -Werror=sign-compare" )
124
+ add_compile_options ( -Wall -Wconversion -Wshadow -Werror=conversion -Werror=sign-compare)
131
125
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
132
126
# using GCC
133
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Wall -Wconversion -Wshadow -Wextra" )
127
+ add_compile_options ( -Wall -Wconversion -Wshadow -Wextra)
134
128
# not yet ready for -Wsign-conversion
135
129
136
130
if (JSONCPP_WITH_STRICT_ISO)
137
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -pedantic" )
131
+ add_compile_options ( -pedantic)
138
132
endif ()
139
133
if (JSONCPP_WITH_WARNING_AS_ERROR)
140
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Werror=conversion" )
134
+ add_compile_options ( -Werror=conversion)
141
135
endif ()
142
136
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" )
143
137
# using Intel compiler
144
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Wall -Wconversion -Wshadow -Wextra -Werror=conversion" )
138
+ add_compile_options ( -Wall -Wconversion -Wshadow -Wextra -Werror=conversion)
145
139
146
140
if (JSONCPP_WITH_STRICT_ISO AND NOT JSONCPP_WITH_WARNING_AS_ERROR)
147
- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -pedantic" )
141
+ add_compile_options ( -pedantic)
148
142
endif ()
149
143
endif ()
150
144
0 commit comments