@@ -73,22 +73,39 @@ project(JSONCPP
73
73
message (STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR} .${JSONCPP_VERSION_MINOR} .${JSONCPP_VERSION_PATCH} " )
74
74
set (JSONCPP_SOVERSION 24)
75
75
76
- option (JSONCPP_WITH_TESTS "Compile and (for jsoncpp_check) run JsonCpp test executables" ON )
77
- option (JSONCPP_WITH_POST_BUILD_UNITTEST "Automatically run unit-tests as a post build step" ON )
76
+ option (JSONCPP_WITH_TESTS "Compile and (for jsoncpp_check) run JsonCpp test executables" OFF )
77
+ option (JSONCPP_WITH_POST_BUILD_UNITTEST "Automatically run unit-tests as a post build step" OFF )
78
78
option (JSONCPP_WITH_WARNING_AS_ERROR "Force compilation to fail if a warning occurs" OFF )
79
79
option (JSONCPP_WITH_STRICT_ISO "Issue all the warnings demanded by strict ISO C and ISO C++" ON )
80
80
option (JSONCPP_WITH_PKGCONFIG_SUPPORT "Generate and install .pc files" ON )
81
81
option (JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" ON )
82
82
option (JSONCPP_WITH_EXAMPLE "Compile JsonCpp example" OFF )
83
- option (BUILD_SHARED_LIBS "Build jsoncpp_lib as a shared library." OFF )
83
+ option (BUILD_SHARED_LIBS "Build jsoncpp_lib as a shared library." ON )
84
84
85
85
# Adhere to GNU filesystem layout conventions
86
86
include (GNUInstallDirs)
87
87
88
- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" CACHE PATH "Archive output dir." )
89
- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" CACHE PATH "Library output dir." )
90
- set (CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /bin" CACHE PATH "PDB (MSVC debug symbol)output dir." )
91
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /bin" CACHE PATH "Executable/dll output dir." )
88
+
89
+ #SR - DS
90
+ if (MSVC )
91
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} /lib/win64/vc16/debug)
92
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} /lib/win64/vc16/debug)
93
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} /bin/win64/vc16/debug)
94
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} /lib/win64/vc16/release)
95
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} /lib/win64/vc16/release)
96
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} /bin/win64/vc16/release)
97
+
98
+ set (CMAKE_INSTALL_BINDIR "bin/win64/vc16" )
99
+ set (CMAKE_INSTALL_LIBDIR "lib/win64/vc16" )
100
+
101
+ set (CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR} /INSTALL" CACHE PATH "install path" FORCE)
102
+
103
+ else ()
104
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" CACHE PATH "Archive output dir." )
105
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" CACHE PATH "Library output dir." )
106
+ set (CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /bin" CACHE PATH "PDB (MSVC debug symbol)output dir." )
107
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /bin" CACHE PATH "Executable/dll output dir." )
108
+ endif ()
92
109
93
110
set (JSONCPP_USE_SECURE_MEMORY "0" CACHE STRING "-D...=1 to use memory-wiping allocator for STL" )
94
111
0 commit comments