# 强制所有编译、设计时生成均使用x64,禁止Win32 set(CMAKE_GENERATOR_PLATFORM x64 CACHE STRING "强制x64平台,禁用Win32") set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCH x64) # 关闭VS自动Win32设计时预生成 set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD OFF) project(Updater) set(SRC main.cpp UpdaterLogic.h UpdaterLogic.cpp UpdateTransaction.h UpdateTransaction.cpp ${CMAKE_SOURCE_DIR}/i18n/update-client.qrc ) add_executable(Updater ${SRC}) if(WIN32) set_target_properties(Updater PROPERTIES WIN32_EXECUTABLE TRUE) endif() # 关键:给Updater自身添加OpenSSL头文件目录,解决#include openssl/*找不到 target_include_directories(Updater PRIVATE ${OPENSSL_INC}) # 仅链接Common和Qt,OpenSSL库由Common INTERFACE自动传递 target_link_libraries(Updater PRIVATE Common Qt5::Core Qt5::Network Qt5::Gui Qt5::Widgets ) # Qt部署脚本 if(WIN32) get_target_property(QT_WINDEPLOYQT_EXE Qt5::qmake IMPORTED_LOCATION) get_filename_component(QT_BIN_PATH "${QT_WINDEPLOYQT_EXE}" DIRECTORY) set(WINDEPLOYQT "${QT_BIN_PATH}/windeployqt.exe") add_custom_command(TARGET Updater POST_BUILD COMMAND ${WINDEPLOYQT} $,--debug,--release> $ ) endif()