【发布时间】:2019-09-05 01:50:52
【问题描述】:
我的这段代码的目标是将一个包含包含文件夹的静态库复制到另一个目录中。
新目录将具有结构
output_dir
├───include
├───lib
└───win64
我有两行 install 的 CMake 代码行,我想减少到一行。首先,我将 lib 目标安装到output_dir/lib/win64,将include 目录安装到output_dir/include。
add_library(lib STATIC test.cpp )
target_include_directories(lib
PUBLIC
${PROJECT_SOURCE_DIR}/include
)
install(TARGETS lib
ARCHIVE
DESTINATION
${PROJECT_SOURCE_DIR}/build/output_dir/lib/win64
)
install(DIRECTORY
${PROJECT_SOURCE_DIR}/include
DESTINATION
${PROJECT_SOURCE_DIR}/build/output_dir/include
)
我想有效地将两个安装命令减少到一个,这是我最好的尝试。静态 lib 库被正确复制,但目录被忽略。
install(TARGETS lib
ARCHIVE
DESTINATION
${PROJECT_SOURCE_DIR}/build/output_dir/lib/win64
PUBLIC_HEADER
DESTINATION
${PROJECT_SOURCE_DIR}/build/output_dir/
INCLUDES
DESTINATION
${PROJECT_SOURCE_DIR}/build/output_dir/
)
我知道 public_header 的错误,但我做错了什么?
【问题讨论】:
标签: visual-studio cmake