57 lines
1.8 KiB
CMake
57 lines
1.8 KiB
CMake
# xo-kalmanfilter/utest/CMakeLists.txt
|
|
|
|
set(SELF_EXE utest.filter)
|
|
|
|
set(SELF_SRCS
|
|
KalmanFilter.test.cpp
|
|
filter_utest_main.cpp)
|
|
|
|
add_executable(${SELF_EXE} ${SELF_SRCS})
|
|
xo_include_options2(${SELF_EXE})
|
|
|
|
add_test(NAME ${SELF_EXE} COMMAND ${SELF_EXE})
|
|
target_code_coverage(${SELF_EXE} AUTO ALL)
|
|
|
|
# ----------------------------------------------------------------
|
|
# create convenience symlink from build dir back to canned data.
|
|
# This is ok since we don't implement install for unit tests
|
|
|
|
#create_symlink("${CMAKE_SOURCE_DIR}/utestdata/" "src/filter/utest/utestdata")
|
|
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/utest/utestdata)
|
|
file(CREATE_LINK ${PROJECT_SOURCE_DIR}/utest/utestdata/filter ${PROJECT_BINARY_DIR}/utest/utestdata/filter SYMBOLIC)
|
|
|
|
# ----------------------------------------------------------------
|
|
# generic project dependency
|
|
|
|
# PROJECT_SOURCE_DIR:
|
|
# so we can for example write
|
|
# #include "logutil/scope.hpp"
|
|
# from anywhere in the project
|
|
# PROJECT_BINARY_DIR:
|
|
# since version file will be in build directory, need that directory
|
|
# to also be included in compiler's include path
|
|
#
|
|
xo_self_dependency(${SELF_EXE} xo_kalmanfilter)
|
|
|
|
# ----------------------------------------------------------------
|
|
# internal dependencies: logutil, ...
|
|
|
|
xo_dependency(${SELF_EXE} xo_statistics)
|
|
|
|
# ----------------------------------------------------------------
|
|
# external dependencies: catch2..
|
|
|
|
xo_external_target_dependency(${SELF_EXE} Catch2 Catch2::Catch2)
|
|
|
|
# ----------------------------------------------------------------
|
|
# make standard directories for std:: includes explicit
|
|
# so that
|
|
# (1) they appear in compile_commands.json.
|
|
# (2) clangd (run from emacs lsp-mode) can find them
|
|
#
|
|
if(CMAKE_EXPORT_COMPILE_COMMANDS)
|
|
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
|
|
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
|
|
endif()
|
|
|
|
# end CMakeLists.txt
|