Fixed setting JSONCPP_USE_SECURE_MEMORY definition (#1479)
* Fixed setting JSONCPP_USE_SECURE_MEMORY definition
* fix indent
* Fix passing from command line
* simplified definition
---------
Co-authored-by: Jordan Bayles <[email protected]>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8920544..ac0a8ed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,7 +103,9 @@
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" CACHE PATH "Executable/dll output dir.")
endif()
-set(JSONCPP_USE_SECURE_MEMORY "0" CACHE STRING "-D...=1 to use memory-wiping allocator for STL")
+if(JSONCPP_USE_SECURE_MEMORY)
+ add_definitions("-DJSONCPP_USE_SECURE_MEMORY=1")
+endif()
configure_file("${PROJECT_SOURCE_DIR}/version.in"
"${PROJECT_BINARY_DIR}/version"
diff --git a/include/json/version.h b/include/json/version.h
index e931d03..9e95411 100644
--- a/include/json/version.h
+++ b/include/json/version.h
@@ -18,10 +18,9 @@
((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \
(JSONCPP_VERSION_PATCH << 8))
-#ifdef JSONCPP_USING_SECURE_MEMORY
-#undef JSONCPP_USING_SECURE_MEMORY
-#endif
+#if !defined(JSONCPP_USE_SECURE_MEMORY)
#define JSONCPP_USING_SECURE_MEMORY 0
+#endif
// If non-zero, the library zeroes any memory that it has allocated before
// it frees its memory.