Files
c_cpp_boilerplate/cmake/FetchJsonCpp.cmake

30 lines
961 B
CMake

include(FetchContent)
set(FETCHCONTENT_QUIET TRUE)
set(JSONCPP_WITH_TESTS OFF CACHE STRING "" FORCE)
set(JSONCPP_WITH_POST_BUILD_UNITTEST OFF CACHE STRING "" FORCE)
set(JSONCPP_WITH_WARNING_AS_ERROR OFF CACHE STRING "" FORCE)
set(JSONCPP_WITH_PKGCONFIG_SUPPORT OFF CACHE STRING "" FORCE)
set(JSONCPP_WITH_CMAKE_PACKAGE OFF CACHE STRING "" FORCE)
if(STATIC_JSON_CPP)
set(BUILD_SHARED_LIBS OFF CACHE STRING "" FORCE)
set(BUILD_STATIC_LIBS ON CACHE STRING "" FORCE)
else()
set(BUILD_SHARED_LIBS ON CACHE STRING "" FORCE)
set(BUILD_STATIC_LIBS OFF CACHE STRING "" FORCE)
endif()
FetchContent_Declare(
jsoncpp
GIT_REPOSITORY https://github.com/open-source-parsers/jsoncpp.git
GIT_TAG 0.y.z
GIT_SHALLOW TRUE
OVERRIDE_FIND_PACKAGE)
FetchContent_MakeAvailable(jsoncpp)
if(TARGET jsoncpp_lib_static)
target_compile_options(jsoncpp_lib_static PRIVATE ${COMPILE_FLAGS} -fPIC)
target_link_options(jsoncpp_lib_static PRIVATE ${LINK_FLAGS})
endif()