From c72376856260360074879a5c91217c66c934558d Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sat, 23 Oct 2021 03:00:53 +0200 Subject: Re-introduce (CMake based) build support against GTK+ 2.0. --- example/CMakeLists.txt | 67 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 27 deletions(-) (limited to 'example/CMakeLists.txt') 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}") -- cgit v1.2.3