diff options
author | Robert Tari <robert@tari.in> | 2021-09-07 01:25:17 +0200 |
---|---|---|
committer | Robert Tari <robert@tari.in> | 2021-09-13 22:30:14 +0200 |
commit | d2758a873a848fc4113a4087d53446f73c6543cb (patch) | |
tree | 945d183caf2c627ef353d662536f712d29dd5c38 /src/CMakeLists.txt | |
parent | d42da41264e8e7a8939068791e9bb5038bdaf649 (diff) | |
download | ayatana-indicator-keyboard-d2758a873a848fc4113a4087d53446f73c6543cb.tar.gz ayatana-indicator-keyboard-d2758a873a848fc4113a4087d53446f73c6543cb.tar.bz2 ayatana-indicator-keyboard-d2758a873a848fc4113a4087d53446f73c6543cb.zip |
Split X11 and Lomiri backends
- CMakeLists.txt: Add separate dependencies for the X11 backend
- src/keyboard.c: Fork into keyboard-x11.c and keyboard-lomiri.c
- src/CMakeLists.txt: Build backend libraries
- src/keyboard-lomiri.c: Add some mock defaults for Lomiri
- src/service.c: Load appropriate backend during runtime
- data/org.ayatana.indicator.keyboard: Move icon to leftmost position
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6efa4677..e4ca3439 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,28 +1,30 @@ -cmake_minimum_required(VERSION 2.8.12) -set (SERVICE_LIB "ayatanaindicatorkeyboardservice") -set (SERVICE_EXEC "ayatana-indicator-keyboard-service") +cmake_minimum_required(VERSION 3.13) -add_definitions(-DG_LOG_DOMAIN="ayatana-indicator-keyboard") +# libayatana-keyboard-backend-x11.so -# handwritten sources -set(SERVICE_MANUAL_SOURCES keyboard.c service.c) +add_library("ayatana-keyboard-x11" SHARED keyboard-x11.c) +target_link_libraries("ayatana-keyboard-x11" ${SERVICE_DEPS_LIBRARIES} ${X11_DEPS_LIBRARIES}) +set_target_properties("ayatana-keyboard-x11" PROPERTIES VERSION 0.0.0 SOVERSION 0) +install(TARGETS "ayatana-keyboard-x11" DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}) -# generated sources -set(SERVICE_GENERATED_SOURCES) +# libayatana-keyboard-backend-lomiri.so -# add the bin dir to our include path so the code can find the generated header files -include_directories(${CMAKE_CURRENT_BINARY_DIR}) +add_library("ayatana-keyboard-lomiri" SHARED keyboard-lomiri.c) +target_link_libraries("ayatana-keyboard-lomiri" ${SERVICE_DEPS_LIBRARIES}) +set_target_properties("ayatana-keyboard-lomiri" PROPERTIES VERSION 0.0.0 SOVERSION 0) +install(TARGETS "ayatana-keyboard-lomiri" DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}) -# add warnings/coverage info on handwritten files but not the autogenerated ones... -set_source_files_properties(${SERVICE_MANUAL_SOURCES} PROPERTIES COMPILE_FLAGS "${C_WARNING_ARGS} -g -std=c99") +# libayatanaindicatorkeyboardservice.a -# the service library for tests to link against (basically, everything except main()) -add_library(${SERVICE_LIB} STATIC ${SERVICE_MANUAL_SOURCES} ${SERVICE_GENERATED_SOURCES}) +add_definitions(-DG_LOG_DOMAIN="ayatana-indicator-keyboard") +set_source_files_properties(service.c PROPERTIES COMPILE_FLAGS "-std=c99") +add_library("ayatanaindicatorkeyboardservice" STATIC service.c) include_directories(${CMAKE_SOURCE_DIR}) link_directories(${SERVICE_DEPS_LIBRARY_DIRS}) -# the executable: lib + main() -add_executable (${SERVICE_EXEC} main.c) -set_source_files_properties(${SERVICE_SOURCES} main.c PROPERTIES COMPILE_FLAGS "${C_WARNING_ARGS} -std=c99") -target_link_libraries (${SERVICE_EXEC} ${SERVICE_LIB} ${SERVICE_DEPS_LIBRARIES}) -install (TARGETS ${SERVICE_EXEC} RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}) +# ayatana-indicator-keyboard-service + +add_executable("ayatana-indicator-keyboard-service" main.c) +set_source_files_properties(service.c main.c PROPERTIES COMPILE_FLAGS "-std=c99") +target_link_libraries("ayatana-indicator-keyboard-service" "ayatanaindicatorkeyboardservice" "${SERVICE_DEPS_LIBRARIES} -ldl") +install(TARGETS "ayatana-indicator-keyboard-service" RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}") |