File: CMakeLists.txt

package info (click to toggle)
vala-panel-appmenu 0.7.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,336 kB
  • sloc: ansic: 2,309; xml: 83; makefile: 56; sh: 7
file content (67 lines) | stat: -rw-r--r-- 2,141 bytes parent folder | download
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
cmake_minimum_required (VERSION 3.3)
cmake_policy (VERSION 3.3)
cmake_policy (SET CMP0063 NEW)
project (dbusmenu-importer C)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

# Vala
set(ENUM_FILES
        definitions.h
        )
add_glib_enumtypes(ENUMSC ENUMSH importer-enums ${ENUM_FILES})
add_definitions(-Wall -Wextra
                -Wno-unused-parameter# Vala loves to create variables
                -Wno-incompatible-pointer-types
                ) #Vala often forgot cast to GtkWidget or gpointer

find_package (PkgConfig)
find_package(GLIB2 2.50 REQUIRED QUIET COMPONENTS GOBJECT GIO GIO_UNIX GMODULE GTHREAD CODEGEN MKENUMS )
include(GLibProgramHandlers)
find_package(GTK 3.22 REQUIRED QUIET COMPONENTS GDK )

pkg_check_modules(PIXBUF REQUIRED QUIET
    gdk-pixbuf-2.0)

set(DBUS_PROXY)
set(DBUS_NAME "dbusmenu-interface")
set(DBUS_NAMESPACE "DBusMenu")
set(XML "com.canonical.dbusmenu.xml")
set(PREFIX "com.canonical")
add_gdbus_codegen(DBUS_GENERATED_SOURCES ${DBUS_NAME} ${PREFIX} ${XML} NAMESPACE ${DBUS_NAMESPACE})
set(DBUSMENU_C_SOURCES
    definitions.h
    item.c
    item.h
    importer.c
    importer.h
    model.h
    model.c
    section.c
    section.h
    utils.c
    utils.h
    debug.c
    debug.h
    )

add_library(dbusmenu-importer STATIC
    ${DBUS_GENERATED_SOURCES}
    ${DBUSMENU_C_SOURCES}
    ${ENUMSC}
    ${ENUMSH}
    )
#add_dependencies(dbusmenu-importer dbus-xml)
set_target_properties(dbusmenu-importer PROPERTIES
#        C_VISIBILITY_PRESET hidden	# Make global variables and functions HIDDEN by default.
        POSITION_INDEPENDENT_CODE ON	# Compile this object code position independent.
)
target_include_directories (dbusmenu-importer PRIVATE ${PIXBUF_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(dbusmenu-importer PRIVATE GLIB2::GIO_UNIX ${PIXBUF_LIBRARIES})


add_executable(dbusmenu-test test.c)
target_link_libraries(dbusmenu-test PRIVATE GLIB2::GIO GTK3::GTK GTK3::GDK dbusmenu-importer)
target_include_directories (dbusmenu-test PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})


#xadd_subdirectory(mate-dbusmenu)