Initialize Tizen 2.3
[framework/web/wrt-commons.git] / modules_mobile / i18n / dao / CMakeLists.txt
1 SET(TARGET_I18N_DAO_DB "Sqlite3DbI18n")
2
3 ADD_CUSTOM_COMMAND(
4    OUTPUT ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h
5    COMMAND ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/gen_db_md5.sh
6    ARGS ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h
7         ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/iana_db
8    DEPENDS ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/iana_db
9         ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/gen_db_md5.sh
10    COMMENT "Generating WRT i18n database checksum"
11    )
12
13 ADD_CUSTOM_COMMAND( OUTPUT .wrt_i18n.db
14    COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db
15    COMMAND gcc -Wall -include ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h -I${PROJECT_SOURCE_DIR}/modules/db/include -I${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm -E ${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm/i18n_db_sql_generator.h | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/wrt_i18n_db.sql
16    COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db ".read ${CMAKE_CURRENT_BINARY_DIR}/wrt_i18n_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db
17    DEPENDS ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h ${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm/i18n_db_sql_generator.h ${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm/iana_db
18    )
19
20 ADD_CUSTOM_COMMAND( OUTPUT .wrt_i18n.db-journal
21    COMMAND touch
22    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db-journal
23    )
24
25 ADD_CUSTOM_TARGET(${TARGET_I18N_DAO_DB} ALL DEPENDS .wrt_i18n.db .wrt_i18n.db-journal)
26 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_i18n_db.sql DESTINATION share/wrt-engine/)
27
28 ###############################################################################
29
30 SET(I18N_DAO_INCLUDE_DIRS
31     ${PROJECT_SOURCE_DIR}/modules/i18n/dao/include
32     ${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm
33     ${PROJECT_SOURCE_DIR}/modules/core/include
34     ${PROJECT_SOURCE_DIR}/modules/db/include
35     ${PROJECT_SOURCE_DIR}/modules/log/include
36 )
37
38
39 SET(I18N_DAO_RO_SOURCES
40     src/i18n_database.cpp
41     src/i18n_dao_read_only.cpp
42 )
43
44 INCLUDE_DIRECTORIES(${I18N_DAO_INCLUDE_DIRS})
45 INCLUDE_DIRECTORIES(SYSTEM ${I18N_DAO_DEPS_INCLUDE_DIRS})
46
47 ADD_LIBRARY(${TARGET_I18N_DAO_RO_LIB} SHARED ${I18N_DAO_RO_SOURCES})
48 SET_TARGET_PROPERTIES(${TARGET_I18N_DAO_RO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
49 SET_TARGET_PROPERTIES(${TARGET_I18N_DAO_RO_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h")
50 TARGET_LINK_LIBRARIES(${TARGET_I18N_DAO_RO_LIB} ${TARGET_DPL_DB_EFL})
51 ADD_DEPENDENCIES(${TARGET_I18N_DAO_RO_LIB} ${TARGET_I18N_DAO_DB})
52
53 INSTALL(TARGETS ${TARGET_I18N_DAO_RO_LIB} DESTINATION lib)
54
55 INSTALL(FILES
56     include/wrt-commons/i18n-dao-ro/i18n_database.h
57     include/wrt-commons/i18n-dao-ro/i18n_dao_read_only.h
58     DESTINATION include/dpl-efl/wrt-commons/i18n-dao-ro
59 )