Add CMake option to disable building the tests (Default builds)

parent 9ecf83f6
...@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0) ...@@ -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 ...@@ -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"
CXX_STANDARD 11 "test/unit.cpp"
CXX_STANDARD_REQUIRED ON )
COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>" set_target_properties(${JSON_UNITTEST_TARGET_NAME} PROPERTIES
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>") CXX_STANDARD 11
target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test") CXX_STANDARD_REQUIRED ON
target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME}) COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>")
target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test")
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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment