aboutsummaryrefslogtreecommitdiff
path: root/example/CMakeLists.txt
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-10-23 03:00:53 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-10-23 16:02:24 +0200
commitc72376856260360074879a5c91217c66c934558d (patch)
tree5cf57abee673e8fd0630e7b18d65fd602b39dc78 /example/CMakeLists.txt
parent1245eb78f2db30db8403cb4718de79e41a4a361b (diff)
downloadlibayatana-appindicator-c72376856260360074879a5c91217c66c934558d.tar.gz
libayatana-appindicator-c72376856260360074879a5c91217c66c934558d.tar.bz2
libayatana-appindicator-c72376856260360074879a5c91217c66c934558d.zip
Re-introduce (CMake based) build support against GTK+ 2.0.
Diffstat (limited to 'example/CMakeLists.txt')
-rw-r--r--example/CMakeLists.txt67
1 files changed, 40 insertions, 27 deletions
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index ba8839e..3a6cd53 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -1,30 +1,43 @@
+if (FLAVOUR_GTK3)
+ set (ayatana_appindicator_gtkver "ayatana-appindicator3")
+ set (gtk_valapkgver "gtk+-3.0")
+elseif (FLAVOUR_GTK2)
+ set (ayatana_appindicator_gtkver "ayatana-appindicator")
+ set (gtk_valapkgver "gtk+-2.0")
+endif()
+
# simple-client-vala.c
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c"
- DEPENDS "bindings-vala"
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND
- ${VALA_COMPILER}
- --pkg ayatana-appindicator3-0.1
- --pkg gtk+-3.0
- --vapidir=${CMAKE_BINARY_DIR}/bindings/vala
- -C simple-client-vala.vala
- --directory=${CMAKE_CURRENT_BINARY_DIR}
- VERBATIM
- COMMAND
- sed
- -i "s|#include\\s*<\\s*libayatana-appindicator/app-indicator.h\\s*>||g"
- "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c"
-)
-
-# simple-client-vala
-
-set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c" PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -include ${CMAKE_SOURCE_DIR}/src/app-indicator.h")
-add_executable("simple-client-vala" "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c")
-target_include_directories("simple-client-vala" PUBLIC ${PROJECT_DEPS_INCLUDE_DIRS})
-target_link_libraries("simple-client-vala" "${PROJECT_DEPS_LIBRARIES} -layatana-appindicator3 -L${CMAKE_BINARY_DIR}/src")
-add_dependencies("simple-client-vala" "ayatana-appindicator3")
+# Vala bindings are only available for FLAVOUR_GTK3
+
+if (FLAVOUR_GTK3)
+ add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c"
+ DEPENDS "bindings-vala"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND
+ ${VALA_COMPILER}
+ --pkg ${ayatana_appindicator_gtkver}-0.1
+ --pkg ${gtk_valapkgver}
+ --vapidir=${CMAKE_BINARY_DIR}/bindings/vala
+ -C simple-client-vala.vala
+ --directory=${CMAKE_CURRENT_BINARY_DIR}
+ VERBATIM
+ COMMAND
+ sed
+ -i "s|#include\\s*<\\s*libayatana-appindicator/app-indicator.h\\s*>||g"
+ "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c"
+ )
+
+ # simple-client-vala
+
+ set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c" PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -include ${CMAKE_SOURCE_DIR}/src/app-indicator.h")
+ add_executable("simple-client-vala" "${CMAKE_CURRENT_BINARY_DIR}/simple-client-vala.c")
+ target_include_directories("simple-client-vala" PUBLIC ${PROJECT_DEPS_INCLUDE_DIRS})
+ target_link_libraries("simple-client-vala" "${PROJECT_DEPS_LIBRARIES} -l${ayatana_appindicator_gtkver} -L${CMAKE_BINARY_DIR}/src")
+ add_dependencies("simple-client-vala" "${ayatana_appindicator_gtkver}")
+
+endif()
# simple-client
@@ -33,5 +46,5 @@ add_executable("simple-client" "${CMAKE_CURRENT_SOURCE_DIR}/simple-client.c")
target_compile_definitions("simple-client" PUBLIC LOCAL_ICON="${CMAKE_CURRENT_SOURCE_DIR}/simple-client-test-icon.png")
target_include_directories("simple-client" PUBLIC ${PROJECT_DEPS_INCLUDE_DIRS})
target_include_directories("simple-client" PUBLIC "${CMAKE_SOURCE_DIR}/src")
-target_link_libraries("simple-client" "${PROJECT_DEPS_LIBRARIES} -layatana-appindicator3 -L${CMAKE_BINARY_DIR}/src")
-add_dependencies("simple-client" "ayatana-appindicator3")
+target_link_libraries("simple-client" "${PROJECT_DEPS_LIBRARIES} -l${ayatana_appindicator_gtkver} -L${CMAKE_BINARY_DIR}/src")
+add_dependencies("simple-client" "${ayatana_appindicator_gtkver}")