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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
set (PKGNAME pantheon-files-core)
set (PKGNAME_ PANTHEON_FILES_CORE)
set (${PKGNAME_}_VERSION 0.1)
# increase when you broke the API
set (${PKGNAME_}_SOVERSION 0)
set (PREFIX ${CMAKE_INSTALL_PREFIX})
set (DOLLAR "$")
# You hear that? It's kittens being killed by the gods of cmake
include_directories(${CMAKE_BINARY_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
vala_precompile(VALA_C ${PKGNAME}
AbstractSidebar.vala
AbstractSlot.vala
Bookmark.vala
BookmarkList.vala
DndHandler.vala
Enums.vala
FileUtils.vala
gof-callwhenready.vala
gof-directory-async.vala
gof-preferences.vala
PluginManager.vala
Plugin.vala
SoundManager.vala
PACKAGES
granite
gtk+-3.0
gio-2.0
gee-0.8
gmodule-2.0
libcanberra
pantheon-files-core-C
OPTIONS
--vapidir=${CMAKE_CURRENT_SOURCE_DIR}/
--thread
--target-glib=2.32 # Needed for new thread API
GENERATE_VAPI
pantheon-files-core
GENERATE_HEADER
pantheon-files-core
)
set (C_SOURCE_FILES
eel-fcts.c
eel-i18n.c
eel-gtk-extensions.c
eel-gdk-pixbuf-extensions.c
eel-pango-extensions.c
eel-glib-extensions.c
eel-gio-extensions.c
eel-stock-dialogs.c
eel-debug.c
eel-string.c
eel-accessibility.c
eel-ui.c
eel-vfs-extensions.c
marlin-file-operations.c
marlin-undostack-manager.c
marlin-file-changes-queue.c
marlin-file-utilities.c
marlin-file-conflict-dialog.c
fm-list-model.c
marlin-progress-info.c
marlin-progress-info-manager.c
marlin-exec.c
gof-file.c
marlin-icon-info.c
marlin-trash-monitor.c
${VALA_C})
set (C_HEADER_FILES
eel-accessibility.h
eel-debug.h
eel-fcts.h
eel-gdk-pixbuf-extensions.h
eel-gio-extensions.h
eel-glib-extensions.h
eel-gtk-extensions.h
eel-i18n.h
eel-pango-extensions.h
eel-stock-dialogs.h
eel-string.h
eel-ui.h
eel-vfs-extensions.h
gof-file.h
marlin-exec.h
marlin-file-conflict-dialog.h
marlin-file-operations.h
marlin-undostack-manager.h
marlin-file-changes-queue.h
marlin-file-utilities.h
marlin-icons.h
marlin-progress-info.h
marlin-progress-info-manager.h
marlin-icon-info.h
fm-list-model.h
marlin-trash-monitor.h)
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/${PKGNAME}.pc)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${PKGNAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/pantheon-files-core.h DESTINATION include/pantheon-files-core/)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/pantheon-files-core.vapi DESTINATION share/vala/vapi)
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/pantheon-files-core.deps DESTINATION share/vala/vapi)
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/pantheon-files-core-C.vapi DESTINATION share/vala/vapi)
install (FILES ${C_HEADER_FILES} DESTINATION include/pantheon-files-core/)
# Check for the deps
find_package(PkgConfig)
pkg_check_modules(DEPS REQUIRED
glib-2.0>=2.29.0
gthread-2.0
gio-2.0
pango>=1.1.2
gtk+-3.0>=3.4.0
gail-3.0
gee-0.8
gmodule-2.0
sqlite3
libcanberra>=0.30
granite)
# Link all
set(CFLAGS ${DEPS_CFLAGS} ${DEPS_CFLAGS_OTHER})
add_definitions(${CFLAGS})
set(LIBS
${DEP_LIBRARIES}
)
link_libraries(${LIBS})
set (LIB_PATHS ${DEPS_LIBRARY_DIRS})
link_directories (${LIB_PATHS})
add_library (${PKGNAME} SHARED ${C_SOURCE_FILES})
set_target_properties (${PKGNAME} PROPERTIES
VERSION ${PANTHEON_FILES_CORE_VERSION}
SOVERSION ${PANTHEON_FILES_CORE_SOVERSION})
target_link_libraries (${PKGNAME} m ${DEPS_LIBRARIES})
install (TARGETS ${PKGNAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
add_subdirectory (tests)
|