gpt4 book ai didi

cmake - 在CMake中自动使用目录作为项目名称

转载 作者:行者123 更新时间:2023-12-03 14:14:18 25 4
gpt4 key购买 nike

我在使用CMake来管理我的构建系统方面还很陌生,所以如果我很愚蠢,这是一个坏主意,请告诉我。

我希望能够设置我的cmakelists.txt文件,以便在执行该操作时

project( ... )


目录名将自动成为项目名称。我想这样做是因为我发现能够将一个项目的整个目录复制为另一个项目的起点很方便。但是,尽管我总是将目录重命名为有意义的名称,但我常常忘记更改cmakelists.txt文件的 project(name)行,然后最终在构建环境中打开了多个具有相同名称的项目,这令人困惑。

理想情况下,如果目录名称中包含空格,则将其替换为下划线。

CMake可以这样做吗?出于某种原因,我没有看到这是一个坏主意吗?

最佳答案

您可以通过将以下内容添加到CMakeLists.txt的开头来实现此目的:

get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)
string(REPLACE " " "_" ProjectId ${ProjectId})
project(${ProjectId})


尽管我认为生产项目通常会有一个预定义的名称,该名称可以在 project命令中显式设置,但我认为丢弃项目不会出现问题。

当您提到“将一个项目的整个目录复制为另一个项目的起点”时,我假设您在复制时不包括构建树吗? CMake isn't really able to handle the build tree being moved

关于cmake - 在CMake中自动使用目录作为项目名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344368/

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