~elementary-apps/pantheon-files/trunk

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)