2015-09-23 11:43:36 -04:00
cmake_minimum_required ( VERSION 2.8.7 )
2015-08-20 21:09:14 -04:00
2015-09-23 11:43:36 -04:00
project ( GSLTests CXX )
2015-08-20 21:09:14 -04:00
add_subdirectory ( unittest-cpp )
include_directories (
. . / i n c l u d e
. / u n i t t e s t - c p p
)
add_definitions ( -DSAFER_CPP_TESTING )
2015-08-28 01:15:44 -04:00
if ( MSVC14 OR MSVC12 ) # has the support we need
# remove unnecessary warnings about unchecked iterators
add_definitions ( -D_SCL_SECURE_NO_WARNINGS )
2015-08-20 21:09:14 -04:00
else ( )
include ( CheckCXXCompilerFlag )
CHECK_CXX_COMPILER_FLAG ( "-std=c++14" COMPILER_SUPPORTS_CXX14 )
CHECK_CXX_COMPILER_FLAG ( "-std=c++11" COMPILER_SUPPORTS_CXX11 )
if ( COMPILER_SUPPORTS_CXX14 )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14" )
e l s e i f ( C O M P I L E R _ S U P P O R T S _ C X X 1 1 )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
else ( )
2015-09-23 11:43:36 -04:00
message ( STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler." )
2015-08-20 21:09:14 -04:00
endif ( )
endif ( )
2015-08-25 14:29:49 -04:00
if ( NOT EXISTS ${ CMAKE_CURRENT_SOURCE_DIR } /unittest-cpp )
2015-08-20 21:09:14 -04:00
message ( FATAL_ERROR "Could not find unittest-cpp enlistment. Please run 'git clone https://github.com/Microsoft/unittest-cpp.git unittest-cpp' in the tests directory" )
endif ( )
2015-09-21 15:04:06 -04:00
function ( add_gsl_test name )
add_executable ( ${ name } ${ name } .cpp )
target_link_libraries ( ${ name } UnitTest++ )
install ( TARGETS ${ name }
R U N T I M E D E S T I N A T I O N b i n
)
add_test (
2015-09-23 11:43:36 -04:00
$ { n a m e }
$ { n a m e }
2015-09-21 15:04:06 -04:00
)
endfunction ( )
add_gsl_test ( array_view_tests )
add_gsl_test ( string_view_tests )
add_gsl_test ( at_tests )
add_gsl_test ( bounds_tests )
add_gsl_test ( maybenull_tests )
add_gsl_test ( notnull_tests )
add_gsl_test ( assertion_tests )
add_gsl_test ( utils_tests )
add_gsl_test ( owner_tests )