【问题标题】:change compiler in CMAKE sub_directory CMakeLists.txt file在 CMAKE 子目录 CMakeLists.txt 文件中更改编译器
【发布时间】:2011-02-01 17:27:54
【问题描述】:

我想更改内部子目录中的 CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER,该子目录正在编译为更大项目的一部分。

从 GNU 更改为 intel 编译器。然而,在这个目录之外没有什么需要改变的。

这可能吗?

谢谢

【问题讨论】:

    标签: cmake


    【解决方案1】:

    不要使用add_subdirectory,而是考虑使子目录成为一个独立的 CMake 项目,它可以独立于更大的项目进行配置和构建。然后,您可以使用ExternalProject_Add 命令将该子目录作为外部项目添加到您的更大项目中。

    【讨论】:

    • 我认为这可能是最好的选择
    【解决方案2】:

    这取决于您如何组织项目。 如果它不是整个项目的单个 CMakeLists.txt,而是每个子文件夹一个 - 只需尝试在 project() 定义之前更改 CMAKE_C_COMPILER。 它应该只影响这个项目定义。

    【讨论】:

    • 这不起作用。 CMake 不允许您在其中一个子项目中简单地更改 CMAKE_C_FLAGS 和 CMAKE_CXX_FLAGX。
    • 看来你是对的。我已经在最新的 2.8.x 上尝试过,但现在不可能了 - 我在配置中有无限循环(在 2.6.x 之前工作)。这里描述了同样的问题itk.org/Bug/bug_view_page.php?bug_id=8193&history=1
    • 我正是这样做的,CMake 3.6.2 进入了无限循环。
    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多