# Initialize ###################################################################################### Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE ) Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC ) Include ( cmake_tests OPTIONAL RESULT_VARIABLE HAS_CMAKE_TESTS ) # Test ############################################################################################ Find_Package ( GTest ) If ( NOT "${GTest_FOUND}" ) Return ( ) EndIf ( ) File ( GLOB_RECURSE CPPCORE_TEST_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.h ) File ( GLOB_RECURSE CPPCORE_TEST_INLINE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.inl ) File ( GLOB_RECURSE CPPCORE_TEST_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) Add_Executable ( cppcore-test EXCLUDE_FROM_ALL ${CPPCORE_TEST_HEADER_FILES} ${CPPCORE_TEST_INLINE_FILES} ${CPPCORE_TEST_SOURCE_FILES} ) Target_Link_Libraries ( cppcore-test PUBLIC cppcore GTest::Main ) # optimization If ( HAS_COTIRE ) Cotire ( cppcore-test ) EndIf ( ) # pedantic If ( HAS_PEDANTIC ) Pedantic_Apply_Flags_Target ( cppcore-test ALL ) EndIf ( ) # test If ( HAS_CMAKE_TESTS ) Add_CMake_Test ( NAME cppcore TARGET cppcore-test ) Else ( ) Add_Test ( NAME cppcore COMMAND cppcore-test ) EndIf ( )