cmake: add option to use system rapidjson if exists

This commit is contained in:
Fangrui Song 2019-03-08 22:46:43 -08:00
parent be391ee72d
commit 09b6f64cca

View File

@ -7,6 +7,7 @@ include(DefaultCMakeBuildType)
# Required Clang version # Required Clang version
option(LLVM_ENABLE_RTTI "-fno-rtti if OFF. This should match LLVM libraries" OFF) 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_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 # Sources for the executable are specified at end of CMakeLists.txt
add_executable(ccls "") add_executable(ccls "")
@ -95,9 +96,15 @@ target_compile_definitions(ccls PRIVATE
### Includes ### Includes
target_include_directories(ccls PRIVATE src) target_include_directories(ccls PRIVATE src)
target_include_directories(ccls SYSTEM PRIVATE target_include_directories(ccls SYSTEM PRIVATE third_party)
third_party
third_party/rapidjson/include) 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 ### Install