mirror of
https://github.com/odamex/odamex
synced 2026-08-19 02:23:09 -04:00
40 lines
1.7 KiB
CMake
40 lines
1.7 KiB
CMake
### JsonCpp ###
|
|
|
|
if((BUILD_CLIENT OR BUILD_SERVER OR BUILD_LAUNCHER) AND USE_INTERNAL_JSONCPP)
|
|
lib_buildgen(
|
|
LIBRARY jsoncpp
|
|
PARAMS "-DJSONCPP_WITH_TESTS=OFF"
|
|
"-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF"
|
|
"-DJSONCPP_WITH_WARNING_AS_ERROR=OFF"
|
|
"-DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF"
|
|
"-DJSONCPP_WITH_CMAKE_PACKAGE=ON"
|
|
"-DCMAKE_DEBUG_POSTFIX=d"
|
|
"-DCCACHE_EXECUTABLE=CCACHE_EXECUTABLE-NOTFOUND")
|
|
lib_build(LIBRARY jsoncpp)
|
|
|
|
find_package(jsoncpp REQUIRED)
|
|
set(_JSONCPP_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/local/include")
|
|
if(TARGET jsoncpp_static)
|
|
set_target_properties(jsoncpp_static PROPERTIES IMPORTED_GLOBAL TRUE)
|
|
set_property(TARGET jsoncpp_static APPEND PROPERTY
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_JSONCPP_INCLUDE_DIR}")
|
|
elseif(TARGET jsoncpp_lib_static)
|
|
set_target_properties(jsoncpp_lib_static PROPERTIES IMPORTED_GLOBAL TRUE)
|
|
set_property(TARGET jsoncpp_lib_static APPEND PROPERTY
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_JSONCPP_INCLUDE_DIR}")
|
|
add_library(jsoncpp_static INTERFACE IMPORTED GLOBAL)
|
|
set_target_properties(jsoncpp_static PROPERTIES
|
|
INTERFACE_LINK_LIBRARIES jsoncpp_lib_static
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_JSONCPP_INCLUDE_DIR}")
|
|
elseif(TARGET jsoncpp_lib)
|
|
set_target_properties(jsoncpp_lib PROPERTIES IMPORTED_GLOBAL TRUE)
|
|
set_property(TARGET jsoncpp_lib APPEND PROPERTY
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_JSONCPP_INCLUDE_DIR}")
|
|
add_library(jsoncpp_static INTERFACE IMPORTED GLOBAL)
|
|
set_target_properties(jsoncpp_static PROPERTIES
|
|
INTERFACE_LINK_LIBRARIES jsoncpp_lib
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_JSONCPP_INCLUDE_DIR}")
|
|
else()
|
|
message(FATAL_ERROR "JsonCpp target not found.")
|
|
endif()
|
|
endif()
|