build: 修复IUP DLL复制命令的路径和条件逻辑

将CMAKE_SOURCE_DIR改为CMAKE_CURRENT_SOURCE_DIR以获取正确的相对路径。
移除不必要的条件判断,确保DLL复制命令始终执行。
使用引号包裹目标目录变量,避免路径包含空格时出现问题。
This commit is contained in:
2026-03-19 12:43:09 +08:00
parent 50f9f95ad5
commit 1681473357
+8 -10
View File
@@ -65,13 +65,11 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
advapi32 advapi32
) )
# 添加 POST_BUILD 自定义命令,复制 DLL 到构建输出目录 # 编译完成后,将 DLL 文件复制到构建输出目录
file(GLOB IUP_DLLS "${CMAKE_SOURCE_DIR}/libs/iup-3.31_Win64_dllw6_lib/*.dll") file(GLOB IUP_DLLS "${CMAKE_CURRENT_SOURCE_DIR}/libs/iup-3.31_Win64_dllw6_lib/*.dll")
if(IUP_DLLS) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${IUP_DLLS}
${IUP_DLLS} "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
$<TARGET_FILE_DIR:${PROJECT_NAME}> COMMENT "Copying DLLs to build directory..."
COMMENT "Copying IUP DLLs to build directory..." )
)
endif()