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

标签 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 文件中,我该怎么办?谢谢。

最佳答案

不要使用已弃用的命令 subdirs .替换为 add_subdirectory 时一切正常

关于c++ - 如何确保 cmake 代码将在子目录之后运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30892388/

相关文章:

gcc - 使用 Cmake 构建 Android NDK 项目

c++ - 从自动输入参数推导出返回类型

c++ - 用 g++ 编译 FLTK

c++ - 是否在 C++ 中打印空字符串可观察行为?

xcode - 我怎样才能让 CMake 创建一个 xcode 项目,在系统头文件中抑制警告?

cmake - 使用 {fmt} 作为 CMake 依赖项的问题

c++ - 将 `-std=c++11` 传递给 CMakeLists?

c++ - Rubik's Cube Scramble 生成器算法

c++ - 尽管明确声明了返回类型,但对 lambda 的调用仍不明确

android - CMake 链接可执行文件到共享库(Android Studio 2.2)