37 lines
1.3 KiB
CMake
37 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.8)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_MACOSX_RPATH OFF)
|
|
if (NOT CMAKE_BUILD_TYPE)
|
|
message(STATUS "No build type selected, default to Release")
|
|
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
|
|
endif()
|
|
|
|
project(simdjson)
|
|
set(SIMDJSON_LIB_NAME simdjson)
|
|
|
|
if(NOT MSVC)
|
|
option(SIMDJSON_BUILD_STATIC "Build a static library" OFF) # turning it on disables the production of a dynamic library
|
|
else()
|
|
option(SIMDJSON_BUILD_STATIC "Build a static library" ON) # turning it on disables the production of a dynamic library
|
|
endif()
|
|
option(SIMDJSON_BUILD_LTO "Build library with Link Time Optimization" OFF)
|
|
option(SIMDJSON_SANITIZE "Sanitize addresses" OFF)
|
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake")
|
|
|
|
find_package(CTargets)
|
|
find_package(Options)
|
|
find_package(LTO)
|
|
|
|
install(DIRECTORY include/${SIMDJSON_LIB_NAME} DESTINATION include)
|
|
set (TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/jsonchecker/")
|
|
set (BENCHMARK_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/jsonexamples/")
|
|
add_definitions(-DSIMDJSON_TEST_DATA_DIR="${TEST_DATA_DIR}")
|
|
add_definitions(-DSIMDJSON_BENCHMARK_DATA_DIR="${TEST_DATA_DIR}")
|
|
enable_testing()
|
|
add_subdirectory(src)
|
|
add_subdirectory(tools)
|
|
add_subdirectory(tests)
|
|
add_subdirectory(benchmark)
|