cmake - 如何在 CMake 中定义与模式匹配的文件列表?

标签 cmake

如何在 CMake 中定义包含匹配模式的文件列表的变量?例如,test_*.cpp ?

以及如何定义包含与模式不匹配的文件列表的变量?例如,test_*.cpp应该匹配除上面匹配的文件之外的所有文件。

最佳答案

为了匹配特定模式的源文件,您可以使用通配模式。

file(GLOB_RECURSE TEST_FILES
  "${PROJECT_SOURCE_DIR}/src/test_*.cpp"
)

我不确定如何排除这些特定文件,可能将它们从所有工作文件列表中排除,就像这样
file(GLOB_RECURSE SRC_FILES
  "${PROJECT_SOURCE_DIR}/src/*.cpp"
)
list(REMOVE_ITEM ${SRC_FILES} ${TEST_FILES})

我指的是list REMOVE_ITEM来自此来源 http://www.cmake.org/cmake/help/v3.0/command/list.html

关于cmake - 如何在 CMake 中定义与模式匹配的文件列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755184/

相关文章:

cmake - 为目标生成程序集

linux - cmake 找不到环境变量

c++ - CMake 中的 OpenCV 和 Gtest 冲突

c++ - 在 CMake 阶段而不是构建阶段构建和运行 C++ 代码

c - DLL 对静态库的依赖

c++ - CMake链接阶段问题

android - CMake共享项目子目录避免重建

c++ - CMake 链接错误 pthread:启用多线程以使用 std::thread:不允许操作

cmake - 如何每次在 CMake 构建中运行 python 脚本?

android-ndk - 从命令行构建 Crashlytics NDK 符号