|
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.
|