Skip to content

Commit b5d1f89

Browse files
committed
- various little preferences
1 parent b8cb888 commit b5d1f89

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

CMakeLists.txt

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,39 @@ project(JSONCPP
7373
message(STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR}.${JSONCPP_VERSION_MINOR}.${JSONCPP_VERSION_PATCH}")
7474
set(JSONCPP_SOVERSION 24)
7575

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)
7878
option(JSONCPP_WITH_WARNING_AS_ERROR "Force compilation to fail if a warning occurs" OFF)
7979
option(JSONCPP_WITH_STRICT_ISO "Issue all the warnings demanded by strict ISO C and ISO C++" ON)
8080
option(JSONCPP_WITH_PKGCONFIG_SUPPORT "Generate and install .pc files" ON)
8181
option(JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" ON)
8282
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)
8484

8585
# Adhere to GNU filesystem layout conventions
8686
include(GNUInstallDirs)
8787

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()
92109

93110
set(JSONCPP_USE_SECURE_MEMORY "0" CACHE STRING "-D...=1 to use memory-wiping allocator for STL")
94111

src/lib_json/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ set_target_properties( jsoncpp_lib PROPERTIES
8282
POSITION_INDEPENDENT_CODE ON
8383
)
8484

85+
set_target_properties(jsoncpp_lib PROPERTIES DEBUG_POSTFIX d)
86+
8587
# Set library's runtime search path on OSX
8688
if(APPLE)
8789
set_target_properties(jsoncpp_lib PROPERTIES INSTALL_RPATH "@loader_path/.")

0 commit comments

Comments
 (0)