CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(CMAKE_VERBOSE_MAKEFILE 0) SET(COMMON ttd-common) INCLUDE(FindPkgConfig) pkg_check_modules(COMMON_PKGS REQUIRED glib-2.0 gio-unix-2.0 dlog ) FOREACH (flag ${COMMON_PKGS_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Winline -g") SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen) EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS " \\ --generate-c-code ${CMAKE_CURRENT_SOURCE_DIR}/common-worker-inf-dbus \\ ${CMAKE_CURRENT_SOURCE_DIR}/common-worker-inf-dbus.xml \\ ") FILE(GLOB COMMON_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/*.c) SET(COMMON_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "common includes path" ) SET(COMMON_LIBS ${COMMON} CACHE STRING "common libs" ) ADD_LIBRARY(${COMMON} STATIC ${COMMON_SOURCE}) TARGET_LINK_LIBRARIES(${COMMON} ${COMMON_LDFLAGS}) TARGET_INCLUDE_DIRECTORIES(${COMMON} PUBLIC ${COMMON_INCLUDES})