@@ -66,7 +66,6 @@ project(JSONCPP
6666 VERSION 1.9.0 # <major>[.<minor>[.<patch>[.<tweak>]]]
6767 LANGUAGES CXX)
6868
69- set ( JSONCPP_VERSION ${JSONCPP_VERSION_MAJOR} .${JSONCPP_VERSION_MINOR} .${JSONCPP_VERSION_PATCH} )
7069message (STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR} .${JSONCPP_VERSION_MINOR} .${JSONCPP_VERSION_PATCH} " )
7170set ( JSONCPP_SOVERSION 21 )
7271
@@ -88,12 +87,7 @@ include(GNUInstallDirs)
8887
8988set (DEBUG_LIBNAME_SUFFIX "" CACHE STRING "Optional suffix to append to the library name for a debug build" )
9089
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" )
9791
9892# File version.h is only regenerated on CMake configure step
9993configure_file ( "${PROJECT_SOURCE_DIR} /src/lib_json/version.h.in"
@@ -107,11 +101,11 @@ macro(UseCompilationWarningAsError)
107101 if (MSVC )
108102 # Only enabled in debug because some old versions of VS STL generate
109103 # warnings when compiled in release configuration.
110- set ( CMAKE_CXX_FLAGS_DEBUG " ${CMAKE_CXX_FLAGS_DEBUG} /WX " )
104+ add_compile_options ($<$<CONFIG:Debug>: /WX> )
111105 elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
112- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Werror" )
106+ add_compile_options ( -Werror)
113107 if (JSONCPP_WITH_STRICT_ISO)
114- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -pedantic-errors" )
108+ add_compile_options ( -pedantic-errors)
115109 endif ()
116110 endif ()
117111endmacro ()
@@ -122,29 +116,29 @@ include_directories( ${jsoncpp_SOURCE_DIR}/include )
122116if (MSVC )
123117 # Only enabled in debug because some old versions of VS STL generate
124118 # 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> )
126120endif ()
127121
128122if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
129123 # 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)
131125elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
132126 # using GCC
133- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Wall -Wconversion -Wshadow -Wextra" )
127+ add_compile_options ( -Wall -Wconversion -Wshadow -Wextra)
134128 # not yet ready for -Wsign-conversion
135129
136130 if (JSONCPP_WITH_STRICT_ISO)
137- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -pedantic" )
131+ add_compile_options ( -pedantic)
138132 endif ()
139133 if (JSONCPP_WITH_WARNING_AS_ERROR)
140- set ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Werror=conversion" )
134+ add_compile_options ( -Werror=conversion)
141135 endif ()
142136elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" )
143137 # 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)
145139
146140 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)
148142 endif ()
149143endif ()
150144
0 commit comments