Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake add_可在另一个目录中执行_C++_Cmake - Fatal编程技术网

C++ CMake add_可在另一个目录中执行

C++ CMake add_可在另一个目录中执行,c++,cmake,C++,Cmake,我正在进行一系列测试,以验证每个库是否正确链接,然后对代码的功能进行一些测试 我希望在project/build/tests目录中有X个不同的可执行文件 我希望我的程序是在project/build中构建的 cmake_minimum_required(VERSION 3.0) project(ProjectName) # Linking library ... add_executable(${PROJECT_NAME} ${SRC_LIST} ${INCLUDE_LIST}) 在这里之前,

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

我希望在project/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
  • 包括
  • 解放党
  • 建造
    • 测验
  • 测验

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

在测试可执行文件上使用,将其
运行时\u输出\u目录设置为
${CMake\u BINARY\u DIR}

多亏了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的文档确实不可读)的方法之后,我发现了这个线程,这使得这个问题重复了。