tizen 2.4 release
[framework/convergence/service/adaptors/storage-adaptor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(storage-adaptor C)
3
4 set(BUILD_TYPE "DEBUG")
5
6 # variable holds path to config files
7 set(CONFIG_FILES_PATH "" CACHE FILEPATH "Path to coniguration files")
8
9 include_directories(${CMAKE_BINARY_DIR})
10
11 file(GLOB SRCS src/*.c)
12
13 if(BUILD_TYPE STREQUAL "DEBUG")
14     message("DEBUG build!")
15     set(BUILD_TYPE_FLAGS "")
16     add_definitions(-DDEBUG_ADAPTOR_PARAMS)
17 elseif(BUILD_TYPE STREQUAL "RELEASE")
18     message("RELEASE build!")
19     set(BUILD_TYPE_FLAGS "-DRELEASE")
20 else()
21     message(FATAL_ERROR "####\nBUILD_TYPE should be DEBUG or RELEASE! Have: ${BUILD_TYPE} . Aborting.\n####")
22 endif(BUILD_TYPE STREQUAL "DEBUG")
23
24 set(PREFIX "/usr")
25 set(BINDIR "${PREFIX}/bin")
26 set(LIBDIR "${PREFIX}/lib")
27
28 include_directories(${CMAKE_SOURCE_DIR}/inc)
29
30 include(FindPkgConfig)
31 pkg_check_modules(pkgs REQUIRED
32  glib-2.0
33  dlog
34  plugin-config
35  libsmack)
36
37 foreach(flag ${pkgs_CFLAGS})
38     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 endforeach(flag)
40
41 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -std=gnu99 -D_GNU_SOURCE")
42 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
43 SET(CMAKE_C_FLAGS_RELEASE "-O2")
44
45 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} )
46 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lm)
47 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
48
49 INSTALL(FILES ${CMAKE_SOURCE_DIR}/inc/storage-adaptor.h DESTINATION /usr/include/storage-adaptor/)
50
51 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/storage-adaptor.pc.in ${CMAKE_SOURCE_DIR}/storage-adaptor.pc @ONLY)
52 INSTALL(FILES ${CMAKE_SOURCE_DIR}/storage-adaptor.pc DESTINATION ${LIBDIR}/pkgconfig)