CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(eventsystem C)
-
-SET(VERSION 0.0.1)
-SET(VERSION_MAJOR 0)
+AUX_SOURCE_DIRECTORY(src/ SRCS)
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
SET(EXEC_PREFIX "\${prefix}")
### Required packages
INCLUDE(FindPkgConfig)
-pkg_check_modules(libpkgs REQUIRED dlog bundle openssl glib-2.0 capi-base-common)
+pkg_check_modules(libpkgs REQUIRED dlog bundle glib-2.0 capi-base-common)
#FIND_LIBRARY(LIB_DL dl)
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
## build eventsystem library
-add_library(eventsystem SHARED
- src/eventsystem.c
- )
+add_library(eventsystem SHARED ${SRCS})
#TARGET_LINK_LIBRARIES(eventsystem "-ldl")
TARGET_LINK_LIBRARIES(eventsystem ${libpkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(eventsystem PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(eventsystem PROPERTIES VERSION ${VERSION})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER})
# pkgconfig file
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/eventsystem.pc.in ${CMAKE_BINARY_DIR}/eventsystem.pc @ONLY)
INSTALL(TARGETS eventsystem DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/eventsystem.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/eventsystem.h DESTINATION include)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/eventsystem_internal.h DESTINATION include)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/
+ FILES_MATCHING
+ PATTERN "*.h"
+ )
+
+IF(NOT DEFINED MINIMUM_BUILD)
+ADD_SUBDIRECTORY(tests)
+ENABLE_TESTING()
+SET(EVENTSYSTEM_UNIT_TESTS eventsystem-unittests)
+ADD_TEST(NAME ${EVENTSYSTEM_UNIT_TESTS} COMMAND ${EVENTSYSTEM_UNIT_TESTS})
+
+ADD_DEPENDENCIES(${EVENTSYSTEM_UNIT_TESTS} eventsystem)
+ENDIF(NOT DEFINED MINIMUM_BUILD)
\ No newline at end of file