1 SET(TARGET_WRT_DAO_DB "Sqlite3DbWRT")
4 OUTPUT ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h
5 COMMAND ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/gen_db_md5.sh
6 ARGS ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h
7 ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/wrt_db
8 ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/iana_db
9 DEPENDS ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/wrt_db
10 ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/iana_db
11 ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/gen_db_md5.sh
12 COMMENT "Generating WRT database checksum"
15 ADD_CUSTOM_COMMAND( OUTPUT .wrt.db
16 COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt.db
17 COMMAND gcc -Wall -include ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h -I${PROJECT_SOURCE_DIR}/modules/db/include -I${PROJECT_SOURCE_DIR}/modules/widget_dao/orm -E ${PROJECT_SOURCE_DIR}/modules/widget_dao/orm/wrt_db_sql_generator.h | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/wrt_db.sql
18 COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.wrt.db ".read ${CMAKE_CURRENT_BINARY_DIR}/wrt_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.wrt.db
19 DEPENDS ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h ${PROJECT_SOURCE_DIR}/modules/widget_dao/orm/wrt_db_sql_generator.h ${PROJECT_SOURCE_DIR}/modules/widget_dao/orm/wrt_db ${PROJECT_SOURCE_DIR}/modules/widget_dao/orm/iana_db
22 ADD_CUSTOM_COMMAND( OUTPUT .wrt.db-journal
24 ARGS ${CMAKE_CURRENT_BINARY_DIR}/.wrt.db-journal
27 ADD_CUSTOM_TARGET(${TARGET_WRT_DAO_DB} ALL DEPENDS .wrt.db .wrt.db-journal)
29 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_db.sql
30 DESTINATION share/wrt-engine/
33 ###############################################################################
35 INCLUDE(FindPkgConfig)
37 PKG_CHECK_MODULES(WRT_DAO_DEPS
44 set(WRT_DAO_RO_SOURCES
45 dao/config_parser_data.cpp
46 dao/common_dao_types.cpp
47 dao/feature_dao_read_only.cpp
48 dao/global_dao_read_only.cpp
50 dao/plugin_dao_read_only.cpp
51 dao/property_dao_read_only.cpp
52 dao/widget_dao_read_only.cpp
53 dao/webruntime_database.cpp
55 dao/widget_dao_types.cpp
58 set(WRT_DAO_RW_SOURCES
66 SET(WRT_DAO_INCLUDE_DIRS
67 ${PROJECT_SOURCE_DIR}/modules/widget_dao/include
68 ${PROJECT_SOURCE_DIR}/modules/event/include
69 ${PROJECT_SOURCE_DIR}/modules/widget_dao/orm
70 ${PROJECT_SOURCE_DIR}/modules/core/include
71 ${PROJECT_SOURCE_DIR}/modules/db/include
72 ${PROJECT_SOURCE_DIR}/modules/log/include
73 ${PROJECT_SOURCE_DIR}/modules/localization/include
76 INCLUDE_DIRECTORIES(${WRT_DAO_INCLUDE_DIRS})
77 INCLUDE_DIRECTORIES(SYSTEM ${WRT_DAO_DEPS_INCLUDE_DIRS})
79 ADD_LIBRARY(${TARGET_WRT_DAO_RO_LIB} SHARED
82 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RO_LIB} PROPERTIES
83 SOVERSION ${API_VERSION}
86 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RO_LIB} PROPERTIES
89 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RO_LIB} PROPERTIES
90 COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h")
92 target_link_libraries(${TARGET_WRT_DAO_RO_LIB}
95 ${WRT_DAO_DEPS_LIBRARIES})
96 ADD_DEPENDENCIES(${TARGET_WRT_DAO_RO_LIB} ${TARGET_WRT_DAO_DB})
98 ADD_LIBRARY(${TARGET_WRT_DAO_RW_LIB} SHARED ${WRT_DAO_RW_SOURCES})
100 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RW_LIB} PROPERTIES
101 SOVERSION ${API_VERSION}
104 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RW_LIB} PROPERTIES COMPILE_FLAGS -fPIC)
106 SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RW_LIB} PROPERTIES
107 COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h")
109 target_link_libraries(${TARGET_WRT_DAO_RW_LIB}
110 ${TARGET_WRT_DAO_RO_LIB})
111 ADD_DEPENDENCIES(${TARGET_WRT_DAO_RW_LIB} ${TARGET_WRT_DAO_DB})
113 INSTALL(TARGETS ${TARGET_WRT_DAO_RO_LIB}
116 INSTALL(TARGETS ${TARGET_WRT_DAO_RW_LIB}
120 include/dpl/wrt-dao-ro/config_parser_data.h
121 include/dpl/wrt-dao-ro/common_dao_types.h
122 include/dpl/wrt-dao-ro/feature_dao_read_only.h
123 include/dpl/wrt-dao-ro/feature_model.h
124 include/dpl/wrt-dao-ro/global_config.h
125 include/dpl/wrt-dao-ro/global_dao_read_only.h
126 include/dpl/wrt-dao-ro/path_builder.h
127 include/dpl/wrt-dao-ro/plugin_dao_read_only.h
128 include/dpl/wrt-dao-ro/property_dao_read_only.h
129 include/dpl/wrt-dao-ro/widget_config.h
130 include/dpl/wrt-dao-ro/widget_dao_read_only.h
131 include/dpl/wrt-dao-ro/wrt_db_types.h
132 include/dpl/wrt-dao-ro/WrtDatabase.h
133 include/dpl/wrt-dao-ro/widget_dao_types.h
134 DESTINATION include/dpl-efl/dpl/wrt-dao-ro
138 include/dpl/wrt-dao-rw/feature_dao.h
139 include/dpl/wrt-dao-rw/global_dao.h
140 include/dpl/wrt-dao-rw/plugin_dao.h
141 include/dpl/wrt-dao-rw/property_dao.h
142 include/dpl/wrt-dao-rw/widget_dao.h
143 DESTINATION include/dpl-efl/dpl/wrt-dao-rw