1 SET(TARGET_I18N_DAO_DB "Sqlite3DbI18n")
3 SET(I18N_DB_FILE_NAME "iana_db")
4 SET(I18N_DB_INCLUDE_NAME "i18n_db_sql_generator.h")
7 OUTPUT ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h
8 COMMAND ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/gen_db_md5.sh
9 ARGS ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h
10 ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/${I18N_DB_FILE_NAME}
11 DEPENDS ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/${I18N_DB_FILE_NAME}
12 ${CMAKE_SOURCE_DIR}/modules/i18n/dao/orm/gen_db_md5.sh
13 COMMENT "Generating WRT i18n database checksum"
16 ADD_CUSTOM_COMMAND( OUTPUT .wrt_i18n.db
17 COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db
18 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_INCLUDE_NAME} | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/wrt_i18n_db.sql
19 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
20 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
23 ADD_CUSTOM_COMMAND( OUTPUT .wrt_i18n.db-journal
25 ARGS ${CMAKE_CURRENT_BINARY_DIR}/.wrt_i18n.db-journal
28 ADD_CUSTOM_TARGET(${TARGET_I18N_DAO_DB} ALL DEPENDS .wrt_i18n.db .wrt_i18n.db-journal)
29 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_i18n_db.sql DESTINATION share/wrt-engine/)
31 ###############################################################################
33 INCLUDE(FindPkgConfig)
35 PKG_CHECK_MODULES(I18N_DAO_DEPS
39 SET(I18N_DAO_INCLUDE_DIRS
40 ${PROJECT_SOURCE_DIR}/modules/i18n/dao/include
41 ${PROJECT_SOURCE_DIR}/modules/i18n/dao/orm
42 ${PROJECT_SOURCE_DIR}/modules/core/include
43 ${PROJECT_SOURCE_DIR}/modules/db/include
44 ${PROJECT_SOURCE_DIR}/modules/log/include
48 SET(I18N_DAO_RO_SOURCES
50 src/i18n_dao_read_only.cpp
53 INCLUDE_DIRECTORIES(${I18N_DAO_INCLUDE_DIRS})
54 INCLUDE_DIRECTORIES(SYSTEM ${I18N_DAO_DEPS_INCLUDE_DIRS})
56 ADD_LIBRARY(${TARGET_I18N_DAO_RO_LIB} SHARED ${I18N_DAO_RO_SOURCES})
57 SET_TARGET_PROPERTIES(${TARGET_I18N_DAO_RO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
58 SET_TARGET_PROPERTIES(${TARGET_I18N_DAO_RO_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/i18n/dao/database_checksum_i18n.h")
59 TARGET_LINK_LIBRARIES(${TARGET_I18N_DAO_RO_LIB} ${TARGET_DPL_DB_EFL})
60 ADD_DEPENDENCIES(${TARGET_I18N_DAO_RO_LIB} ${TARGET_I18N_DAO_DB})
62 INSTALL(TARGETS ${TARGET_I18N_DAO_RO_LIB} DESTINATION lib)
65 include/wrt-commons/i18n-dao-ro/i18n_database.h
66 include/wrt-commons/i18n-dao-ro/i18n_dao_read_only.h
67 DESTINATION include/dpl-efl/wrt-commons/i18n-dao-ro