以下是我的CMakeLists.txt文件的一部分.
file(GLOB SOURCES "xyz/*.cpp")
message("${SOURCES}")
list(REMOVE_ITEM SOURCES "src1.cpp")
message("${SOURCES}")
Run Code Online (Sandbox Code Playgroud)
这里的文件"xyz/*.cpp"
是一个相对路径.${SOURCES}
之前和之后的内容是相同的REMOVE_ITEM
.
为什么list(REMOVE_ITEM)
不在我的案子中工作?任何帮助都是非常宝贵的.
kri*_*ian 10
我找到了解决问题的方法.我的解决方案背后的想法是,获取特殊cpp文件的完整路径,因为我看到,该命令file(GLOB SOURCES "src/*.cpp")
给了我一个完整路径列表.获取特殊文件的完整路径后,我可以从列表中删除.这是一个小例子
cmake_minimum_required(VERSION 3.4)
project(list_remove_item_ex)
file(GLOB SOURCES "src/*.cpp")
# this is the file I want to exclude / remove from the list
get_filename_component(full_path_test_cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/test.cpp ABSOLUTE)
message("${full_path_test_cpp}")
list(REMOVE_ITEM SOURCES "${full_path_test_cpp}")
message("${SOURCES}")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6098 次 |
最近记录: |