Add CMake option to disable building the tests (Default builds)
This commit is contained in:
parent
9ecf83f630
commit
6a98a6c964
1 changed files with 15 additions and 9 deletions
|
@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0)
|
||||||
# define the project
|
# define the project
|
||||||
project(json VERSION 2.0.0 LANGUAGES CXX)
|
project(json VERSION 2.0.0 LANGUAGES CXX)
|
||||||
|
|
||||||
|
option(BuildTests "Build the unit tests" ON)
|
||||||
|
|
||||||
# define project variables
|
# define project variables
|
||||||
set(JSON_TARGET_NAME ${PROJECT_NAME})
|
set(JSON_TARGET_NAME ${PROJECT_NAME})
|
||||||
set(JSON_UNITTEST_TARGET_NAME "json_unit")
|
set(JSON_UNITTEST_TARGET_NAME "json_unit")
|
||||||
|
@ -20,15 +22,19 @@ target_include_directories(${JSON_TARGET_NAME} INTERFACE
|
||||||
$<INSTALL_INTERFACE:${JSON_INCLUDE_DESTINATION}>)
|
$<INSTALL_INTERFACE:${JSON_INCLUDE_DESTINATION}>)
|
||||||
|
|
||||||
# create and configure the unit test target
|
# create and configure the unit test target
|
||||||
add_executable(${JSON_UNITTEST_TARGET_NAME}
|
if (BuildTests)
|
||||||
"test/catch.hpp" "test/unit.cpp")
|
add_executable(${JSON_UNITTEST_TARGET_NAME}
|
||||||
set_target_properties(${JSON_UNITTEST_TARGET_NAME} PROPERTIES
|
"test/catch.hpp"
|
||||||
|
"test/unit.cpp"
|
||||||
|
)
|
||||||
|
set_target_properties(${JSON_UNITTEST_TARGET_NAME} PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 11
|
||||||
CXX_STANDARD_REQUIRED ON
|
CXX_STANDARD_REQUIRED ON
|
||||||
COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
|
COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
|
||||||
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>")
|
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>")
|
||||||
target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test")
|
target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test")
|
||||||
target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME})
|
target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME})
|
||||||
|
endif()
|
||||||
|
|
||||||
# generate a config and config version file for the package
|
# generate a config and config version file for the package
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
Loading…
Reference in a new issue