在另一个目录

时间:2018-05-12 00:52:30

标签: c++ cmake

我正在进行一系列测试,以验证每个库是否正确链接,然后对我的代码的功能进行一些测试。

我想在项目/ build / tests目录中有X个不同的可执行文件 我希望我的程序能够在project / build

中构建
cmake_minimum_required(VERSION 3.0)
project(ProjectName)
# Linking library ...
add_executable(${PROJECT_NAME} ${SRC_LIST} ${INCLUDE_LIST})

直到这里,一切都很好并按原样工作,但后来我不知道如何告诉cmake在另一个目录中创建我的测试,因为这不起作用

add_executable(tests/OpenMP_Check tests/openmp.cpp)

我的项目有这个架构:

项目:

  • SRC
  • 包括
  • LIB
  • 构建
    • 测试
  • 测试

简而言之:我如何让CMake在另一个目录中创建测试?

2 个答案:

答案 0 :(得分:1)

在测试可执行文件上使用set_target_properties将其RUNTIME_OUTPUT_DIRECTORY设置为${CMAKE_BINARY_DIR}

答案 1 :(得分:1)

感谢arrowd我设法用这些行

add_executable(OpenMP_Check tests/openmp.cpp)
set_target_properties(OpenMP_Check PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/tests")

在寻找使用“set_target_properties”(并且CMake的文档真的不可读)的方法之后,我找到了这个帖子,这使得这个问题重复了。 how do I make cmake output into a 'bin' dir?