2018-09-20 14:19:32 +03:00
|
|
|
# Copyright 2018 Mike Dev
|
2018-09-20 00:55:16 +03:00
|
|
|
# Copyright 2018 Peter Dimov
|
|
|
|
|
# Distributed under the Boost Software License, Version 1.0.
|
2018-09-20 01:53:36 +03:00
|
|
|
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
2018-09-20 00:55:16 +03:00
|
|
|
|
2018-09-19 18:34:43 +02:00
|
|
|
cmake_minimum_required(VERSION 3.5)
|
2018-09-20 00:55:16 +03:00
|
|
|
|
2018-09-19 18:34:43 +02:00
|
|
|
project(BoostAssert LANGUAGES CXX)
|
2018-09-17 11:38:41 +02:00
|
|
|
|
|
|
|
|
add_library(boost_assert INTERFACE)
|
|
|
|
|
add_library(Boost::assert ALIAS boost_assert)
|
|
|
|
|
|
|
|
|
|
target_include_directories(boost_assert INTERFACE include)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(boost_assert
|
2018-09-19 21:12:28 +03:00
|
|
|
INTERFACE
|
|
|
|
|
Boost::config
|
2018-09-17 11:38:41 +02:00
|
|
|
)
|
2018-09-20 00:55:16 +03:00
|
|
|
|
|
|
|
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
|
|
|
|
|
|
|
|
add_subdirectory(../config bin/config)
|
|
|
|
|
add_subdirectory(../core bin/core)
|
|
|
|
|
|
|
|
|
|
enable_testing()
|
|
|
|
|
|
2018-09-20 01:54:27 +03:00
|
|
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
2018-09-20 00:55:16 +03:00
|
|
|
|
|
|
|
|
function(boost_test)
|
|
|
|
|
|
2018-09-20 01:30:54 +03:00
|
|
|
cmake_parse_arguments(_ "" "PREFIX;NAME" "SOURCES;LIBRARIES" ${ARGN})
|
2018-09-20 00:55:16 +03:00
|
|
|
|
2018-09-20 01:30:54 +03:00
|
|
|
if(NOT __PREFIX)
|
|
|
|
|
set(__PREFIX ${PROJECT_NAME})
|
|
|
|
|
endif()
|
2018-09-20 00:55:16 +03:00
|
|
|
|
2018-09-20 01:30:54 +03:00
|
|
|
if(NOT __NAME)
|
|
|
|
|
list(GET __SOURCES 0 __NAME)
|
|
|
|
|
string(MAKE_C_IDENTIFIER ${__NAME} __NAME)
|
|
|
|
|
endif()
|
2018-09-20 00:55:16 +03:00
|
|
|
|
2018-09-20 01:30:54 +03:00
|
|
|
set(__NAME ${__PREFIX}-${__NAME})
|
|
|
|
|
|
|
|
|
|
add_executable(${__NAME} EXCLUDE_FROM_ALL ${__SOURCES})
|
|
|
|
|
target_link_libraries(${__NAME} ${__LIBRARIES})
|
|
|
|
|
|
|
|
|
|
add_test(NAME compile-${__NAME} COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${__NAME})
|
|
|
|
|
|
|
|
|
|
add_test(NAME run-${__NAME} COMMAND ${__NAME})
|
|
|
|
|
set_tests_properties(run-${__NAME} PROPERTIES DEPENDS compile-${__NAME})
|
2018-09-20 00:55:16 +03:00
|
|
|
|
|
|
|
|
endfunction(boost_test)
|
|
|
|
|
|
2018-09-20 01:30:54 +03:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(COMMAND boost_test)
|
|
|
|
|
|
2018-09-20 00:55:16 +03:00
|
|
|
add_subdirectory(test)
|
|
|
|
|
|
|
|
|
|
endif()
|