【问题标题】:CMake add_executable in another directory [duplicate]CMake add_executable 在另一个目录中[重复]
【发布时间】:2018-10-22 10:29:55
【问题描述】:

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

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

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)

我的项目有这样的架构:

项目:

  • 源代码
  • 包括
  • 构建
    • 测试
  • 测试

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

【问题讨论】:

    标签: c++ cmake


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      感谢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?

      【讨论】:

        猜你喜欢
        • 2021-11-05
        • 2021-03-18
        • 1970-01-01
        • 2022-12-21
        • 2016-12-08
        • 1970-01-01
        • 2021-03-06
        • 2021-12-05
        • 2013-05-19
        相关资源
        最近更新 更多