我正在使用Cmake创建项目,并且我使用ExternalProject
来包含依赖项。该依赖项有自己的CMakeLists.txt
,在CMakeLists.txt
内部,它包含两个使用add_subdirectory
的目录,这些目录是示例,我想删除它们。
例如:
ExternalProject_Add(
foobar
URL url_goes_here
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/vendor/foobar
INSTALL_COMMAND ""
)
在CMakeLists.txt
的{{1}}内,它有foobar
和add_subdirectory(example1)
。
我想从构建中删除这两个例子。
答案 0 :(得分:0)
我首先检查foobar是否已经有一个标志来禁用这些示例。您可以使用CMAKE_ARGS设置标志。
否则,您可以使用PATCH_COMMAND从foobar中删除示例。
更新1,如何修补:您可以使用多种可能性之一
patch -p1 < disable_examples.patch
sed -i '/add_subdirectory\(examples\)/d' CMakeListss.txt
。在这种情况下,删除修补正则表达式add_subdirectory\(examples\)
。cmake -P script.cmake
的CMake脚本,逐行读取文件并删除示例行。 可悲的是,只有最后一个选项适用于跨平台,即在Windows上。