Initialize Tizen 2.3
[framework/web/wrt-commons.git] / modules / custom_handler_dao / CMakeLists.txt
1 SET(TARGET_CUSTOM_HANDLER_DAO_DB "Sqlite3DbCustomHandler")
2
3 ADD_CUSTOM_COMMAND(
4    OUTPUT ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h
5    COMMAND ${CMAKE_SOURCE_DIR}/modules/custom_handler_dao/orm/gen_db_md5.sh
6    ARGS ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h
7         ${CMAKE_SOURCE_DIR}/modules/custom_handler_dao/orm/custom_handler_db
8    DEPENDS ${CMAKE_SOURCE_DIR}/modules/custom_handler_dao/orm/custom_handler_db
9         ${CMAKE_SOURCE_DIR}/modules/custom_handler_dao/orm/gen_db_md5.sh
10    COMMENT "Generating WRT custom handlers database checksum"
11    )
12
13 ADD_CUSTOM_COMMAND( OUTPUT .wrt_custom_handler.db
14    COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt_custom_handler.db
15    COMMAND gcc -Wall -include ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h -I${PROJECT_SOURCE_DIR}/modules/db/include -I${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/orm -E ${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/orm/custom_handler_db_sql_generator.h | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/wrt_custom_handler_db.sql
16    COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.wrt_custom_handler.db ".read ${CMAKE_CURRENT_BINARY_DIR}/wrt_custom_handler_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt_custom_handler.db
17    DEPENDS ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h ${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/orm/custom_handler_db_sql_generator.h ${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/orm/custom_handler_db
18    )
19
20 ADD_CUSTOM_COMMAND( OUTPUT .wrt_custom_handler.db-journal
21    COMMAND touch
22    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.wrt_custom_handler.db-journal
23    )
24
25 ADD_CUSTOM_TARGET(${TARGET_CUSTOM_HANDLER_DAO_DB} ALL DEPENDS .wrt_custom_handler.db .wrt_custom_handler.db-journal)
26 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_custom_handler_db.sql DESTINATION share/wrt-engine/)
27
28 ###############################################################################
29
30 INCLUDE(FindPkgConfig)
31
32 PKG_CHECK_MODULES(CUSTOM_HANDLER_DAO_DEPS
33     glib-2.0
34     dlog
35     REQUIRED)
36
37 SET(CUSTOM_HANDLER_DAO_INCLUDE_DIRS
38     ${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/include
39     ${PROJECT_SOURCE_DIR}/modules/custom_handler_dao/orm
40     ${PROJECT_SOURCE_DIR}/modules/core/include
41     ${PROJECT_SOURCE_DIR}/modules/db/include
42     ${PROJECT_SOURCE_DIR}/modules/log/include
43 )
44
45
46 SET(CUSTOM_HANDLER_DAO_RO_SOURCES
47     dao/CustomHandlerDatabase.cpp
48     dao/custom_handler_dao_read_only.cpp
49 )
50
51 SET(CUSTOM_HANDLER_DAO_RW_SOURCES
52     dao/custom_handler_dao.cpp
53 )
54
55
56 INCLUDE_DIRECTORIES(${CUSTOM_HANDLER_DAO_INCLUDE_DIRS})
57 INCLUDE_DIRECTORIES(SYSTEM ${CUSTOM_HANDLER_DAO_DEPS_INCLUDE_DIRS})
58
59 ADD_LIBRARY(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} SHARED ${CUSTOM_HANDLER_DAO_RO_SOURCES})
60 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
61 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h")
62 TARGET_LINK_LIBRARIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} ${TARGET_CUSTOM_HANDLER_DAO_LIB})
63 ADD_DEPENDENCIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} ${TARGET_CUSTOM_HANDLER_DAO_DB})
64
65 ADD_LIBRARY(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} SHARED ${CUSTOM_HANDLER_DAO_RW_SOURCES})
66 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
67 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h")
68 TARGET_LINK_LIBRARIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} ${TARGET_CUSTOM_HANDLER_DAO_RO_LIB})
69 ADD_DEPENDENCIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} ${TARGET_CUSTOM_HANDLER_DAO_DB})
70
71 INSTALL(TARGETS ${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} DESTINATION lib)
72 INSTALL(TARGETS ${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} DESTINATION lib)
73
74 INSTALL(FILES
75     include/wrt-commons/custom-handler-dao-ro/common_dao_types.h
76     include/wrt-commons/custom-handler-dao-ro/CustomHandlerDatabase.h
77     include/wrt-commons/custom-handler-dao-ro/custom_handler_dao_read_only.h
78     DESTINATION include/dpl-efl/wrt-commons/custom-handler-dao-ro
79 )
80
81 INSTALL(FILES
82     include/wrt-commons/custom-handler-dao-rw/custom_handler_dao.h
83     DESTINATION include/dpl-efl/wrt-commons/custom-handler-dao-rw
84 )