Files
boost_assert/CMakeLists.txt
T

59 lines
1.5 KiB
CMake
Raw Normal View History

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
cmake_minimum_required(VERSION 3.5)
2018-09-20 00:55:16 +03:00
project(BoostAssert LANGUAGES CXX)
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-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()
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR})
function(boost_test)
cmake_parse_arguments(_ "" "PREFIX;NAME" "SOURCES;LIBRARIES" ${ARGN})
2018-09-20 00:55:16 +03:00
if(NOT __PREFIX)
set(__PREFIX ${PROJECT_NAME})
endif()
2018-09-20 00:55:16 +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
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)
endif()
if(COMMAND boost_test)
2018-09-20 00:55:16 +03:00
add_subdirectory(test)
endif()