# 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