Sha*_*gon 7 c++ cross-platform cmake visual-studio visual-studio-2017
我目前正在使用这段代码来生成我的 CMake 源文件列表来编译我的 C++ 项目:
file(GLOB CPP_FILES src/*.cpp)
Run Code Online (Sandbox Code Playgroud)
正如我在此处读到的,CMake 不鼓励这样做,我想知道是否可以使用 CMake明确列出CMake的源文件,因为我不熟悉 Python 等脚本语言。
我问这个是因为将所有 cpp 文件手动添加到 CMake 中需要做很多工作,尤其是在与多人合作时。
该项目与平台无关,我的源文件位于子文件夹中。
CMake 没有本地方法可以为您执行此操作。
您可以为大型或共享项目做的是使用一个脚本,它可以由任何可以扫描文件系统或其他存储库的任何东西创建,以生成一个列出源文件的 CMake 文件。
然后你可以只include()生成这个 CMake 文件。
CMake 文件中的说明可能target_sources()用于已知目标。
CMakeLists.txt:
add_executable(myexe "")
include(sourcelist)
Run Code Online (Sandbox Code Playgroud)
源列表.cmake:
target_sources(myexe PRIVATE
mysourcefile1.cpp
mysourcefile2.cpp
)
Run Code Online (Sandbox Code Playgroud)
或者通过附加到变量:
CMakeLists.txt:
include(sourcelist)
add_executable(myexe ${sources})
Run Code Online (Sandbox Code Playgroud)
源列表.cmake:
set(sources ${sources}
mysourcefile1.cpp
mysourcefile2.cpp
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12137 次 |
| 最近记录: |