29 lines
1.0 KiB
CMake
29 lines
1.0 KiB
CMake
include(ExternalProject)
|
|
|
|
set(JSONCPP_INSTALL_DIR ${THIRD_PARTY_PATH}/install/jsoncpp)
|
|
|
|
if (NOT EXISTS ${JSONCPP_INSTALL_DIR}/include)
|
|
execute_process(COMMAND mkdir -p ${JSONCPP_INSTALL_DIR}/include COMMAND_ERROR_IS_FATAL ANY)
|
|
endif ()
|
|
|
|
ExternalProject_Add(
|
|
extern_jsoncpp
|
|
${EXTERNAL_PROJECT_LOG_ARGS}
|
|
GIT_REPOSITORY "https://github.com/open-source-parsers/jsoncpp.git"
|
|
GIT_TAG "1.9.0"
|
|
PREFIX ${THIRD_PARTY_PATH}/jsoncpp
|
|
UPDATE_COMMAND ""
|
|
CMAKE_ARGS
|
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
|
-DCMAKE_INSTALL_PREFIX=${JSONCPP_INSTALL_DIR}
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
-DJSONCPP_WITH_TESTS=OFF
|
|
-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
|
|
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
|
|
)
|
|
|
|
add_library(jsoncpp STATIC IMPORTED GLOBAL)
|
|
add_dependencies(jsoncpp extern_jsoncpp)
|
|
set_target_properties(jsoncpp PROPERTIES IMPORTED_LOCATION ${JSONCPP_INSTALL_DIR}/lib64/libjsoncpp.a)
|
|
target_include_directories(jsoncpp INTERFACE ${JSONCPP_INSTALL_DIR}/include)
|