gpt4 book ai didi

c++ - CMake:如何指定不同的 CMakeFileList?

转载 作者:行者123 更新时间:2023-11-28 02:11:41 24 4
gpt4 key购买 nike

我们为同一项目中的不同构建选项创建了 3 个不同的 CMakeFileList 文件(CMakeFileList.engine、CMakeFileList.data 和 CMakeFileList.fep)。 CMake 是否支持将 CMakeFileList 文件指定为参数?如果没有,利用 cmake 完成任务的最佳方法是什么?任何建议表示赞赏。

最佳答案

一般来说,我通过使用 option() cmake 命令并只提供一个 CMakeLists.txt 文件来完成此类事情(根据选项在内部决定构建什么,即然后,您还可以在一次 cmake/make 运行中构建所有内容。

例子:

# the defaults (can be overridden on the command line)
option(BUILD_ENGINE "Build the Engine" ON)
option(BUILD_DATA "Build the Data" ON)
option(BUILD_FEP "Build the Fep" OFF)

if (BUILD_ENGINE)
# commands to build the Engine target or include(CMakeFileList.engine)
endif()

if (BUILD_DATA)
# commands to build the Data target or include(CMakeFileList.data)
endif()

if (BUILD_FEP)
# commands to build the Fep target or include(CMakeFileList.fep)
endif()

然后您可以将所有内容都放在一个 CMakeLists.txt 中并构建每次需要的内容,可能是多个包(如果不同于默认设置,您可以在 cmake 命令行上打开/关闭)。或者也包括单独的 cmake 列表(只是为了确保在需要构建所有内容时它们能够协同工作)。

关于c++ - CMake:如何指定不同的 CMakeFileList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com