最近用cmake构建QT工程,做了一些小实验,期间遇到了这个问题,记录一下。
网上看到遇到这个问题的人,问题都各有不同,我这边遇到的问题是这样的,我想要在CMake中将导入的第三方库复制到生成的可执行文件的bin目录下,于是写了下面一段代码:
#将依赖库复制到目标文件夹
add_custom_command(TARGET yxwidgets PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_SOURCE_DIR}/lib/liteavSdk/lib
${bin_dir}/${CMAKE_BUILD_TYPE}
)
这个代码本身没啥语法问题,但是我搞错了一个比较重要的点,那就是CMAKE_SOURCE_DIR与CMAKE_CURRENT_SOURCE_DIR这两个参数虽然有时候用起来效果是一样的(工程没有子项目的情况下),但是实际作用却并不相同,下面看看官方文档的解释:
CMAKE_SOURCE_DIR:
The path to the top level of the source tree.
当前工程目录的顶层路径
CMAKE_CURRENT_SOURCE_DIR:
The path to the source directory currently being processed.
This the full path to the