Files
qt5-legatus-legacy/Lts/Tests/DatabaseInitialisation/CMakeLists.txt
T
2026-08-13 18:33:10 +02:00

267 lines
8.5 KiB
CMake
Executable File

#
# $Id$
# $HeadURL$
# $Author:
#
FIND_PACKAGE(PythonInterp 2.7 REQUIRED)
SET(DB_SCRIPTS
create_excon_db.py
test_scenario_definitions.py
test_scenario_participant_positions.py
test_scenario_participant_state.py
l400p2_test_scenario_participant_positions.py
guez_generate_js.py
)
SET(SQL_FILES
create_views.sql
check_connections.sql
init_db_procedures.sql
init_db_users_grants.sql
init_db_schemas.sql
insert_exm_values.sql
insert_aes_values_types.sql
insert_asm_values.sql
insert_asm_values_test.sql
insert_avm_values.sql
insert_gna_values.sql
insert_ism_values_test.sql
insert_opm_values_test.sql
insert_opm_values_initial.sql
insert_oss_values_ex_35.sql
insert_oss_values_ex_42.sql
insert_pdm_values.sql
insert_pdm_values_mil.sql
insert_ppm_values_types.sql
insert_ppm_values_ex_35.sql
insert_ppm_values_ex_42.sql
insert_flm_values.sql
insert_som_values.sql
insert_flm_values_test.sql
test_exm_exercise.sql
update_flm_used_by.sql
guez_asm_values.sql
guez_asm_values_workstations.sql
guez_avm_values.sql
guez_avm_values_test.sql
guez_avm_values_frequencysets.sql
guez_update_flm_used_by.sql
guez_flm_values_file_content_san.sql
guez_ism_values_asset.sql
guez_ism_values.sql
guez_opm_values.sql
guez_pdm_values.sql
guez_pdm_values_translation.sql
guez_ppm_values_types.sql
guez_ppm_values_templates.sql
guez_whg_values.sql
guez_ppm_values_ex_42.sql
guez_ppm_values_ex_35.sql
guez_rep_values_ex_42.sql
guez_aes_values_types.sql
guez_aes_values_ex_42.sql
guez_aes_values_ex_35.sql
ahtc_asm_values.sql
ahtc_avm_values.sql
ahtc_avm_values_test.sql
ahtc_opm_values.sql
ahtc_ppm_values_types.sql
ahtc_ppm_values_templates.sql
ahtc_pdm_values.sql
ahtc_ppm_values_ex_35.sql
ahtc_ppm_values_ex_42.sql
ahtc_ism_values.sql
l400p2_asm_values.sql
l400p2_avm_values.sql
l400p2_opm_values.sql
l400p2_ppm_values_types.sql
l400p2_ppm_values_templates.sql
l400p2_pdm_values.sql
l400p2_ppm_values_ex_35.sql
l400p2_ppm_values_ex_42.sql
qatar_asm_values.sql
qatar_avm_values.sql
qatar_ism_values_test.sql
qatar_opm_values_initial.sql
qatar_opm_values.sql
qatar_opm_values_test.sql
qatar_pdm_values.sql
qatar_ppm_values_ex_35.sql
qatar_ppm_values_ex_42.sql
qatar_ppm_values_types.sql
demo_asm_values.sql
demo_opm_values.sql
demo_pdm_values.sql
demo_pdm_values_translation.sql
demo_ppm_values_types.sql
demo_ppm_values_templates.sql
demo_ppm_values_ex_35.sql
demo_ppm_values_ex_42.sql
commaster_asm_values.sql
commaster_pdm_values.sql
commaster_ppm_values_types.sql
commaster_ppm_values_ex_42.sql
commaster_ppm_values_ex_35.sql
commaster_ppm_values_templates.sql
commaster_pdm_values_translation.sql
commaster_flm_symbols.sql
)
SET(out_dir "bin/test/")
SET(GUEZ_DB_UPDATE_FILES
guez_db_update.py
guez_db_create_charge_types_foreign_keys.sql
guez_db_update_charge_types_before.sql
guez_db_update_charge_types_after.sql
guez_db_update.sql
guez_db_update_charge_types.csv
guez_db_ism_save_barcodes.sql
)
IF(GUEZ_MODE)
NGL_INSTALL(AAR FILES ${SQL_FILES} DESTINATION ${out_dir})
ENDIF()
IF(BUILD_TESTING)
CONFIGURE_FILE(update_images_opm.sql.in ${CMAKE_BINARY_DIR}/${out_dir}/update_images_opm.sql)
CONFIGURE_FILE(guez_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
CONFIGURE_FILE(ahtc_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
CONFIGURE_FILE(l400p2_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
CONFIGURE_FILE(qatar_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
CONFIGURE_FILE(demo_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
CONFIGURE_FILE(commaster_flm_symbols.sql ${CMAKE_BINARY_DIR}/${out_dir}/)
NGL_INSTALL(AAR SV PROGRAMS ${DB_SCRIPTS} DESTINATION ${out_dir})
NGL_INSTALL(AAR SV FILES ${SQL_FILES} DESTINATION ${out_dir})
IF(GUEZ_MODE)
NGL_INSTALL(AAR SV PROGRAMS ${GUEZ_DB_UPDATE_FILES} DESTINATION ${out_dir})
ENDIF()
ENDIF()
MACRO(TDS_COPY_FILES target out_dir file_list)
#MESSAGE(STATUS "file_list = ${${file_list}}")
SET(out_file_list "")
FOREACH(in_file ${${file_list}})
SET(out_file ${out_dir}/${in_file})
LIST(APPEND out_file_list ${out_file})
#MESSAGE(STATUS "COPY file ${in_file} TO ${out_file}")
ADD_CUSTOM_COMMAND(OUTPUT ${out_file}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${in_file} ${out_file}
DEPENDS ${in_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
ENDFOREACH()
#MESSAGE(STATUS "out_file_list = ${out_file_list}")
ADD_CUSTOM_TARGET(copy_${target} ALL
DEPENDS ${${file_list}} ${out_file_list}
)
ENDMACRO(TDS_COPY_FILES)
MACRO(DB_CREATION target config_file)
SET(ARGS_LIST -c ${CMAKE_BINARY_DIR}/share/Lts/sql)
SET(ARGS_LIST ${ARGS_LIST} -s ${config_file})
#default project = guez
IF( ${target} STREQUAL "db" )
SET(ARGS_LIST ${ARGS_LIST} -p guez)
ENDIF()
IF( ${target} STREQUAL "test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p guez --exercise-data)
ENDIF()
IF( ${target} STREQUAL "ahtc-db" )
SET(ARGS_LIST ${ARGS_LIST} -p ahtc)
ENDIF()
IF( ${target} STREQUAL "ahtc-test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p ahtc --exercise-data)
ENDIF()
IF( ${target} STREQUAL "l400p2-db" )
SET(ARGS_LIST ${ARGS_LIST} -p l400p2)
ENDIF()
IF( ${target} STREQUAL "l400p2-test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p l400p2 --exercise-data)
ENDIF()
IF( ${target} STREQUAL "qatar-db" )
SET(ARGS_LIST ${ARGS_LIST} -p qatar)
ENDIF()
IF( ${target} STREQUAL "qatar-test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p qatar --exercise-data)
ENDIF()
IF( ${target} STREQUAL "demo-db" )
SET(ARGS_LIST ${ARGS_LIST} -p demo)
ENDIF()
IF( ${target} STREQUAL "demo-test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p demo --exercise-data)
ENDIF()
IF( ${target} STREQUAL "commaster-db" )
SET(ARGS_LIST ${ARGS_LIST} -p commaster)
ENDIF()
IF( ${target} STREQUAL "commaster-test-db" )
SET(ARGS_LIST ${ARGS_LIST} -p commaster --exercise-data)
ENDIF()
# make <target> => Create target automatically
# i.e. 'make db'
ADD_CUSTOM_COMMAND(OUTPUT ${target}_created
COMMAND ${PYTHON_EXECUTABLE}
ARGS ${CMAKE_BINARY_DIR}/${out_dir}/create_excon_db.py ${ARGS_LIST}
DEPENDS copy_sql-admin
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${out_dir}
)
ENDMACRO()
SET(_conf_file "${CMAKE_BINARY_DIR}/lts-cc.conf")
IF(NOT EXISTS ${_conf_file})
SET(_conf_file "$ENV{HOME}/lts-cc.conf")
ENDIF()
IF(NOT EXISTS ${_conf_file})
SET(_conf_file "/etc/lts-cc.conf")
ENDIF()
IF(EXISTS ${_conf_file})
MESSAGE(STATUS "Using LTS config file ${_conf_file}")
DB_CREATION(db "${_conf_file}" )
DB_CREATION(test-db "${_conf_file}" )
DB_CREATION(ahtc-db "${_conf_file}" )
DB_CREATION(ahtc-test-db "${_conf_file}" )
DB_CREATION(l400p2-db "${_conf_file}" )
DB_CREATION(l400p2-test-db "${_conf_file}" )
DB_CREATION(qatar-db "${_conf_file}" )
DB_CREATION(qatar-test-db "${_conf_file}" )
DB_CREATION(demo-db "${_conf_file}" )
DB_CREATION(demo-test-db "${_conf_file}" )
DB_CREATION(commaster-db "${_conf_file}" )
DB_CREATION(commaster-test-db "${_conf_file}" )
ELSE()
MESSAGE(STATUS "Could not find LTS config file lts-cc.conf - can not create target 'db' and 'test-db'")
ENDIF()
ADD_CUSTOM_TARGET(db DEPENDS copy_sql-admin copy_db-py-scripts db_created )
ADD_CUSTOM_TARGET(test-db DEPENDS copy_sql-admin copy_db-py-scripts test-db_created )
ADD_CUSTOM_TARGET(ahtc-db DEPENDS copy_sql-admin copy_db-py-scripts ahtc-db_created )
ADD_CUSTOM_TARGET(ahtc-test-db DEPENDS copy_sql-admin copy_db-py-scripts ahtc-test-db_created )
ADD_CUSTOM_TARGET(l400p2-db DEPENDS copy_sql-admin copy_db-py-scripts l400p2-db_created )
ADD_CUSTOM_TARGET(l400p2-test-db DEPENDS copy_sql-admin copy_db-py-scripts l400p2-test-db_created )
ADD_CUSTOM_TARGET(qatar-db DEPENDS copy_sql-admin copy_db-py-scripts qatar-db_created )
ADD_CUSTOM_TARGET(qatar-test-db DEPENDS copy_sql-admin copy_db-py-scripts qatar-test-db_created )
ADD_CUSTOM_TARGET(demo-db DEPENDS copy_sql-admin copy_db-py-scripts demo-db_created )
ADD_CUSTOM_TARGET(demo-test-db DEPENDS copy_sql-admin copy_db-py-scripts demo-test-db_created )
ADD_CUSTOM_TARGET(commaster-db DEPENDS copy_sql-admin copy_db-py-scripts commaster-db_created )
ADD_CUSTOM_TARGET(commaster-test-db DEPENDS copy_sql-admin copy_db-py-scripts commaster-test-db_created )
TDS_COPY_FILES(sql-admin ${CMAKE_BINARY_DIR}/${out_dir} SQL_FILES)
TDS_COPY_FILES(db-py-scripts ${CMAKE_BINARY_DIR}/${out_dir} DB_SCRIPTS)