如何告诉CMake目录是否已生成,以便在构建进程之前不会抱怨该目录不存在?
我的库项目被许多客户端使用,对于每个客户端,我都有脚本生成的客户端特定配置,并放入生成的/ [client-name] /generated.h头文件中。因此,对于每个客户端,都会生成文件夹。但是父项目源文件(* .cpp)只包含generated.h。我想使用:
为我的库添加生成的/ [client-name]接口包含目录set_target_properties(mylib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "generated/myclient" ...)
但是CMake甚至在开始编译之前就抱怨了 - 导入的目标“xxx”包括不存在的路径。所以我猜CMake不喜欢包含目录在开始构建过程时丢失,尽管目标依赖于应该创建正确目录的其他目标。其中的头文件。
答案 0 :(得分:1)
您可以先使用CMake创建目录:
file(MAKE_DIRECTORY "generated/myclient")
如果目录已存在,则无效。