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