1
project(tribe)
2
3
cmake_minimum_required(VERSION 2.6.0)
4
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
5
6
find_package(KDE4 REQUIRED)
7
8
configure_file(config-tribe.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-tribe.h)
9
10
include (MacroLibrary)
11
include (FindPackageHandleStandardArgs)
12
include (KDE4Defaults)
13
14
find_package(MarbleWidget REQUIRED)
15
find_package(TribePartitionManager REQUIRED)
16
find_package(MSGFMT REQUIRED)
17
18
add_subdirectory(icons)
19
add_subdirectory(translations)
20
21
add_definitions (
22
    ${QT_DEFINITIONS}
23
    ${KDE4_DEFINITIONS}
24
)
25
26
include_directories (
27
    ${CMAKE_SOURCE_DIR}
28
    ${CMAKE_SOURCE_DIR}/src
29
    ${CMAKE_BINARY_DIR}
30
    ${KDE4_INCLUDES}
31
    ${LIBMARBLEWIDGET_INCLUDE_DIR}
32
    ${TRIBEPARTITIONMANAGER_INCLUDE_DIR}
33
)
34
35
SET(tribe_SRCS
36
    src/main.cpp
37
    src/mainwindow.cpp
38
    src/installationhandler.cpp
39
    src/abstractpage.cpp
40
    src/screenshots.h
41
    src/pmhandler.cpp
42
)
43
44
SET(tribe_WIDGETS
45
    src/widgets/progresswidget.cpp
46
    src/widgets/userwidget.cpp
47
    src/widgets/avatardialog.cpp
48
)
49
50
SET(tribe_PAGES
51
    src/pages/intropage.cpp
52
    src/pages/releasenotespage.cpp
53
    src/pages/partitionpage.cpp
54
    src/pages/usercreationpage.cpp
55
    src/pages/installationpage.cpp
56
    src/pages/readyinstallpage.cpp
57
    src/pages/bootloaderpage.cpp
58
    src/pages/finishpage.cpp
59
    src/pages/licensepage.cpp
60
    src/pages/configpage.cpp
61
    src/pages/localepage.cpp
62
)
63
64
SET(tribe_PAGE_UIS
65
    ui/pages/base.ui
66
    ui/pages/intro.ui
67
    ui/pages/releasenotes.ui
68
    ui/pages/license.ui
69
    ui/pages/locale.ui
70
    ui/pages/config.ui
71
    ui/pages/partition.ui
72
    ui/pages/usercreation.ui
73
    ui/pages/installation.ui
74
    ui/pages/readyinstall.ui
75
    ui/pages/bootloader.ui
76
    ui/pages/finish.ui
77
)
78
79
set(tribe_WIDGET_UIS
80
    ui/widgets/progresswidget.ui
81
    ui/widgets/userwidget.ui
82
    ui/widgets/avatardialog.ui
83
)
84
85
SET(tribe_IMAGES
86
    ui/images/background.svg
87
    ui/images/sidebar.svg
88
)
89
90
SET(tribe_STYLESHEET
91
    ui/tribe.qss
92
)
93
94
qt4_add_resources(tribe_RESOUCES ui/tribe.qrc)
95
96
kde4_add_ui_files(tribe_SRCS ${tribe_PAGE_UIS} ${tribe_WIDGET_UIS})
97
98
kde4_add_executable(tribe
99
    ${tribe_SRCS}
100
    ${tribe_PAGES}
101
    ${tribe_WIDGETS}
102
    ${tribe_RESOUCES}
103
)
104
105
target_link_libraries(tribe
106
                      ${KDE4_KDEUI_LIBRARY}
107
                      ${KDE4_KDECORE_LIBRARY}
108
                      ${KDE4_KUTILS_LIBRARY}
109
                      ${KDE4_KIO_LIBRARY}
110
                      ${LIBMARBLEWIDGET_LIBRARY}
111
                      ${TRIBEPARTITIONMANAGER_LIBRARY}
112
)
113
114
file(GLOB POSTINSTALL_FUNCTIONS
115
    scripts/postinstall-functions/* )
116
117
file(GLOB tribe_SCRIPTS
118
    scripts/*.sh )
119
120
file(GLOB tribe_AVATARS
121
    ui/images/avatars/*.png )
122
123
file(GLOB appIcons
124
    data/appIcons/*.png )
125
126
install(TARGETS tribe DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
127
128
install(FILES ${tribe_SCRIPTS} 
129
        DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/scripts 
130
        PERMISSIONS GROUP_READ
131
                    OWNER_READ
132
                    WORLD_READ
133
                    GROUP_EXECUTE
134
                    OWNER_EXECUTE
135
                    WORLD_EXECUTE)
136
137
install(FILES ${tribe_AVATARS} 
138
        DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/avatars)
139
140
install(FILES ${POSTINSTALL_FUNCTIONS} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/scripts)
141
install(FILES data/postinstall.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
142
143
install(FILES RELEASE_NOTES.html DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
144
install(FILES tribe.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
145
146
install(FILES ${tribe_STYLESHEET} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/style)
147
install(FILES data/cities.kml DESTINATION ${DATA_INSTALL_DIR}/marble/data/placemarks)
148
install(FILES data/timezones DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
149
150
install(FILES data/all_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
151
install(FILES data/all_kde_langpacks DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
152
install(FILES ${appIcons} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
153
install(FILES data/configPagePkgData DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)
154
install(FILES data/configPageBundleData DESTINATION ${CMAKE_INSTALL_PREFIX}/share/tribe/config)