From: <ego...@us...> - 2015-02-01 16:43:43
|
Revision: 60597 http://sourceforge.net/p/firebird/code/60597 Author: egorpugin Date: 2015-02-01 16:43:35 +0000 (Sun, 01 Feb 2015) Log Message: ----------- [build] [cmake] Move some projects to Boot folder. Improve generating of build_msg and codes. Fix Windows issue with databases. Modified Paths: -------------- firebird/trunk/examples/CMakeLists.txt firebird/trunk/src/CMakeLists.txt Modified: firebird/trunk/examples/CMakeLists.txt =================================================================== --- firebird/trunk/examples/CMakeLists.txt 2015-02-01 00:13:49 UTC (rev 60596) +++ firebird/trunk/examples/CMakeLists.txt 2015-02-01 16:43:35 UTC (rev 60597) @@ -19,6 +19,9 @@ ${CMAKE_CURRENT_SOURCE_DIR}/empbuild/empbld.sql COMMAND ${CMAKE_COMMAND} -E remove empbuild.fdb COMMAND isql -q -i ${CMAKE_CURRENT_SOURCE_DIR}/empbuild/empbld.sql + COMMAND ${CMAKE_COMMAND} -E copy_if_different empbuild.fdb empbuild_.fdb + COMMAND ${CMAKE_COMMAND} -E remove empbuild.fdb + COMMAND ${CMAKE_COMMAND} -E copy_if_different empbuild_.fdb empbuild.fdb ) add_custom_command( OUTPUT empbuild.c @@ -47,7 +50,7 @@ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${F} ${name}) endforeach() -set(EMPBUILD_CMD empbuild employe2.fdb) +set(EMPBUILD_CMD empbuild employe2_.fdb) set_win32(EMPBUILD_CMD set PATH=%PATH%\\\\;${output_dir} COMMAND ${EMPBUILD_CMD}) set_unix (EMPBUILD_CMD PATH=${output_dir}/bin ${EMPBUILD_CMD}) set_apple(EMPBUILD_CMD DYLD_LIBRARY_PATH=${output_dir}/plugins:${output_dir}/lib ${EMPBUILD_CMD}) @@ -58,9 +61,12 @@ empbuild ${files} COMMAND ${CMAKE_COMMAND} -E remove employe2.fdb + COMMAND ${CMAKE_COMMAND} -E remove employe2_.fdb COMMAND ${EMPBUILD_CMD} + COMMAND ${CMAKE_COMMAND} -E copy_if_different employe2_.fdb employe2.fdb ) add_custom_target (employee_db DEPENDS employe2.fdb SOURCES ${files}) +add_dependencies_cc (employee_db engine12) project_group (employee_db Examples) endif() # if (NOT CMAKE_CROSSCOMPILING) Modified: firebird/trunk/src/CMakeLists.txt =================================================================== --- firebird/trunk/src/CMakeLists.txt 2015-02-01 00:13:49 UTC (rev 60596) +++ firebird/trunk/src/CMakeLists.txt 2015-02-01 16:43:35 UTC (rev 60597) @@ -115,11 +115,12 @@ ${CMAKE_CURRENT_SOURCE_DIR}/dbs/security.sql VERBATIM # - COMMAND ${CMAKE_COMMAND} -E remove security3.fdb - COMMAND ${CMAKE_COMMAND} -E echo "create database 'security3.fdb';" > create_db_security3.sql - COMMAND boot_isql -q -i create_db_security3.sql - COMMAND boot_isql -q security3.fdb -i ${CMAKE_CURRENT_SOURCE_DIR}/dbs/security.sql - COMMAND ${CMAKE_COMMAND} -E copy_if_different security3.fdb security.fdb + COMMAND ${CMAKE_COMMAND} -E remove security.fdb + COMMAND ${CMAKE_COMMAND} -E remove security_.fdb + COMMAND ${CMAKE_COMMAND} -E echo "create database 'security_.fdb';" > create_db_security.sql + COMMAND boot_isql -q -i create_db_security.sql + COMMAND boot_isql -q security_.fdb -i ${CMAKE_CURRENT_SOURCE_DIR}/dbs/security.sql + COMMAND ${CMAKE_COMMAND} -E copy_if_different security_.fdb security.fdb ) add_custom_command( OUTPUT metadata.fdb @@ -128,10 +129,72 @@ ${CMAKE_SOURCE_DIR}/builds/misc/metadata.gbak # COMMAND ${CMAKE_COMMAND} -E remove metadata.fdb - COMMAND boot_gbak -r ${CMAKE_SOURCE_DIR}/builds/misc/metadata.gbak metadata.fdb + COMMAND ${CMAKE_COMMAND} -E remove metadata_.fdb + COMMAND boot_gbak -r ${CMAKE_SOURCE_DIR}/builds/misc/metadata.gbak metadata_.fdb + COMMAND ${CMAKE_COMMAND} -E copy_if_different metadata_.fdb metadata.fdb ) -set(isql_exec_msg boot_isql -q msg.fdb -i ${CMAKE_CURRENT_SOURCE_DIR}/msgs) add_custom_command( + OUTPUT help.fdb + DEPENDS + boot_gbak + metadata.fdb + ${CMAKE_SOURCE_DIR}/builds/misc/help.gbak + # + COMMAND ${CMAKE_COMMAND} -E remove help.fdb + COMMAND ${CMAKE_COMMAND} -E remove help_.fdb + COMMAND boot_gbak -r ${CMAKE_SOURCE_DIR}/builds/misc/help.gbak help_.fdb + COMMAND ${CMAKE_COMMAND} -E copy_if_different help_.fdb help.fdb +) +add_custom_target(databases + DEPENDS + boot_engine12 + help.fdb + metadata.fdb + security.fdb + SOURCES + ${databases_src} +) +add_dependencies_cc(databases msg_fdb) +project_group(databases "Boot/Custom build steps") + + +######################################## +# BUILD STEP messages +######################################## + +add_custom_command( + OUTPUT firebird.msg + DEPENDS + build_msg + msg_fdb + # + COMMAND ${CMAKE_COMMAND} -E remove firebird.msg + COMMAND build_msg -D msg.fdb -P ./ -F firebird.msg -L all + COMMAND build_msg -D msg.fdb -P ./ -F firebird.msg + COMMAND ${CMAKE_COMMAND} -E copy_if_different firebird.msg ${output_dir}/firebird.msg +) +add_custom_command( + OUTPUT codes_headers.dummy + DEPENDS + codes + msg_fdb + COMMENT "" + # + COMMAND ${CMAKE_COMMAND} -E echo "" > codes_headers.dummy + COMMAND ${CMAKE_COMMAND} -E echo Building codes header... + COMMAND codes ${CMAKE_CURRENT_SOURCE_DIR}/include/gen ${CMAKE_SOURCE_DIR}/lang_helpers +) +add_custom_target(messages DEPENDS firebird.msg codes_headers.dummy) +project_group(messages "Boot/Custom build steps") + + +######################################## +# BUILD STEP msg_fdb +######################################## + +set(isql_exec_msg boot_isql -q msg_.fdb -i ${CMAKE_CURRENT_SOURCE_DIR}/msgs) + +add_custom_command( OUTPUT msg.fdb VERBATIM DEPENDS @@ -139,7 +202,8 @@ ${msgs_src} # COMMAND ${CMAKE_COMMAND} -E remove msg.fdb - COMMAND ${CMAKE_COMMAND} -E echo "create database 'msg.fdb';" > create_db_msg.sql + COMMAND ${CMAKE_COMMAND} -E remove msg_.fdb + COMMAND ${CMAKE_COMMAND} -E echo "create database 'msg_.fdb';" > create_db_msg.sql COMMAND boot_isql -q -i create_db_msg.sql COMMAND ${isql_exec_msg}/msg.sql # @@ -161,52 +225,18 @@ COMMAND ${isql_exec_msg}/transmsgs.fr_FR2.sql COMMAND echo loading German translation COMMAND ${isql_exec_msg}/transmsgs.de_DE2.sql -) -add_custom_command( - OUTPUT help.fdb - DEPENDS - boot_gbak - metadata.fdb - ${CMAKE_SOURCE_DIR}/builds/misc/help.gbak # - COMMAND ${CMAKE_COMMAND} -E remove help.fdb - COMMAND boot_gbak -r ${CMAKE_SOURCE_DIR}/builds/misc/help.gbak help.fdb + COMMAND ${CMAKE_COMMAND} -E copy_if_different msg_.fdb msg.fdb ) -add_custom_target(databases +add_custom_target(msg_fdb DEPENDS boot_engine12 - help.fdb - metadata.fdb msg.fdb - security.fdb - SOURCES - ${databases_src} ) -project_group(databases "Custom build steps") +project_group(msg_fdb "Boot/Custom build steps") ######################################## -# BUILD STEP messages -######################################## - -add_custom_command( - OUTPUT firebird.msg - DEPENDS build_msg codes - # - COMMAND ${CMAKE_COMMAND} -E remove firebird.msg - COMMAND build_msg -D msg.fdb -P ./ -F firebird.msg -L all - COMMAND build_msg -D msg.fdb -P ./ -F firebird.msg -) -add_custom_target(messages DEPENDS firebird.msg) -project_group(messages "Custom build steps") -add_custom_command( - TARGET messages - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different firebird.msg ${output_dir}/firebird.msg -) - - -######################################## # BUILD_STEP parse ######################################## @@ -231,7 +261,7 @@ DEPENDS y_tab.h y_tab.c SOURCES ${parse_src} ) -project_group(parse "Custom build steps") +project_group(parse "Boot/Custom build steps") set_source_files_properties(dsql/parse.cpp include/gen/parse.h PROPERTIES GENERATED TRUE) endif() # if (NOT CMAKE_CROSSCOMPILING) @@ -384,6 +414,7 @@ PUBLIC ${LIB_iconv} PUBLIC ${LIB_CoreFoundation} ) +add_dependencies_cc (yvalve databases) set_exported_symbols (yvalve firebird) set_output_directory_unix (yvalve lib) set_target_properties (yvalve PROPERTIES OUTPUT_NAME fbclient) @@ -454,7 +485,7 @@ add_library (engine12 SHARED ${engine12_generated_src_master} ${VERSION_RC}) target_link_libraries (engine12 engine12_common alice burp common yvalve) -add_dependencies_cc (engine12 messages) # possible build during build_msg or codes run +add_dependencies_cc (engine12 messages) set_target_properties (engine12 PROPERTIES OUTPUT_NAME Engine12) set_output_directory (engine12 plugins) set_exported_symbols (engine12 fbplugin) @@ -468,7 +499,7 @@ add_library (intl SHARED ${intl_src} ${VERSION_RC}) target_link_libraries (intl common yvalve) -add_dependencies_cc (intl messages) # possible build during build_msg or codes run +add_dependencies_cc (intl messages) set_target_properties (intl PROPERTIES OUTPUT_NAME fbintl) set_output_directory (intl intl) @@ -648,11 +679,6 @@ add_executable (codes ${codes_generated_src_master} ${VERSION_RC}) target_link_libraries (codes yvalve) project_group (codes Boot) -add_custom_command( - TARGET codes - POST_BUILD - COMMAND codes ${CMAKE_CURRENT_SOURCE_DIR}/include/gen ${CMAKE_SOURCE_DIR}/lang_helpers -) endif() # if (NOT CMAKE_CROSSCOMPILING) @@ -674,6 +700,7 @@ add_executable (gstat ${gstat_src} ${gstat_generated_src_master} ${VERSION_RC}) target_link_libraries (gstat common yvalve) +add_dependencies_cc (gstat engine12 messages) ######################################## @@ -856,7 +883,7 @@ add_custom_target(copy_files #ALL # uncomment this to copy files every build # databases - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${GENERATED_DIR}/security3.fdb ${output_dir}/security3.fdb + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${GENERATED_DIR}/security.fdb ${output_dir}/security3.fdb COMMAND ${CMAKE_COMMAND} -E copy_if_different ${GENERATED_DIR}/help.fdb ${output_dir}/help/help.fdb # configs, text files COMMAND sed "/@UDF_COMMENT@/d" < ${CMAKE_SOURCE_DIR}/builds/install/misc/firebird.conf.in > ${output_dir}/firebird.conf This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |