From 29ac85d55273e83a3ada19037959ae7c7823f5b7 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 23 Apr 2021 14:17:22 +0200 Subject: CMake build: add a NLOHMANN_JSON_ORIGIN=auto/external/internal setting allowing to choose which nlohmann/json to use Co-authored-by: Mike Taves --- src/bin_projsync.cmake | 5 +++++ src/lib_proj.cmake | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/bin_projsync.cmake b/src/bin_projsync.cmake index e18eebd9..ea6bb09c 100644 --- a/src/bin_projsync.cmake +++ b/src/bin_projsync.cmake @@ -8,6 +8,11 @@ set_target_properties(bin_projsync OUTPUT_NAME projsync) target_link_libraries(bin_projsync PRIVATE ${PROJ_LIBRARIES}) target_compile_options(bin_projsync PRIVATE ${PROJ_CXX_WARN_FLAGS}) +if(NLOHMANN_JSON STREQUAL "external") + target_compile_definitions(bin_projsync PRIVATE EXTERNAL_NLOHMANN_JSON) + target_link_libraries(bin_projsync PRIVATE nlohmann_json::nlohmann_json) +endif() + install(TARGETS bin_projsync RUNTIME DESTINATION ${BINDIR}) diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake index f4adb443..71468c87 100644 --- a/src/lib_proj.cmake +++ b/src/lib_proj.cmake @@ -293,7 +293,6 @@ include_directories(${PROJ_SOURCE_DIR}/include) include_directories(${CMAKE_CURRENT_BINARY_DIR}) source_group("CMake Files" FILES CMakeLists.txt) - # Embed PROJ_LIB data files location add_definitions(-DPROJ_LIB="${CMAKE_INSTALL_PREFIX}/${DATADIR}") @@ -397,6 +396,11 @@ endif() target_include_directories(proj PRIVATE ${SQLITE3_INCLUDE_DIR}) target_link_libraries(proj PRIVATE ${SQLITE3_LIBRARY}) +if(NLOHMANN_JSON STREQUAL "external") + target_compile_definitions(proj PRIVATE EXTERNAL_NLOHMANN_JSON) + target_link_libraries(proj PRIVATE nlohmann_json::nlohmann_json) +endif() + if(TIFF_ENABLED) target_compile_definitions(proj PRIVATE -DTIFF_ENABLED) target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIR}) -- cgit v1.2.3