如何确保cmake代码将在子目录之后运行

时间:2015-06-17 13:00:11

标签: c++ cmake

举一个小例子来说明我的问题:

project(Test)

set(TestLibName mytest)
subdirs(src) # will generate mytest.dll dynamic library

set_property(TARGET ${TestLibName} PROPERTY FOLDER "test")

在这个小脚本中,我想在src foler中使用CMakeLists.txt文件生成动态库,之后我将在顶部CMakeLists.txt中设置库的属性。但是,它似乎不起作用,因为我有以下错误:

set_property cannot find Target "mytest". Perhaps it has been created yet. 

解决此问题的一个解决方案是将set_property放在创建动态库(src/CMakeLists.txt)的CMakeLists.txt中。如果我坚持将其放在顶级CMakeLists.txt文件中,我该怎么办?谢谢。

1 个答案:

答案 0 :(得分:1)

请勿使用已弃用的命令subdirs。当它被add_subdirectory

替换时,一切正常
相关问题