CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(asp-manager C)
+
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(asp_pkgs REQUIRED
+ glib-2.0
+ gio-2.0
+ gio-unix-2.0
+ dlog
+ nsd-dns-sd
+ capi-network-wifi-manager
+ vconf
+ )
+
+FOREACH(flag ${asp_pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
+
+SET(ARM_CFLAGS "${ARM_CFLAGS} -mapcs -mabi=aapcs-linux -msoft-float -Uarm -fpic")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+
ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(interfaces)
--- /dev/null
+ADD_CUSTOM_COMMAND(
+ WORKING_DIRECTORY
+ OUTPUT dbus
+ COMMAND gdbus-codegen --interface-prefix net.asp.
+ --generate-c-code generated-code
+ --c-namespace Asp
+ --c-generate-object-manager
+ --generate-docbook generated-code-docs
+ ./aspmanager-iface-service.xml ./aspmanager-iface-session.xml
+ COMMENT "Generating GDBus .c/.h")
+
+ADD_CUSTOM_TARGET(GENERATED_DBUS_CODE DEPENDS dbus)
#
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(asp-manager C)
SET(PACKAGE ${PROJECT_NAME})
-SET(INTERFACES "${CMAKE_SOURCE_DIR}/interfaces")
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(asp_pkgs REQUIRED
- glib-2.0
- gio-2.0
- gio-unix-2.0
- dlog
- nsd-dns-sd
- capi-network-wifi-manager
- vconf
- )
-
-FOREACH(flag ${asp_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/interfaces)
${CMAKE_SOURCE_DIR}/src/asp-manager-event.c
${CMAKE_SOURCE_DIR}/src/asp-manager-gdbus.c
${CMAKE_SOURCE_DIR}/src/asp-manager-util.c
+ ${CMAKE_SOURCE_DIR}/interfaces/generated-code.c
)
+SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/interfaces/generated-code.c PROPERTIES GENERATED TRUE)
+
FILE(GLOB SERVICE_SRCS ${CMAKE_SOURCE_DIR}/src/service/*.c)
FILE(GLOB SESSION_SRCS ${CMAKE_SOURCE_DIR}/src/session/*.c)
FILE(GLOB TECH_SRCS ${CMAKE_SOURCE_DIR}/src/tech/*.c)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
-SET(ARM_CFLAGS "${ARM_CFLAGS} -mapcs -mabi=aapcs-linux -msoft-float -Uarm -fpic")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
ADD_DEFINITIONS("-DUSE_DLOG")
-ADD_CUSTOM_COMMAND(
- WORKING_DIRECTORY
- OUTPUT ${CMAKE_SOURCE_DIR}/src/generated-code.c
- COMMAND gdbus-codegen --interface-prefix net.asp.
- --generate-c-code generated-code
- --c-namespace Asp
- --c-generate-object-manager
- --generate-docbook generated-code-docs
- ${INTERFACES}/aspmanager-iface-service.xml ${INTERFACES}/aspmanager-iface-session.xml
- COMMENT "Generating GDBus .c/.h")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS} ${SERVICE_SRCS} ${SESSION_SRCS} ${TECH_SRCS} ${CMAKE_SOURCE_DIR}/src/generated-code.c)
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS} ${SERVICE_SRCS} ${SESSION_SRCS} ${TECH_SRCS})
+ADD_DEPENDENCIES(${PROJECT_NAME} GENERATED_DBUS_CODE)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${asp_pkgs_LDFLAGS} -ldl)