From e73f5791bf0da2f5600bb644f8176618524563ea Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Fri, 8 Mar 2019 22:46:43 -0800 Subject: [PATCH] cmake: add option to use system rapidjson if exists --- CMakeLists.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 993376d8..8277d394 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ include(DefaultCMakeBuildType) # Required Clang version option(LLVM_ENABLE_RTTI "-fno-rtti if OFF. This should match LLVM libraries" OFF) option(USE_SHARED_LLVM "Link against libLLVM.so instead separate LLVM{Option,Support,...}" OFF) +option(USE_SYSTEM_RAPIDJSON "Use system RapidJSON instead of the git submodule if exists" ON) # Sources for the executable are specified at end of CMakeLists.txt add_executable(ccls "") @@ -95,9 +96,15 @@ target_compile_definitions(ccls PRIVATE ### Includes target_include_directories(ccls PRIVATE src) -target_include_directories(ccls SYSTEM PRIVATE - third_party - third_party/rapidjson/include) +target_include_directories(ccls SYSTEM PRIVATE third_party) + +if(USE_SYSTEM_RAPIDJSON) + find_package(RapidJSON QUIET) +endif() +if(NOT RapidJSON_FOUND) + set(RapidJSON_INCLUDE_DIRS third_party/rapidjson/include) +endif() +target_include_directories(ccls SYSTEM PRIVATE ${RapidJSON_INCLUDE_DIRS}) ### Install