41 lines
1.3 KiB
CMake
41 lines
1.3 KiB
CMake
|
|
# 强制所有编译、设计时生成均使用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)
|
|||
|
|
# 清除32位Strawberry Perl路径干扰
|
|||
|
|
list(REMOVE_ITEM CMAKE_INCLUDE_PATH "D:/softwaresInstallDir/strawberry-perl-5.22.1.3-32bit/c/include")
|
|||
|
|
list(REMOVE_ITEM CMAKE_LIBRARY_PATH "D:/softwaresInstallDir/strawberry-perl-5.22.1.3-32bit/c/lib")
|
|||
|
|
|
|||
|
|
project(Updater)
|
|||
|
|
set(SRC
|
|||
|
|
main.cpp
|
|||
|
|
UpdaterLogic.h
|
|||
|
|
UpdaterLogic.cpp
|
|||
|
|
UpdateTransaction.h
|
|||
|
|
UpdateTransaction.cpp
|
|||
|
|
)
|
|||
|
|
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 $<TARGET_FILE:Updater>
|
|||
|
|
)
|
|||
|
|
endif()
|