aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: 6efa4677992a0bf6ae3a9e0e1f19ecb7edf9d4c7 (plain)
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
cmake_minimum_required(VERSION 2.8.12)
set (SERVICE_LIB "ayatanaindicatorkeyboardservice")
set (SERVICE_EXEC "ayatana-indicator-keyboard-service")

add_definitions(-DG_LOG_DOMAIN="ayatana-indicator-keyboard")

# handwritten sources
set(SERVICE_MANUAL_SOURCES keyboard.c service.c)

# generated sources
set(SERVICE_GENERATED_SOURCES)

# add the bin dir to our include path so the code can find the generated header files
include_directories(${CMAKE_CURRENT_BINARY_DIR})

# 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")

# the service library for tests to link against (basically, everything except main())
add_library(${SERVICE_LIB} STATIC ${SERVICE_MANUAL_SOURCES} ${SERVICE_GENERATED_SOURCES})
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})