# handwritten sources set(SERVICE_MANUAL_SOURCES brightness.c datafiles.c device-provider-mock.c device-provider-upower.c device-provider.c device.c flashlight.c notifier.c testing.c service.c utils.c) # generated sources include(GdbusCodegen) set(SERVICE_GENERATED_SOURCES) add_gdbus_codegen_with_namespace(SERVICE_GENERATED_SOURCES dbus-repowerd com.lomiri Dbus ${CMAKE_SOURCE_DIR}/src/com.lomiri.Repowerd.xml) add_gdbus_codegen_with_namespace(SERVICE_GENERATED_SOURCES dbus-battery org.ayatana.indicator.power Dbus ${CMAKE_SOURCE_DIR}/data/org.ayatana.indicator.power.Battery.xml) add_gdbus_codegen_with_namespace(SERVICE_GENERATED_SOURCES dbus-testing org.ayatana.indicator.power Dbus ${CMAKE_SOURCE_DIR}/data/org.ayatana.indicator.power.Testing.xml) if (HAVE_UT_ACCTSERVICE_SYSTEMSOUND_SETTINGS) add_gdbus_codegen_with_namespace(SERVICE_GENERATED_SOURCES dbus-accounts-sound com.ubuntu.touch Dbus /usr/share/accountsservice/interfaces/com.ubuntu.touch.AccountsService.Sound.xml) endif() # 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(C_WARNING_ARGS "${C_WARNING_ARGS} -Wno-bad-function-cast") # g_clear_object() set(C_WARNING_ARGS "${C_WARNING_ARGS} -Wno-switch-enum") set_source_files_properties(${SERVICE_MANUAL_SOURCES} PROPERTIES COMPILE_FLAGS "${C_WARNING_ARGS} -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})