3
0
mirror of https://github.com/triqs/dft_tools synced 2024-07-17 08:30:35 +02:00
dft_tools/test/c++/CMakeLists.txt
2018-04-24 23:59:32 +02:00

35 lines
980 B
CMake

# Copy reference h5 files to binary dir
file(GLOB all_h5_files *.h5)
file(COPY ${all_h5_files} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
set(all_tests toto)
foreach(t ${all_tests})
add_executable(${t} ${CMAKE_CURRENT_SOURCE_DIR}/${t}.cpp)
target_link_libraries(${t} app4triqs_c gtest)
add_test(${t} ${CMAKE_CURRENT_BINARY_DIR}/${t})
# Run clang-tidy if found
if(CLANG_TIDY_EXECUTABLE)
set_target_properties(${t} PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}")
endif()
# Run cppcheck if found
if(CPPCHECK_EXECUTABLE)
add_custom_command(
TARGET ${t}
COMMAND ${CPPCHECK_EXECUTABLE}
--enable=warning,style,performance,portability
--std=c++14
--template=gcc
--verbose
--quiet
${CMAKE_CURRENT_SOURCE_DIR}/${t}.cpp
)
endif()
endforeach()
# Set UBSan Options for all tests
set_property(TEST ${all_tests} PROPERTY
ENVIRONMENT
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1:$ENV{UBSAN_OPTIONS}
)