forked from KanColleTool/KanColleTool
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
90 lines (74 loc) · 2.6 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
cmake_minimum_required(VERSION 2.8)
project(KanColleTool)
# These three are managed by the version bump script!
set(VERSION_MAJOR 0)
set(VERSION_MINOR 9)
set(VERSION_PATCH 4)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# On Windows, we need to manually find Qt installations >_>
if(WIN32)
file(GLOB QtVerDirs "C:/Qt/5.*")
foreach(dir ${QtVerDirs})
if(MSVC)
file(GLOB QtDirs "${dir}/msvc*")
list(GET QtDirs 0 QtDir)
else()
file(GLOB QtDirs "${dir}/mingw*")
list(GET QtDirs 0 QtDir)
endif()
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${QtDir}")
set(ENV{PATH} "$ENV{PATH};${QtDir}")
endforeach(dir)
endif(WIN32)
if(APPLE)
# Remove when Qt 5.5.1 is released
# https://codereview.qt-project.org/#/c/115201/
add_definitions(-Wno-unknown-pragmas)
endif()
add_subdirectory(viewer)
add_subdirectory(tool)
if(WIN32)
foreach(target "viewer" "tool")
set(base ${PROJECT_SOURCE_DIR}/${target}/bin/Release)
file(GLOB DLLS ${base}/*.dll)
install(FILES ${DLLS} DESTINATION .)
file(GLOB children RELATIVE ${base} ${base}/*)
foreach(child ${children})
if(IS_DIRECTORY ${base}/${child})
file(GLOB DLLS2 ${base}/${child}/*.dll)
install(FILES ${DLLS2} DESTINATION ${child})
endif()
endforeach()
endforeach()
endif()
#
# --> CPack stuff
#
# General
set(CPACK_PACKAGE_NAME "KanColleTool")
set(CPACK_PACKAGE_VENDOR "The KanColleTool Team")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Makes KanColle better")
set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
set(CPACK_PACKAGE_EXECUTABLES "KanColleTool;KanColleTool" "KCTViewer;KanColleTool Viewer")
set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README.txt")
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
# --> Windows specific
set(CPACK_PACKAGE_INSTALL_DIRECTORY "KanColleTool")
# --> Linux specific
set(CPACK_INSTALL_PREFIX "/usr")
# --> Debian specific
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "uppfinnarn <[email protected]>")
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_REPLACES "kancolletool-viewer")
# --> NSIS specific
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
set(CPACK_NSIS_INSTALLED_ICON_NAME "KanColleTool.exe")
set(CPACK_NSIS_HELP_LINK "http://kancolletool.github.io/")
set(CPACK_NSIS_URL_INFO_ABOUT "http://kancolletool.github.io/")
set(CPACK_NSIS_CONTACT "[email protected]")
include(CPack)