首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有可能在cmake中编写一个忽略以某种方式结束的文件的GLOB_RECURSE?

在cmake中,可以使用GLOB_RECURSE命令来查找指定路径下的所有符合特定模式的文件。然而,目前的cmake版本(包括最新版本)并不支持直接在GLOB_RECURSE命令中忽略以某种方式结束的文件。

通常,我们可以通过在CMakeLists.txt文件中使用自定义的逻辑来实现这一功能。以下是一个示例的解决方案:

代码语言:txt
复制
# 遍历文件夹并忽略以指定方式结束的文件
function(IGNORE_FILES_GLOB_RECURSE result folder pattern ignore_ending)
    file(GLOB_RECURSE files ${folder}/${pattern})
    set(filtered_files "")
    foreach(file ${files})
        string(FIND ${file} ${ignore_ending} ending_index REVERSE)
        if(${ending_index} EQUAL -1)
            list(APPEND filtered_files ${file})
        endif()
    endforeach()
    set(${result} ${filtered_files} PARENT_SCOPE)
endfunction()

# 使用示例
set(ignore_ending ".txt")  # 设置忽略以".txt"方式结束的文件
IGNORE_FILES_GLOB_RECURSE(my_files "${CMAKE_CURRENT_SOURCE_DIR}" "*" "${ignore_ending}")

# 输出结果
foreach(file ${my_files})
    message("File: ${file}")
endforeach()

上述示例中,我们定义了一个名为IGNORE_FILES_GLOB_RECURSE的函数,该函数接受四个参数:result(保存结果的变量名)、folder(要搜索的文件夹路径)、pattern(文件匹配模式)、ignore_ending(要忽略的文件的结尾方式)。函数内部使用file命令的GLOB_RECURSE选项来搜索指定文件夹下的所有符合模式的文件,并通过自定义的逻辑来过滤掉结尾方式为ignore_ending的文件。最后,将过滤后的文件列表存储在result参数所指定的变量中,并通过PARENT_SCOPE选项使其在函数调用的上下文中可见。

使用时,我们可以将忽略的文件结尾方式通过设置ignore_ending变量来指定,然后调用IGNORE_FILES_GLOB_RECURSE函数来获取符合条件的文件列表。最后,可以根据需要对获取到的文件列表进行进一步的操作或输出。

需要注意的是,上述解决方案只是通过自定义的逻辑来实现忽略特定方式结束的文件,而非直接使用cmake提供的现有功能。此外,由于CMakeLists.txt文件本身是一个cmake脚本,因此可以在其中使用cmake提供的各种命令和函数来实现更加复杂的操作。

相关搜索:有没有可能在没有javascript的情况下,以某种方式在Rails的索引页面上为每个家长创建表单?有没有可能以某种方式在一个文件中编写def函数,并在导入时在另一个文件中使用它?行动手册中的这些可能的任务可以以某种方式合并到一个任务中吗?有没有可能在groupBy中以一种简单的方式对每个组进行排序?有没有可能在Python中修饰一个函数,以便记录它的开始和结束?以一种很好的方式在R脚本中编写一堆文件基于TypeScript中的另一个接口,我可以以某种方式定义接口中的索引名吗?flutter web以某种方式允许从本地计算机上的固定路径中挑选文件吗?如何将循环中的每个元素附加到新创建的<a>标记中,但以某种方式使每个元素都以单独的锚标记结束?给定一个文件目录,有没有在IntelliJ中打开该文件的快捷方式?这是一个问题,我以某种方式设法在MySQL表中获得两个具有相同名称的索引?有没有办法以编程方式从Google Drive公共文件夹中读取图像的URL?有没有什么标准的方法可以在FreeBSD中以编程方式获取文件或目录的创建时间以一种简单的Pythonic方式向csv文件中写入一个简单的dict?有没有可能在一个单独的可执行文件中嵌入电子应用程序和数据文件?有没有办法在不使用COM的情况下在C#中以编程方式遵循Windows文件系统快捷方式?以递归方式将遵循特定模式的所有文件中的特定文本替换为另一个文本使用VBA,我想将一张图纸导出为CSV文件,但以某种方式添加了今天的日期。这将是每日导出-因此需要一个日期如何在R中编写一个以Excel文件名为参数(无扩展名)并导入该文件的函数当尝试在React中以某种形式使用react-select模块时,一个JSON文件中的数据会覆盖另一个JSON数据集
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券