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
|
project(libQtBamf)
cmake_minimum_required(VERSION 2.8)
# Dependencies
include(FindPkgConfig)
find_package(Qt4 REQUIRED)
# Build flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -std=c++0x")
# Sources
## QtBamf
set(QtBamf_SRCS
bamf-application.cpp
bamf-application-proxy.cpp
bamf-control.cpp
bamf-control-proxy.cpp
bamf-factory.cpp
bamf-indicator.cpp
bamf-indicator-proxy.cpp
bamf-matcher.cpp
bamf-matcher-proxy.cpp
bamf-view.cpp
bamf-view-proxy.cpp
bamf-window.cpp
bamf-window-proxy.cpp
)
set(QtBamf_MOC_HDRS
bamf-application.h
bamf-application-proxy.h
bamf-control.h
bamf-control-proxy.h
bamf-factory.h
bamf-indicator.h
bamf-indicator-proxy.h
bamf-list.h
bamf-matcher.h
bamf-matcher-proxy.h
bamf-view.h
bamf-view-proxy.h
bamf-window.h
bamf-window-proxy.h
)
qt4_wrap_cpp(QtBamf_MOC_SRCS ${QtBamf_MOC_HDRS})
## QtBamfQml
set(QtBamfQml_SRCS
bamf-plugin.cpp
)
set(QtBamfQml_MOC_HDRS
bamf-plugin.h
)
qt4_wrap_cpp(QtBamfQml_MOC_SRCS ${QtBamfQml_MOC_HDRS})
# Build
add_definitions(-DQT_NO_KEYWORDS)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${QT_INCLUDE_DIR}
${QT_QTCORE_INCLUDE_DIR}
${QT_QTGUI_INCLUDE_DIR}
${QT_QTDBUS_INCLUDE_DIR}
${QT_QTDECLARATIVE_INCLUDE_DIR}
)
## QtBamf
add_library(QtBamf SHARED ${QtBamf_SRCS} ${QtBamf_MOC_SRCS})
set_target_properties(QtBamf PROPERTIES
SOVERSION 1
VERSION 1.0.0
)
target_link_libraries(QtBamf
${QT_QTCORE_LIBRARIES}
${QT_QTDBUS_LIBRARIES}
)
## QtBamfQml
add_library(QtBamfQml SHARED ${QtBamfQml_SRCS} ${QtBamfQml_MOC_SRCS})
target_link_libraries(QtBamfQml
QtBamf
${QT_QTDECLARATIVE_LIBRARIES}
)
## test
add_executable(test test.cpp)
target_link_libraries(test
QtBamf
${QT_QTCORE_LIBRARIES}
${QT_QTGUI_LIBRARIES}
${QT_QTDECLARATIVE_LIBRARIES}
)
add_custom_target(check)
# Install
# You can override the directory in which we install QML imports
# by setting QT_IMPORTS_DIR to a path on the cmake command line
if(QT_IMPORTS_DIR)
set(qt_imports_dir ${QT_IMPORTS_DIR})
else()
# Query qmake directly because of
# https://bugs.launchpad.net/ubuntu/+source/cmake/+bug/894805
_qt4_query_qmake(QT_INSTALL_IMPORTS qt_imports_dir)
endif()
set(IMPORT_INSTALL_DIR ${qt_imports_dir}/bamf)
set(INCLUDE_INSTALL_DIR include/QtBamf)
message(STATUS "Installing imports in ${IMPORT_INSTALL_DIR}")
## QtBamf
install(TARGETS QtBamf
LIBRARY DESTINATION lib${LIB_SUFFIX}
)
install(FILES
bamf-application.h
bamf-control.h
bamf-factory.h
bamf-indicator.h
bamf-list.h
bamf-matcher.h
bamf-view.h
bamf-window.h
DESTINATION ${INCLUDE_INSTALL_DIR}
)
# FIXME: Generate from ${CMAKE_INSTALL_PREFIX}
install(FILES libqtbamf.pc
DESTINATION lib/pkgconfig
)
## QtBamfQml
install(TARGETS QtBamfQml
LIBRARY DESTINATION ${IMPORT_INSTALL_DIR}
)
install(FILES qmldir
DESTINATION ${IMPORT_INSTALL_DIR}
)
|