You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.6 KiB
55 lines
1.6 KiB
foreach(opt RAPIDJSON_INCLUDEDIR RAPIDJSON_USE_SSE2 RAPIDJSON_USE_SSE42)
|
|
if(${opt} AND DEFINED ENV{${opt}} AND NOT ${opt} STREQUAL "$ENV{${opt}}")
|
|
message(WARNING "Conflicting ${opt} values: ignoring environment variable and using CMake cache entry.")
|
|
elseif(DEFINED ENV{${opt}} AND NOT ${opt})
|
|
set(${opt} "$ENV{${opt}}")
|
|
endif()
|
|
endforeach()
|
|
|
|
find_path(
|
|
RAPIDJSON_INCLUDE_DIRS
|
|
NAMES rapidjson/rapidjson.h
|
|
PATHS ${RAPIDJSON_INCLUDEDIR}
|
|
DOC "Include directory for the rapidjson library."
|
|
)
|
|
|
|
mark_as_advanced(RAPIDJSON_INCLUDE_DIRS)
|
|
|
|
if(RAPIDJSON_INCLUDE_DIRS)
|
|
set(RAPIDJSON_FOUND TRUE)
|
|
endif()
|
|
|
|
mark_as_advanced(RAPIDJSON_FOUND)
|
|
|
|
if(RAPIDJSON_USE_SSE42)
|
|
set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE42")
|
|
if(MSVC)
|
|
set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE4.2")
|
|
else()
|
|
set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse4.2")
|
|
endif()
|
|
else()
|
|
if(RAPIDJSON_USE_SSE2)
|
|
set(RAPIDJSON_CXX_FLAGS "-DRAPIDJSON_SSE2")
|
|
if(MSVC)
|
|
set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} /arch:SSE2")
|
|
else()
|
|
set(RAPIDJSON_CXX_FLAGS "${RAPIDJSON_CXX_FLAGS} -msse2")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
mark_as_advanced(RAPIDJSON_CXX_FLAGS)
|
|
|
|
if(RAPIDJSON_FOUND)
|
|
if(NOT rapidjson_FIND_QUIETLY)
|
|
message(STATUS "Found rapidjson header files in ${RAPIDJSON_INCLUDE_DIRS}")
|
|
if(DEFINED RAPIDJSON_CXX_FLAGS)
|
|
message(STATUS "Found rapidjson C++ extra compilation flags: ${RAPIDJSON_CXX_FLAGS}")
|
|
endif()
|
|
endif()
|
|
elseif(rapidjson_FIND_REQUIRED)
|
|
message(FATAL_ERROR "Could not find rapidjson")
|
|
else()
|
|
message(STATUS "Optional package rapidjson was not found")
|
|
endif()
|
|
|