cmake_minimum_required(VERSION 3.0) project(cmake_test) # Prepare "Catch" library for other executables set(CATCH_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../src/tests) add_library(Catch INTERFACE) target_include_directories(Catch INTERFACE ${CATCH_INCLUDE_DIR}/*) # Make test executable set(TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../src/tests/input) include_directories(${TEST_SOURCES}) include_directories(${TEST_SOURCES}/mocks) file(GLOB SOURCES ${TEST_SOURCES}/*.cpp) add_executable(tests ${SOURCES}) target_link_libraries(tests Catch)