我正在尝试从qt库文件夹复制qwindows.dll
到目标文件夹。目前,我正在使用以下代码:
add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> $<TARGET_FILE_DIR:${PROJECT_NAME}>)
可以,但是它将文件复制到目标目录中。我需要将文件复制到platforms
子文件夹中,但我不知道该怎么办。我尝试过
add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> $<TARGET_FILE_DIR:${PROJECT_NAME}>/platforms/qwindows.dll)
但是问题是.dll在调试模式下(qwindowsd.dll
)有另一个名称,因此我需要两次插入命令。
是否可以使用Qt5::QWindowsIntegrationPlugin
来检索文件名并将其用作第二个命令中的目标文件?
答案 0 :(得分:1)
add_custom_command(
TARGET demo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:demo>/platforms/
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt5::QWindowsIntegrationPlugin>
$<TARGET_FILE_DIR:demo>/platforms/
)