Fix dependencies in DAO modules.
authorZbigniew Kostrzewa <z.kostrzewa@samsung.com>
Fri, 14 Dec 2012 10:28:24 +0000 (11:28 +0100)
committerZbigniew Kostrzewa <z.kostrzewa@samsung.com>
Fri, 14 Dec 2012 10:53:42 +0000 (11:53 +0100)
[Issue#] N/A
[Problem] Build break on build machine in project SLP:Build:Release
[Cause] Race between targets in CMake build scripts in DAO modules
[Solution] Add proper dependencies between targets
[SCMRequest] N/A

[Verification]
1. Build repository and all dependant repositories (esp. repository
   containing tests).
2. Run all tests (esp. DPL, DAO, Plugin DAO/WidgetDB, W3C Widget
   Interface).

Change-Id: Iafa4d31baafec817b96f778468068dc67e3bfa10

modules/auto_save_dao/CMakeLists.txt
modules/custom_handler_dao/CMakeLists.txt
modules/security_origin_dao/CMakeLists.txt
modules/widget_dao/CMakeLists.txt

index f137c60..232f836 100644 (file)
@@ -1,3 +1,5 @@
+SET(TARGET_AUTO_SAVE_DAO_DB "Sqlite3DbAutoSave")
+
 ADD_CUSTOM_COMMAND(
    OUTPUT ${CMAKE_BINARY_DIR}/modules/auto_save_dao/database_checksum_autosave.h
    COMMAND ${CMAKE_SOURCE_DIR}/modules/auto_save_dao/orm/gen_db_md5.sh
@@ -20,7 +22,7 @@ ADD_CUSTOM_COMMAND( OUTPUT .wrt_autosave.db-journal
    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.wrt_autosave.db-journal
    )
 
-ADD_CUSTOM_TARGET(Sqlite3DbAutoSave ALL DEPENDS .wrt_autosave.db .wrt_autosave.db-journal)
+ADD_CUSTOM_TARGET(${TARGET_AUTO_SAVE_DAO_DB} ALL DEPENDS .wrt_autosave.db .wrt_autosave.db-journal)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_autosave_db.sql DESTINATION share/wrt-engine/)
 
 ###############################################################################
@@ -61,16 +63,19 @@ ADD_LIBRARY(${TARGET_AUTO_SAVE_DAO_LIB} SHARED ${AUTO_SAVE_DAO_SOURCES})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/auto_save_dao/database_checksum_autosave.h")
 TARGET_LINK_LIBRARIES(${TARGET_AUTO_SAVE_DAO_LIB} ${TARGET_DPL_EFL} ${TARGET_DPL_DB_EFL} ${AUTO_SAVE_DAO_DEPS_LIBRARIES})
+ADD_DEPENDENCIES(${TARGET_AUTO_SAVE_DAO_LIB} ${TARGET_AUTO_SAVE_DAO_DB})
 
 ADD_LIBRARY(${TARGET_AUTO_SAVE_DAO_RO_LIB} SHARED ${AUTO_SAVE_DAO_RO_SOURCES})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_RO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_RO_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/auto_save_dao/database_checksum_autosave.h")
 TARGET_LINK_LIBRARIES(${TARGET_AUTO_SAVE_DAO_RO_LIB} ${TARGET_AUTO_SAVE_DAO_LIB})
+ADD_DEPENDENCIES(${TARGET_AUTO_SAVE_DAO_RO_LIB} ${TARGET_AUTO_SAVE_DAO_DB})
 
 ADD_LIBRARY(${TARGET_AUTO_SAVE_DAO_RW_LIB} SHARED ${AUTO_SAVE_DAO_RW_SOURCES})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_RW_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 SET_TARGET_PROPERTIES(${TARGET_AUTO_SAVE_DAO_RW_LIB} PROPERTIES COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/modules/auto_save_dao/database_checksum_autosave.h")
 TARGET_LINK_LIBRARIES(${TARGET_AUTO_SAVE_DAO_RW_LIB} ${TARGET_AUTO_SAVE_DAO_RO_LIB})
+ADD_DEPENDENCIES(${TARGET_AUTO_SAVE_DAO_RW_LIB} ${TARGET_AUTO_SAVE_DAO_DB})
 
 INSTALL(TARGETS ${TARGET_AUTO_SAVE_DAO_LIB} DESTINATION lib)
 INSTALL(TARGETS ${TARGET_AUTO_SAVE_DAO_RO_LIB} DESTINATION lib)
index a8cdc08..1afddd5 100644 (file)
@@ -1,3 +1,5 @@
+SET(TARGET_CUSTOM_HANDLER_DAO_DB "Sqlite3DbCustomHandler")
+
 ADD_CUSTOM_COMMAND(
    OUTPUT ${CMAKE_BINARY_DIR}/modules/custom_handler_dao/database_checksum_custom_handler.h
    COMMAND ${CMAKE_SOURCE_DIR}/modules/custom_handler_dao/orm/gen_db_md5.sh
@@ -20,7 +22,7 @@ ADD_CUSTOM_COMMAND( OUTPUT .wrt_custom_handler.db-journal
    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.wrt_custom_handler.db-journal
    )
 
-ADD_CUSTOM_TARGET(Sqlite3DbCustomHandler ALL DEPENDS .wrt_custom_handler.db .wrt_custom_handler.db-journal)
+ADD_CUSTOM_TARGET(${TARGET_CUSTOM_HANDLER_DAO_DB} ALL DEPENDS .wrt_custom_handler.db .wrt_custom_handler.db-journal)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_custom_handler_db.sql DESTINATION share/wrt-engine/)
 
 ###############################################################################
@@ -57,11 +59,13 @@ ADD_LIBRARY(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} SHARED ${CUSTOM_HANDLER_DAO_RO_S
 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 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")
 TARGET_LINK_LIBRARIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} ${TARGET_CUSTOM_HANDLER_DAO_LIB})
+ADD_DEPENDENCIES(${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} ${TARGET_CUSTOM_HANDLER_DAO_DB})
 
 ADD_LIBRARY(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} SHARED ${CUSTOM_HANDLER_DAO_RW_SOURCES})
 SET_TARGET_PROPERTIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 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")
 TARGET_LINK_LIBRARIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} ${TARGET_CUSTOM_HANDLER_DAO_RO_LIB})
