-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
108 lines (85 loc) · 3.27 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
cmake_minimum_required(VERSION 3.5)
project(NextcloudShareDownloader
VERSION 1.2
DESCRIPTION "Downloads / Syncs files from a Nextclound share"
HOMEPAGE_URL "https://github.com/adrido/NextcloudShareDownloader"
LANGUAGES CXX)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(GenerateProductVersion)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Widgets Network LinguistTools REQUIRED)
set(OPENSSL_ROOT_DIR "C:/Qt/Tools/OpenSSL/Win_x64/")
find_package(OpenSSL 1.1 REQUIRED )
# Translations
set(TS_FILES ${CMAKE_SOURCE_DIR}/translations/${PROJECT_NAME}_de.ts)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "translations/")
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
generate_product_version(RESOURCE_FILE
NAME ${PROJECT_NAME}
ICON ${CMAKE_SOURCE_DIR}/icons/Icon.ico
VERSION_MAJOR ${PROJECT_VERSION_MAJOR}
VERSION_MINOR ${PROJECT_VERSION_MINOR}
VERSION_PATCH ${PROJECT_VERSION_PATCH}
# VERSION_REVISION ${BUILD_REVISION}
)
add_executable(Nextxcloudsync WIN32
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
propfindparser.cpp
propfindparser.h
remotediriterator.cpp
remotediriterator.h
messagelogger.cpp
messagelogger.h
downloadwidget.cpp
downloadwidget.h
Resource.qrc
${QM_FILES}
${RESOURCE_FILE}
)
target_link_libraries(Nextxcloudsync PRIVATE
Qt5::Widgets
Qt5::Network)
include(DeployQt)
windeployqt(Nextxcloudsync)
file(COPY
${OPENSSL_ROOT_DIR}/bin/libcrypto-1_1-x64.dll
${OPENSSL_ROOT_DIR}/bin/libssl-1_1-x64.dll
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
# Deployment / Installation
############################
set(CMAKE_INSTALL_UCRT_LIBRARIES FALSE)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ".")
include(InstallRequiredSystemLibraries)
install(TARGETS Nextxcloudsync DESTINATION "./")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/Qt5Core.dll
${CMAKE_CURRENT_BINARY_DIR}/Qt5Gui.dll
${CMAKE_CURRENT_BINARY_DIR}/Qt5Network.dll
${CMAKE_CURRENT_BINARY_DIR}/Qt5Svg.dll
${CMAKE_CURRENT_BINARY_DIR}/Qt5Widgets.dll
${CMAKE_CURRENT_BINARY_DIR}/Qt5Widgets.dll
${CMAKE_CURRENT_BINARY_DIR}/libcrypto-1_1-x64.dll
${CMAKE_CURRENT_BINARY_DIR}/libssl-1_1-x64.dll
DESTINATION "./")
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/platforms/ DESTINATION platforms/ )
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/styles/ DESTINATION styles/ )
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/translations/ DESTINATION translations/ )
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/iconengines/ DESTINATION iconengines/)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/imageformats/ DESTINATION imageformats/)
# CPack Variables
set(CPACK_PACKAGE_VENDOR "Adrido")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt")
set(CPACK_PACKAGE_EXECUTABLES Nextxcloudsync Nextxcloudsync)
set(CPACK_WIX_UPGRADE_GUID FEFC0CF0-0226-4DE1-BBCF-E6515C338919)
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/icons/Icon.ico")
set(CPACK_WIX_PROGRAM_MENU_FOLDER ".") # No Program menu folder
set(CPACK_WIX_PROPERTY_ARPHELPLINK "https://github.com/adrido/NextcloudShareDownloader/issues")
include(CPack)