+ADD_DEPENDENCIES(${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} ${TARGET_CUSTOM_HANDLER_DAO_DB})
 
 INSTALL(TARGETS ${TARGET_CUSTOM_HANDLER_DAO_RO_LIB} DESTINATION lib)
 INSTALL(TARGETS ${TARGET_CUSTOM_HANDLER_DAO_RW_LIB} DESTINATION lib)
index 161aa6b..4e74cc3 100644 (file)
@@ -1,3 +1,5 @@
+SET(TARGET_SECURITY_ORIGIN_DAO_DB "Sqlite3DbSecurityOrigin")
+
 ADD_CUSTOM_COMMAND( OUTPUT .security_origin.db
    COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.security_origin.db
    COMMAND gcc -Wall -I${PROJECT_SOURCE_DIR}/modules/db/include -I${PROJECT_SOURCE_DIR}/modules/security_origin_dao/orm -E ${PROJECT_SOURCE_DIR}/modules/security_origin_dao/orm/security_origin_db_sql_generator.h | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/security_origin_db.sql
@@ -10,7 +12,7 @@ ADD_CUSTOM_COMMAND( OUTPUT .security_origin.db-journal
    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.security_origin.db-journal
    )
 
-ADD_CUSTOM_TARGET(Sqlite3DbSecurityOrigin ALL DEPENDS .security_origin.db .security_origin.db-journal)
+ADD_CUSTOM_TARGET(${TARGET_SECURITY_ORIGIN_DAO_DB} ALL DEPENDS .security_origin.db .security_origin.db-journal)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/security_origin_db.sql DESTINATION share/wrt-engine/)
 
 ###############################################################################
@@ -42,6 +44,7 @@ INCLUDE_DIRECTORIES(${SECURITY_ORIGIN_DAO_INCLUDE_DIRS})
 ADD_LIBRARY(${TARGET_SECURITY_ORIGIN_DAO_LIB} SHARED ${SECURITY_ORIGIN_DAO_SOURCES})
 SET_TARGET_PROPERTIES(${TARGET_SECURITY_ORIGIN_DAO_LIB} PROPERTIES SOVERSION ${API_VERSION} VERSION ${VERSION})
 TARGET_LINK_LIBRARIES(${TARGET_SECURITY_ORIGIN_DAO_LIB} ${TARGET_DPL_EFL} ${TARGET_DPL_DB_EFL} ${TARGET_WRT_DAP_RO_LIB} ${SECURITY_ORIGIN_DAO_DEPS_LIBRARIES})
+ADD_DEPENDENCIES(${TARGET_SECURITY_ORIGIN_DAO_LIB} ${TARGET_SECURITY_ORIGIN_DAO_DB})
 
 INSTALL(TARGETS ${TARGET_SECURITY_ORIGIN_DAO_LIB} DESTINATION lib)
 
index 6ef3765..fca9cba 100644 (file)
@@ -1,3 +1,5 @@
+SET(TARGET_WRT_DAO_DB "Sqlite3DbWRT")
+
 ADD_CUSTOM_COMMAND(
    OUTPUT ${CMAKE_BINARY_DIR}/modules/widget_dao/database_checksum.h
    COMMAND ${CMAKE_SOURCE_DIR}/modules/widget_dao/orm/gen_db_md5.sh
@@ -22,7 +24,7 @@ ADD_CUSTOM_COMMAND( OUTPUT .wrt.db-journal
    ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.wrt.db-journal
    )
  
-ADD_CUSTOM_TARGET(Sqlite3DbWRT ALL DEPENDS .wrt.db .wrt.db-journal)
+ADD_CUSTOM_TARGET(${TARGET_WRT_DAO_DB} ALL DEPENDS .wrt.db .wrt.db-journal)
 
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wrt_db.sql
     DESTINATION share/wrt-engine/
@@ -90,6 +92,7 @@ target_link_libraries(${TARGET_WRT_DAO_RO_LIB}
     ${TARGET_DPL_EFL}
     ${TARGET_DPL_DB_EFL}
     ${WRT_DAO_DEPS_LIBRARIES})
+ADD_DEPENDENCIES(${TARGET_WRT_DAO_RO_LIB} ${TARGET_WRT_DAO_DB})
 
 ADD_LIBRARY(${TARGET_WRT_DAO_RW_LIB} SHARED ${WRT_DAO_RW_SOURCES})
 
@@ -104,6 +107,7 @@ SET_TARGET_PROPERTIES(${TARGET_WRT_DAO_RW_LIB} PROPERTIES
 
 target_link_libraries(${TARGET_WRT_DAO_RW_LIB}
     ${TARGET_WRT_DAO_RO_LIB})
+ADD_DEPENDENCIES(${TARGET_WRT_DAO_RW_LIB} ${TARGET_WRT_DAO_DB})
 
 INSTALL(TARGETS ${TARGET_WRT_DAO_RO_LIB}
     DESTINATION lib)