transactd 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +7 -0
  2. data/BUILD_UNIX-JA +174 -0
  3. data/BUILD_WIN-JA +256 -0
  4. data/CMakeLists.txt +96 -0
  5. data/COPYING +339 -0
  6. data/README +406 -0
  7. data/README-JA +424 -0
  8. data/bin/common/tdclc_32_1_0.dll +0 -0
  9. data/bin/common/tdclc_64_1_0.dll +0 -0
  10. data/build/common/check_for_link_iconv.cmake +73 -0
  11. data/build/common/copyifgreater.cmd +30 -0
  12. data/build/common/copyifgreater.js +290 -0
  13. data/build/common/get_boost_libs.cmake +106 -0
  14. data/build/common/get_ruby_path.cmake +115 -0
  15. data/build/common/options.cmake +127 -0
  16. data/build/common/smart_install.cmake +263 -0
  17. data/build/common/system.cmake +122 -0
  18. data/build/common/transactd.rc.in +52 -0
  19. data/build/common/transactd_cl_common.cmake +101 -0
  20. data/build/common/transactd_cl_output.cmake +93 -0
  21. data/build/common/transactd_common.cmake +237 -0
  22. data/build/common/transactd_required.cmake +28 -0
  23. data/build/swig/ruby/generate.cmake.in +35 -0
  24. data/build/swig/ruby/generate.cmd.in +19 -0
  25. data/build/swig/ruby/ruby.swg +101 -0
  26. data/build/swig/tdcl.i +188 -0
  27. data/build/tdclc/BUILDNUMBER.txt +1 -0
  28. data/build/tdclc/CMakeLists.txt +170 -0
  29. data/build/tdclc/tdclc_32.cbproj +181 -0
  30. data/build/tdclc/tdclc_64.cbproj +205 -0
  31. data/build/tdclcpp/BUILDNUMBER.txt +1 -0
  32. data/build/tdclcpp/CMakeLists.txt +142 -0
  33. data/build/tdclcpp/tdclcpp_bcb_32.cbproj +239 -0
  34. data/build/tdclcpp/tdclcpp_bcb_64.cbproj +304 -0
  35. data/build/tdclrb/BUILDNUMBER.txt +1 -0
  36. data/build/tdclrb/CMakeLists.txt +258 -0
  37. data/build/tdclrb/GEM_VERSION +3 -0
  38. data/build/tdclrb/bldgem/extconf.rb +123 -0
  39. data/build/tdclrb/gem/INSTALLLOG.win32 +9 -0
  40. data/build/tdclrb/gem/Makefile.win32-VS +65 -0
  41. data/build/tdclrb/gem/Makefile.win32-prebuilt +48 -0
  42. data/build/tdclrb/gem/detect.rb +31 -0
  43. data/build/tdclrb/gem/helper.rb +113 -0
  44. data/build/tdclrb/gem/transactd.rb +22 -0
  45. data/build/tdclrb/gem_output.cmake +44 -0
  46. data/source/bzs/db/IBlobBuffer.h +51 -0
  47. data/source/bzs/db/blobBuffer.h +177 -0
  48. data/source/bzs/db/blobStructs.h +85 -0
  49. data/source/bzs/db/engine/mysql/IReadRecords.h +52 -0
  50. data/source/bzs/db/engine/mysql/bookmark.h +195 -0
  51. data/source/bzs/db/engine/mysql/database.cpp +1882 -0
  52. data/source/bzs/db/engine/mysql/database.h +465 -0
  53. data/source/bzs/db/engine/mysql/dbManager.cpp +303 -0
  54. data/source/bzs/db/engine/mysql/dbManager.h +143 -0
  55. data/source/bzs/db/engine/mysql/errorMessage.cpp +75 -0
  56. data/source/bzs/db/engine/mysql/errorMessage.h +43 -0
  57. data/source/bzs/db/engine/mysql/fieldAccess.h +158 -0
  58. data/source/bzs/db/engine/mysql/mydebuglog.cpp +349 -0
  59. data/source/bzs/db/engine/mysql/mydebuglog.h +89 -0
  60. data/source/bzs/db/engine/mysql/mysqlInternal.h +171 -0
  61. data/source/bzs/db/engine/mysql/mysqlThd.cpp +169 -0
  62. data/source/bzs/db/engine/mysql/mysqlThd.h +35 -0
  63. data/source/bzs/db/engine/mysql/percentageKey.h +260 -0
  64. data/source/bzs/db/protocol/ICommandExecuter.h +49 -0
  65. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +689 -0
  66. data/source/bzs/db/protocol/hs/hsCommandExecuter.h +228 -0
  67. data/source/bzs/db/protocol/tdap/btrDate.cpp +437 -0
  68. data/source/bzs/db/protocol/tdap/btrDate.h +227 -0
  69. data/source/bzs/db/protocol/tdap/client/bulkInsert.h +127 -0
  70. data/source/bzs/db/protocol/tdap/client/client.cpp +106 -0
  71. data/source/bzs/db/protocol/tdap/client/client.h +292 -0
  72. data/source/bzs/db/protocol/tdap/client/connMgr.cpp +144 -0
  73. data/source/bzs/db/protocol/tdap/client/connMgr.h +82 -0
  74. data/source/bzs/db/protocol/tdap/client/database.cpp +863 -0
  75. data/source/bzs/db/protocol/tdap/client/database.h +118 -0
  76. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +100 -0
  77. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +1640 -0
  78. data/source/bzs/db/protocol/tdap/client/dbDef.h +135 -0
  79. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +434 -0
  80. data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +92 -0
  81. data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +98 -0
  82. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +174 -0
  83. data/source/bzs/db/protocol/tdap/client/fieldDDF.h +91 -0
  84. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +140 -0
  85. data/source/bzs/db/protocol/tdap/client/fileDDF.h +86 -0
  86. data/source/bzs/db/protocol/tdap/client/filter.cpp +527 -0
  87. data/source/bzs/db/protocol/tdap/client/filter.h +154 -0
  88. data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +137 -0
  89. data/source/bzs/db/protocol/tdap/client/indexDDF.h +84 -0
  90. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +724 -0
  91. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +123 -0
  92. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +899 -0
  93. data/source/bzs/db/protocol/tdap/client/nsTable.h +199 -0
  94. data/source/bzs/db/protocol/tdap/client/request.h +198 -0
  95. data/source/bzs/db/protocol/tdap/client/sharedData.cpp +58 -0
  96. data/source/bzs/db/protocol/tdap/client/sharedData.h +56 -0
  97. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +574 -0
  98. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +53 -0
  99. data/source/bzs/db/protocol/tdap/client/stringConverter.h +627 -0
  100. data/source/bzs/db/protocol/tdap/client/table.cpp +2613 -0
  101. data/source/bzs/db/protocol/tdap/client/table.h +221 -0
  102. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +1096 -0
  103. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +179 -0
  104. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +40 -0
  105. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +11 -0
  106. data/source/bzs/db/protocol/tdap/myDateTime.cpp +500 -0
  107. data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +184 -0
  108. data/source/bzs/db/protocol/tdap/mysql/characterset.h +60 -0
  109. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +284 -0
  110. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +53 -0
  111. data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +383 -0
  112. data/source/bzs/db/protocol/tdap/mysql/debuglog.h +106 -0
  113. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +680 -0
  114. data/source/bzs/db/protocol/tdap/mysql/request.h +202 -0
  115. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1020 -0
  116. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +141 -0
  117. data/source/bzs/db/protocol/tdap/tdapRequest.h +190 -0
  118. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +295 -0
  119. data/source/bzs/db/protocol/tdap/tdapSchema.h +558 -0
  120. data/source/bzs/db/protocol/tdap/tdapcapi.h +423 -0
  121. data/source/bzs/db/transactd/appBuilderImple.h +55 -0
  122. data/source/bzs/db/transactd/appModule.cpp +183 -0
  123. data/source/bzs/db/transactd/appModule.h +80 -0
  124. data/source/bzs/db/transactd/connManager.cpp +201 -0
  125. data/source/bzs/db/transactd/connManager.h +60 -0
  126. data/source/bzs/db/transactd/connectionRecord.h +69 -0
  127. data/source/bzs/db/transactd/transactd.cpp +325 -0
  128. data/source/bzs/env/compiler.h +135 -0
  129. data/source/bzs/env/crosscompile.cpp +130 -0
  130. data/source/bzs/env/crosscompile.h +150 -0
  131. data/source/bzs/env/fileopen.h +36 -0
  132. data/source/bzs/env/mbcswchrLinux.cpp +40 -0
  133. data/source/bzs/env/mbcswchrLinux.h +88 -0
  134. data/source/bzs/env/tstring.h +183 -0
  135. data/source/bzs/example/changeSchema.cpp +117 -0
  136. data/source/bzs/example/changeSchema_c.cpp +78 -0
  137. data/source/bzs/example/connection_pool_c.cpp +171 -0
  138. data/source/bzs/example/createDatabase.cpp +305 -0
  139. data/source/bzs/example/createDatabase_c.cpp +202 -0
  140. data/source/bzs/example/deleteRecords.cpp +87 -0
  141. data/source/bzs/example/deleteRecords_c.cpp +57 -0
  142. data/source/bzs/example/dropDatabase.cpp +59 -0
  143. data/source/bzs/example/dropDatabase_c.cpp +34 -0
  144. data/source/bzs/example/insertRecords.cpp +212 -0
  145. data/source/bzs/example/insertRecords_c.cpp +153 -0
  146. data/source/bzs/example/readRecords.cpp +141 -0
  147. data/source/bzs/example/readRecords_c.cpp +107 -0
  148. data/source/bzs/example/updateRecords.cpp +99 -0
  149. data/source/bzs/example/updateRecords_c.cpp +71 -0
  150. data/source/bzs/example/update_with_transaction.cpp +104 -0
  151. data/source/bzs/example/update_with_transaction_c.cpp +80 -0
  152. data/source/bzs/netsvc/client/tcpClient.cpp +226 -0
  153. data/source/bzs/netsvc/client/tcpClient.h +489 -0
  154. data/source/bzs/netsvc/server/IAppModule.h +94 -0
  155. data/source/bzs/netsvc/server/iserver.h +65 -0
  156. data/source/bzs/netsvc/server/serverCpt.cpp +522 -0
  157. data/source/bzs/netsvc/server/serverCpt.h +88 -0
  158. data/source/bzs/netsvc/server/serverPipe.cpp +705 -0
  159. data/source/bzs/netsvc/server/serverPipe.h +96 -0
  160. data/source/bzs/netsvc/server/serverTpool.cpp +416 -0
  161. data/source/bzs/netsvc/server/serverTpool.h +84 -0
  162. data/source/bzs/rtl/benchmark.cpp +96 -0
  163. data/source/bzs/rtl/benchmark.h +65 -0
  164. data/source/bzs/rtl/datetime.cpp +375 -0
  165. data/source/bzs/rtl/datetime.h +53 -0
  166. data/source/bzs/rtl/debuglog.cpp +106 -0
  167. data/source/bzs/rtl/debuglog.h +97 -0
  168. data/source/bzs/rtl/exception.h +116 -0
  169. data/source/bzs/rtl/stl_uty.cpp +35 -0
  170. data/source/bzs/rtl/stl_uty.h +29 -0
  171. data/source/bzs/rtl/stringBuffers.cpp +101 -0
  172. data/source/bzs/rtl/stringBuffers.h +58 -0
  173. data/source/bzs/rtl/strtrim.cpp +135 -0
  174. data/source/bzs/rtl/strtrim.h +46 -0
  175. data/source/bzs/test/tdclatl/bench_tdclatl.js +445 -0
  176. data/source/bzs/test/tdclrb/bench_tdclcpp.rb +375 -0
  177. data/source/bzs/test/tdclrb/prepare.rb +226 -0
  178. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +172 -0
  179. data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +208 -0
  180. data/source/bzs/test/tdclrb/transactd_spec.rb +1536 -0
  181. data/source/bzs/test/transactdBench/transactdBench.cpp +430 -0
  182. data/source/bzs/test/transactdBench/transactdBench2.cpp +342 -0
  183. data/source/bzs/test/trdclengn/test_trdclengn.cpp +2030 -0
  184. data/source/global/tdclatl/Database.cpp +503 -0
  185. data/source/global/tdclatl/Database.h +139 -0
  186. data/source/global/tdclatl/DbDef.cpp +242 -0
  187. data/source/global/tdclatl/DbDef.h +79 -0
  188. data/source/global/tdclatl/Field.cpp +92 -0
  189. data/source/global/tdclatl/Field.h +59 -0
  190. data/source/global/tdclatl/FieldDef.cpp +238 -0
  191. data/source/global/tdclatl/FieldDef.h +87 -0
  192. data/source/global/tdclatl/Flags.cpp +111 -0
  193. data/source/global/tdclatl/Flags.h +55 -0
  194. data/source/global/tdclatl/KeyDef.cpp +51 -0
  195. data/source/global/tdclatl/KeyDef.h +55 -0
  196. data/source/global/tdclatl/KeySegment.cpp +55 -0
  197. data/source/global/tdclatl/Table.cpp +600 -0
  198. data/source/global/tdclatl/Table.h +144 -0
  199. data/source/global/tdclatl/TableDef.cpp +291 -0
  200. data/source/global/tdclatl/TableDef.h +86 -0
  201. data/source/global/tdclatl/TdVersion.cpp +74 -0
  202. data/source/global/tdclatl/TdVersion.h +54 -0
  203. data/source/global/tdclatl/_IDatabaseEvents_CP.h +113 -0
  204. data/source/global/tdclatl/dllmain.cpp +30 -0
  205. data/source/global/tdclatl/dllmain.h +27 -0
  206. data/source/global/tdclatl/keySegment.h +57 -0
  207. data/source/global/tdclatl/resource.h +0 -0
  208. data/source/global/tdclatl/stdafx.cpp +2 -0
  209. data/source/global/tdclatl/stdafx.h +25 -0
  210. data/source/global/tdclatl/targetver.h +4 -0
  211. data/source/global/tdclatl/tdclatl.cpp +68 -0
  212. data/source/global/tdclatl/tdclatl.def +10 -0
  213. data/source/global/tdclatl/tdclatl.idl +1035 -0
  214. data/source/linux/charsetConvert.h +112 -0
  215. data/source/linux/linuxTypes.h +33 -0
  216. data/source/linux/tchar.h +428 -0
  217. data/transactd.gemspec +97 -0
  218. metadata +267 -0
@@ -0,0 +1,263 @@
1
+ ##=================================================================
2
+ # Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU General Public License
6
+ # as published by the Free Software Foundation; either version 2
7
+ # of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ # 02111-1307, USA.
18
+ ##=================================================================
19
+ ## need system.cmake
20
+ # ==========================================================
21
+ # install so/dll if greater
22
+ # * compare .dll with binary version info
23
+ # * compere .so with file name suffix
24
+ # ==========================================================
25
+ if(NOT COMMAND bz_smart_install)
26
+ set(BZ_SI_SCRIPT "${CMAKE_CURRENT_LIST_FILE}")
27
+ get_filename_component(BZ_SI_WINCMD "${CMAKE_CURRENT_LIST_FILE}" PATH)
28
+ set(BZ_SI_WINCMD "${BZ_SI_WINCMD}/copyifgreater.cmd")
29
+ macro(bz_smart_install)
30
+ cmake_parse_arguments(BZ_SI
31
+ "TO_WIN_SYSTEMDIR;ADD_ME" "DEST;VER_MAJOR;VER_MINOR;VER_RELEASE" "SOURCES" ${ARGN})
32
+ bz_smart_install_set_arguments(
33
+ SOURCES "${BZ_SI_SOURCES}"
34
+ DEST "${BZ_SI_DEST}"
35
+ ADD_ME "${BZ_SI_ADD_ME}"
36
+ TO_WIN_SYSTEMDIR "${BZ_SI_TO_WIN_SYSTEMDIR}"
37
+ )
38
+ if(WIN32)
39
+ install(CODE "
40
+ include (CMakeParseArguments)
41
+ if(NOT COMMAND bz_do_smart_install_dll)
42
+ include(\"${BZ_SI_SCRIPT}\")
43
+ endif()
44
+ bz_do_smart_install_dll(
45
+ CMD \"${BZ_SI_WINCMD}\"
46
+ DEST \"${BZ_SI_DEST}\"
47
+ SOURCES \"${BZ_SI_SOURCES}\"
48
+ )
49
+ ")
50
+ else()
51
+ install(CODE "
52
+ include (CMakeParseArguments)
53
+ if(NOT COMMAND bz_smart_install_so)
54
+ include(\"${BZ_SI_SCRIPT}\")
55
+ endif()
56
+ bz_smart_install_so(
57
+ DEST \"${BZ_SI_DEST}\"
58
+ SOURCE \"${BZ_SI_SOURCES}\"
59
+ VMAJOR \"${BZ_SI_VER_MAJOR}\"
60
+ VMINOR \"${BZ_SI_VER_MINOR}\"
61
+ VRELEASE \"${BZ_SI_VER_RELEASE}\"
62
+ )
63
+ ")
64
+ endif()
65
+ endmacro()
66
+ endif()
67
+
68
+ # ==========================================================
69
+ # set arguments for smart_install
70
+ # ==========================================================
71
+ if(NOT COMMAND bz_smart_install_set_arguments)
72
+ macro(bz_smart_install_set_arguments)
73
+ cmake_parse_arguments(BZ_SISA "" "TO_WIN_SYSTEMDIR;ADD_ME;DEST" "SOURCES" ${ARGN})
74
+ # set dest to sysdir if Windows and TO_WIN_SYSTEMDIR flag on
75
+ if(WIN32 AND (${BZ_SISA_TO_WIN_SYSTEMDIR} STREQUAL "TRUE"))
76
+ bz_get_win_sysdir()
77
+ set(BZ_SI_DEST "${BZ_WIN_SYSDIR}")
78
+ endif()
79
+ # set this target file to sources if ADD_ME flag on
80
+ if("${BZ_SISA_ADD_ME}" STREQUAL "TRUE")
81
+ get_target_property(BZ_SISA_tmp_var "${this_target}" LOCATION)
82
+ set(BZ_SI_SOURCES "${BZ_SISA_SOURCES}" "${BZ_SISA_tmp_var}")
83
+ # get .so version info
84
+ if(NOT WIN32)
85
+ get_target_property(BZ_SISA_tmp_var "${this_target}" VERSION)
86
+ string(REPLACE "." ";" BZ_SISA_tmp_list "${BZ_SISA_tmp_var}")
87
+ list(GET BZ_SISA_tmp_list 0 BZ_SI_VER_MAJOR)
88
+ list(GET BZ_SISA_tmp_list 1 BZ_SI_VER_MINOR)
89
+ list(GET BZ_SISA_tmp_list 2 BZ_SI_VER_RELEASE)
90
+ math(EXPR BZ_SI_VER_MAJOR "${BZ_SI_VER_MAJOR}")
91
+ math(EXPR BZ_SI_VER_MINOR "${BZ_SI_VER_MINOR}")
92
+ math(EXPR BZ_SI_VER_RELEASE "${BZ_SI_VER_RELEASE}")
93
+ endif()
94
+ endif()
95
+ endmacro()
96
+ endif()
97
+
98
+ # ==========================================================
99
+ # install dll if greater (compare with binary version)
100
+ # ==========================================================
101
+ if(NOT COMMAND bz_do_smart_install_dll)
102
+ macro(bz_do_smart_install_dll)
103
+ cmake_parse_arguments(BZ_SID "" "CMD;DEST" "SOURCES" ${ARGN})
104
+ execute_process(COMMAND
105
+ "${BZ_SID_CMD}" "${BZ_SID_SOURCES}" "${BZ_SID_DEST}"
106
+ RESULT_VARIABLE tmp_ret
107
+ OUTPUT_VARIABLE tmp_var
108
+ ERROR_VARIABLE tmp_err
109
+ OUTPUT_STRIP_TRAILING_WHITESPACE
110
+ ERROR_STRIP_TRAILING_WHITESPACE
111
+ )
112
+ string(STRIP "${tmp_var}" tmp_var)
113
+ string(REGEX REPLACE "\n" ";" tmp_list "${tmp_var}")
114
+ foreach(tmp_line ${tmp_list})
115
+ message(STATUS "${tmp_line}")
116
+ foreach(tmp_key "Installing-if-grater: " "Up-to-date-if-grater: ")
117
+ string(REGEX MATCH "${tmp_key}(.*)" tmp_filename "${tmp_line}")
118
+ string(STRIP "${tmp_filename}" tmp_filename)
119
+ string(REPLACE "${tmp_key}" "" tmp_filename "${tmp_filename}")
120
+ if(NOT "${tmp_filename}" STREQUAL "")
121
+ file(TO_CMAKE_PATH "${tmp_filename}" tmp_filename)
122
+ set(CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_MANIFEST_FILES}" "${tmp_filename}")
123
+ endif()
124
+ endforeach()
125
+ endforeach()
126
+ string(STRIP "${tmp_ret}" tmp_ret)
127
+ if(NOT "${tmp_err}" STREQUAL "")
128
+ if("${tmp_ret}" STREQUAL "1")
129
+ message(SEND_ERROR "
130
+ ***********************************************************************
131
+ (EROOR MESSAGE)
132
+ Failed to Install.
133
+ Perhaps it require to run as Administrator, or file is in use.
134
+ Return Code: ${tmp_ret}
135
+ ${tmp_err}
136
+ ***********************************************************************
137
+ ")
138
+ else()
139
+ message(WARNING "
140
+ ***********************************************************************
141
+ (WARNING MESSAGE)
142
+ Files not copied because it could not read the version from the binary.
143
+ There is a possibility that the program does not work properly.
144
+ Please check the compatibility of following binaries.
145
+ Return Code: ${tmp_ret}
146
+ ${tmp_err}
147
+ ***********************************************************************
148
+ ")
149
+ endif()
150
+ endif()
151
+ endmacro()
152
+ endif()
153
+
154
+ # ==========================================================
155
+ # install so if greater (compare with file name)
156
+ # ==========================================================
157
+ if(NOT COMMAND bz_smart_install_so)
158
+ macro(bz_smart_install_so)
159
+ cmake_parse_arguments(BZ_DSI "" "DEST;SOURCE;VMAJOR;VMINOR;VRELEASE" "" ${ARGN})
160
+ get_filename_component(BZ_DSI_BASE "${BZ_DSI_SOURCE}" NAME)
161
+ file(TO_CMAKE_PATH "${BZ_DSI_DEST}/${BZ_DSI_BASE}" BZ_DSI_DEST_BASE)
162
+ #
163
+ # copy file like libfoo.so.1.2.3
164
+ #
165
+ if(NOT EXISTS "${BZ_DSI_DEST}")
166
+ file(MAKE_DIRECTORY "${BZ_DSI_DEST}")
167
+ endif()
168
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy
169
+ "${BZ_DSI_SOURCE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}" "${BZ_DSI_DEST}")
170
+ message(STATUS "Installing: ${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}")
171
+ set(CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_MANIFEST_FILES}"
172
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}")
173
+ #
174
+ # create libfoo.so.1.2 symlink
175
+ #
176
+ set(BZ_DSI_INSTALLED_LINK_1 OFF)
177
+ if(NOT EXISTS "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
178
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove
179
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
180
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
181
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}"
182
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
183
+ set(BZ_DSI_INSTALLED_LINK_1 ON)
184
+ else()
185
+ get_filename_component(BZ_DSI_REAL "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}" REALPATH)
186
+ get_filename_component(BZ_DSI_REAL_NAME "${BZ_DSI_REAL}" NAME)
187
+ if(NOT EXISTS "${BZ_DSI_REAL}")
188
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove
189
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
190
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
191
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}"
192
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
193
+ set(BZ_DSI_INSTALLED_LINK_1 ON)
194
+ else()
195
+ if("${BZ_DSI_REAL_NAME}" MATCHES "^${BZ_DSI_BASE}\\.${BZ_DSI_VMAJOR}\\.${BZ_DSI_VMINOR}\\.[0-9]+$")
196
+ string(REPLACE "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}." "" BZ_DSI_TMP_VER "${BZ_DSI_REAL_NAME}")
197
+ math(EXPR BZ_DSI_TMP_VER "${BZ_DSI_TMP_VER}")
198
+ if(${BZ_DSI_TMP_VER} LESS ${BZ_DSI_VRELEASE})
199
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove
200
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
201
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
202
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}.${BZ_DSI_VRELEASE}"
203
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
204
+ set(BZ_DSI_INSTALLED_LINK_1 ON)
205
+ endif()
206
+ endif()
207
+ endif()
208
+ endif()
209
+ if(BZ_DSI_INSTALLED_LINK_1)
210
+ set(CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_MANIFEST_FILES}"
211
+ "${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
212
+ message(STATUS "Installing: ${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
213
+ else()
214
+ message(STATUS "Up-to-date: ${BZ_DSI_DEST_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}")
215
+ endif()
216
+ #
217
+ # create libfoo.so symlink
218
+ #
219
+ set(BZ_DSI_INSTALLED_LINK_2 OFF)
220
+ if(NOT EXISTS "${BZ_DSI_DEST_BASE}")
221
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove "${BZ_DSI_DEST_BASE}")
222
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
223
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}" "${BZ_DSI_DEST_BASE}")
224
+ set(BZ_DSI_INSTALLED_LINK_2 ON)
225
+ else()
226
+ get_filename_component(BZ_DSI_REAL "${BZ_DSI_DEST_BASE}" REALPATH)
227
+ get_filename_component(BZ_DSI_REAL_NAME "${BZ_DSI_REAL}" NAME)
228
+ if(NOT EXISTS "${BZ_DSI_REAL}")
229
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove "${BZ_DSI_DEST_BASE}")
230
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
231
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}" "${BZ_DSI_DEST_BASE}")
232
+ set(BZ_DSI_INSTALLED_LINK_2 ON)
233
+ else()
234
+ if("${BZ_DSI_REAL_NAME}" MATCHES "^${BZ_DSI_BASE}\\.[0-9]+\\.[0-9]+\\.[0-9]+$")
235
+ string(REPLACE "${BZ_DSI_BASE}." "" BZ_DSI_TMP_VER "${BZ_DSI_REAL_NAME}")
236
+ string(REPLACE "." ";" BZ_DSI_TMP_VER_LIST "${BZ_DSI_TMP_VER}")
237
+ list(GET BZ_DSI_TMP_VER_LIST 0 BZ_DSI_TMP_VER_MAJOR)
238
+ list(GET BZ_DSI_TMP_VER_LIST 1 BZ_DSI_TMP_VER_MINOR)
239
+ math(EXPR BZ_DSI_TMP_VER_MAJOR "${BZ_DSI_TMP_VER_MAJOR}")
240
+ math(EXPR BZ_DSI_TMP_VER_MINOR "${BZ_DSI_TMP_VER_MINOR}")
241
+ if(${BZ_DSI_TMP_VER_MAJOR} LESS ${BZ_DSI_VMAJOR})
242
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove "${BZ_DSI_DEST_BASE}")
243
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
244
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}" "${BZ_DSI_DEST_BASE}")
245
+ set(BZ_DSI_INSTALLED_LINK_2 ON)
246
+ elseif((${BZ_DSI_TMP_VER_MAJOR} EQUAL ${BZ_DSI_VMAJOR}) AND
247
+ (${BZ_DSI_TMP_VER_MINOR} LESS ${BZ_DSI_VMINOR}))
248
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove "${BZ_DSI_DEST_BASE}")
249
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
250
+ "${BZ_DSI_BASE}.${BZ_DSI_VMAJOR}.${BZ_DSI_VMINOR}" "${BZ_DSI_DEST_BASE}")
251
+ set(BZ_DSI_INSTALLED_LINK_2 ON)
252
+ endif()
253
+ endif()
254
+ endif()
255
+ endif()
256
+ if(BZ_DSI_INSTALLED_LINK_2)
257
+ set(CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_MANIFEST_FILES}" "${BZ_DSI_DEST_BASE}")
258
+ message(STATUS "Installing: ${BZ_DSI_DEST_BASE}")
259
+ else()
260
+ message(STATUS "Up-to-date: ${BZ_DSI_DEST_BASE}")
261
+ endif()
262
+ endmacro()
263
+ endif()
@@ -0,0 +1,122 @@
1
+ ##=================================================================
2
+ # Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU General Public License
6
+ # as published by the Free Software Foundation; either version 2
7
+ # of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ # 02111-1307, USA.
18
+ ##=================================================================
19
+ # ==========================================================
20
+ # get compiler bitness
21
+ # ==========================================================
22
+ if(NOT COMMAND bz_get_compiler_bitness)
23
+ macro(bz_get_compiler_bitness)
24
+ if(CMAKE_SIZEOF_VOID_P)
25
+ set(SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}")
26
+ else()
27
+ include(CheckTypeSize)
28
+ check_type_size("void*" SIZEOF_VOID_P BUILTIN_TYPES_ONLY)
29
+ endif()
30
+ if(SIZEOF_VOID_P EQUAL 8)
31
+ set(BZ_BITNESS "64")
32
+ else()
33
+ set(BZ_BITNESS "32")
34
+ endif()
35
+ if(MSVC AND "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
36
+ if("${CMAKE_GENERATOR}" MATCHES "Win64")
37
+ set(BZ_BITNESS "64")
38
+ else()
39
+ set(BZ_BITNESS "32")
40
+ endif()
41
+ endif()
42
+ endmacro()
43
+ endif()
44
+
45
+
46
+ # ==========================================================
47
+ # get compiler
48
+ # ==========================================================
49
+ if(NOT COMMAND bz_get_compiler)
50
+ macro(bz_get_compiler)
51
+ set(BZ_COMPILER "")
52
+ if(WIN32)
53
+ if(MSVC60)
54
+ set(BZ_COMPILER "_vc060")
55
+ elseif(MSVC70)
56
+ set(BZ_COMPILER "_vc070")
57
+ elseif(MSVC80)
58
+ set(BZ_COMPILER "_vc080")
59
+ elseif(MSVC90)
60
+ set(BZ_COMPILER "_vc090")
61
+ elseif(MSVC10)
62
+ set(BZ_COMPILER "_vc100")
63
+ elseif(MSVC11)
64
+ set(BZ_COMPILER "_vc110")
65
+ elseif(MINGW)
66
+ string(REPLACE "." ";" tmp_list ${CMAKE_CXX_COMPILER_VERSION})
67
+ list (GET tmp_list 0 MINGW_MAJOR)
68
+ list (GET tmp_list 1 MINGW_MINOR)
69
+ list (GET tmp_list 2 MINGW_RELEASE)
70
+ set(BZ_COMPILER "_mgw${MINGW_MAJOR}${MINGW_MINOR}")
71
+ endif()
72
+ endif()
73
+ endmacro()
74
+ endif()
75
+
76
+
77
+ # ==========================================================
78
+ # get windows system bitness
79
+ # ==========================================================
80
+ if(NOT COMMAND bz_get_win_bitness)
81
+ macro(bz_get_win_bitness)
82
+ if(WIN32)
83
+ set(tmp_var "$ENV{PROGRAMFILES(x86)}")
84
+ if(DEFINED tmp_var)
85
+ set(BZ_WIN_BITNESS "64")
86
+ else()
87
+ set(BZ_WIN_BITNESS "32")
88
+ endif()
89
+ else()
90
+ set(BZ_WIN_BITNESS "")
91
+ endif()
92
+ endmacro()
93
+ endif()
94
+
95
+
96
+ # ==========================================================
97
+ # get windows system directories
98
+ # ==========================================================
99
+ if(NOT COMMAND bz_get_win_sysdir)
100
+ macro(bz_get_win_sysdir)
101
+ set(BZ_WIN_SYSDIR_FOR_32BIT_BINARY "")
102
+ set(BZ_WIN_SYSDIR_FOR_64BIT_BINARY "")
103
+ set(BZ_WIN_SYSDIR "")
104
+ if(WIN32)
105
+ bz_get_win_bitness()
106
+ set(tmp_var "$ENV{Systemroot}")
107
+ if(DEFINED tmp_var)
108
+ if("${BZ_WIN_BITNESS}" STREQUAL "32")
109
+ file(TO_CMAKE_PATH "${tmp_var}/System32" BZ_WIN_SYSDIR_FOR_32BIT_BINARY)
110
+ elseif("${BZ_WIN_BITNESS}" STREQUAL "64")
111
+ file(TO_CMAKE_PATH "${tmp_var}/SysWOW64" BZ_WIN_SYSDIR_FOR_32BIT_BINARY)
112
+ file(TO_CMAKE_PATH "${tmp_var}/System32" BZ_WIN_SYSDIR_FOR_64BIT_BINARY)
113
+ endif()
114
+ endif()
115
+ endif()
116
+ bz_get_compiler_bitness()
117
+ if(("${BZ_BITNESS}" STREQUAL "32") OR ("${BZ_BITNESS}" STREQUAL "64"))
118
+ set(BZ_WIN_SYSDIR "${BZ_WIN_SYSDIR_FOR_${BZ_BITNESS}BIT_BINARY}")
119
+ endif()
120
+ endmacro()
121
+ endif()
122
+
@@ -0,0 +1,52 @@
1
+ //=================================================================
2
+ // Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
+ //
4
+ // This program is free software; you can redistribute it and/or
5
+ // modify it under the terms of the GNU General Public License
6
+ // as published by the Free Software Foundation; either version 2
7
+ // of the License, or (at your option) any later version.
8
+ //
9
+ // This program is distributed in the hope that it will be useful,
10
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ // GNU General Public License for more details.
13
+ //
14
+ // You should have received a copy of the GNU General Public License
15
+ // along with this program; if not, write to the Free Software
16
+ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ // 02111-1307, USA.
18
+ //=================================================================
19
+
20
+ #include <windows.h>
21
+ #define IDC_STATIC -1
22
+
23
+ VS_VERSION_INFO VERSIONINFO
24
+ FILEVERSION @TD_RC_F_VER_MAJOR@,@TD_RC_F_VER_MINOR@,@TD_RC_F_VER_RELEASE@,@TD_RC_F_VER_BUILD@
25
+ PRODUCTVERSION @TD_RC_P_VER_MAJOR@,@TD_RC_P_VER_MINOR@,@TD_RC_P_VER_RELEASE@,@TD_RC_P_VER_BUILD@
26
+ FILEFLAGSMASK 0x3fL
27
+ #ifdef _DEBUG
28
+ FILEFLAGS 0x1L
29
+ #else
30
+ FILEFLAGS 0x0L
31
+ #endif
32
+ FILEOS 0x40004L
33
+ FILETYPE 0x2L
34
+ FILESUBTYPE 0x0L
35
+ BEGIN
36
+ BLOCK "StringFileInfo"
37
+ BEGIN
38
+ BLOCK "041104b0"
39
+ BEGIN
40
+ VALUE "CompanyName", "BizStation Corp."
41
+ VALUE "FileDescription", "@TD_RC_F_DESC@"
42
+ VALUE "FileVersion", "@TD_RC_F_VER_MAJOR@.@TD_RC_F_VER_MINOR@.@TD_RC_F_VER_RELEASE@.@TD_RC_F_VER_BUILD@"
43
+ VALUE "LegalCopyright", "Copyright (C) 2013 BizStation Corp."
44
+ VALUE "ProductName", "@TD_RC_P_NAME@"
45
+ VALUE "ProductVersion", "@TD_RC_P_VER_MAJOR@.@TD_RC_P_VER_MINOR@.@TD_RC_P_VER_RELEASE@.@TD_RC_P_VER_BUILD@"
46
+ END
47
+ END
48
+ BLOCK "VarFileInfo"
49
+ BEGIN
50
+ VALUE "Translation", 0x411, 1200
51
+ END
52
+ END
@@ -0,0 +1,101 @@
1
+ ##=================================================================
2
+ # Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU General Public License
6
+ # as published by the Free Software Foundation; either version 2
7
+ # of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ # 02111-1307, USA.
18
+ ##=================================================================
19
+ # ==========================================================
20
+ # add source files macro
21
+ # ==========================================================
22
+ if(NOT COMMAND tdcl_add_source_files)
23
+ macro(tdcl_add_source_files TRANSACTD_ROOT)
24
+ set(${this_target}_SOURCE_FILES
25
+ ${${this_target}_SOURCE_FILES}
26
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/btrDate.cpp
27
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/tdapSchema.cpp
28
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/connMgr.cpp
29
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/database.cpp
30
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/databaseFactory.cpp
31
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/dbDef.cpp
32
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/errorMessage.cpp
33
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/fieldDDF.cpp
34
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/fileDDF.cpp
35
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/filter.cpp
36
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/indexDDF.cpp
37
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/nsDatabase.cpp
38
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/nsTable.cpp
39
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/sharedData.cpp
40
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/table.cpp
41
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/mysql/characterset.cpp
42
+ ${TRANSACTD_ROOT}/source/bzs/rtl/datetime.cpp
43
+ ${TRANSACTD_ROOT}/source/bzs/rtl/stringBuffers.cpp
44
+ ${TRANSACTD_ROOT}/source/bzs/rtl/strtrim.cpp
45
+ )
46
+ if(WIN32)
47
+ set(${this_target}_SOURCE_FILES ${${this_target}_SOURCE_FILES}
48
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/myDateTime.cpp
49
+ )
50
+ else()
51
+ set(${this_target}_SOURCE_FILES ${${this_target}_SOURCE_FILES}
52
+ ${TRANSACTD_ROOT}/source/bzs/env/crosscompile.cpp
53
+ ${TRANSACTD_ROOT}/source/bzs/env/mbcswchrLinux.cpp
54
+ )
55
+ endif()
56
+ endmacro()
57
+ endif()
58
+
59
+
60
+ # ==========================================================
61
+ # add include directory macro
62
+ # ==========================================================
63
+ if(NOT COMMAND tdcl_add_include_directory)
64
+ macro(tdcl_add_include_directory TRANSACTD_ROOT)
65
+ include_directories(${TRANSACTD_ROOT}/source;)
66
+ if(UNIX)
67
+ include_directories(${TRANSACTD_ROOT}/source/linux;)
68
+ endif()
69
+ endmacro()
70
+ endif()
71
+
72
+ # ==========================================================
73
+ # add compiler / linker options macro
74
+ # ==========================================================
75
+ if(NOT COMMAND tdcl_add_compiler_options)
76
+ macro(tdcl_add_compiler_options)
77
+ foreach(build_type "" "_RELEASE" "_DEBUG" "_RELWITHDEBINFO" "_MINSIZEREL")
78
+ bz_add_cxx_flag("-DBOOST_ALL_NO_LIB -DPIC" "${build_type}")
79
+ bz_remove_cxx_flag("-fno-exceptions" "${build_type}")
80
+ bz_remove_cxx_flag("-fno-rtti" "${build_type}")
81
+ bz_remove_cxx_flag("-fno-implicit-templates" "${build_type}")
82
+ bz_remove_cxx_flag("/EHsc" "${build_type}")
83
+ bz_remove_cxx_flag("/EHs" "${build_type}")
84
+ bz_remove_cxx_flag("-DPACKAGE_NO_EXPORT" "${build_type}")
85
+ if(MSVC)
86
+ bz_add_cxx_flag("/EHa /wd4068 /DARBTREGN_PKG /DTRDCL_AUTOLINK_OFF /DTRDCLENGN_EXPORTS" "${build_type}")
87
+ bz_set_MTMTd_cxx_flag("${build_type}")
88
+ else()
89
+ bz_add_cxx_flag("-fPIC -fabi-version=2 -fexceptions -finput-charset=utf-8" "${build_type}")
90
+ bz_add_cxx_flag("-fno-omit-frame-pointer -fno-strict-aliasing -fpermissive -frtti" "${build_type}")
91
+ if(NOT MINGW)
92
+ bz_add_cxx_flag("-DLINUX" "${build_type}")
93
+ endif()
94
+ endif()
95
+ endforeach()
96
+ if(MINGW)
97
+ add_definitions(-DWIN32)
98
+ add_definitions(-D_WIN32)
99
+ endif()
100
+ endmacro()
101
+ endif()
@@ -0,0 +1,93 @@
1
+ ##=================================================================
2
+ # Copyright (C) 2012 2013 BizStation Corp All rights reserved.
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU General Public License
6
+ # as published by the Free Software Foundation; either version 2
7
+ # of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
+ # 02111-1307, USA.
18
+ ##=================================================================
19
+ # ==========================================================
20
+ # tdcl_set_output
21
+ # ==========================================================
22
+ if(NOT COMMAND tdcl_set_output)
23
+ macro(tdcl_set_output TRANSACTD_BINARY_ROOT prefix)
24
+ if(WIN32)
25
+ set_target_properties(${this_target} PROPERTIES
26
+ RUNTIME_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/bin"
27
+ LIBRARY_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/bin"
28
+ ARCHIVE_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/lib")
29
+ if(MSVC)
30
+ transactd_make_msvc_install_file("${TRANSACTD_BINARY_ROOT}")
31
+ add_custom_command(TARGET ${this_target} POST_BUILD
32
+ COMMAND ${CMAKE_COMMAND} -P
33
+ ${CMAKE_CURRENT_BINARY_DIR}/msvc_install_$<CONFIGURATION>.cmake)
34
+ endif()
35
+ else()
36
+ if("${prefix}" STREQUAL "")
37
+ install(TARGETS ${this_target} LIBRARY DESTINATION /usr/lib)
38
+ else()
39
+ install(TARGETS ${this_target} LIBRARY DESTINATION "${prefix}")
40
+ endif()
41
+ endif()
42
+ endmacro()
43
+ endif()
44
+
45
+
46
+ # ==========================================================
47
+ # transactd_set_exe_output
48
+ # ==========================================================
49
+ if(NOT COMMAND transactd_set_exe_output)
50
+ macro(transactd_set_exe_output TRANSACTD_BINARY_ROOT prefix)
51
+ if(WIN32)
52
+ set_target_properties(${this_target} PROPERTIES
53
+ RUNTIME_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/bin")
54
+ if(MSVC)
55
+ transactd_make_msvc_install_file("${TRANSACTD_BINARY_ROOT}")
56
+ add_custom_command(TARGET ${this_target} POST_BUILD
57
+ COMMAND ${CMAKE_COMMAND} -P
58
+ ${CMAKE_CURRENT_BINARY_DIR}/msvc_install_$<CONFIGURATION>.cmake)
59
+ endif()
60
+ else()
61
+ if("${prefix}" STREQUAL "")
62
+ install(TARGETS ${this_target} RUNTIME DESTINATION /usr/local/transactd/bin)
63
+ else()
64
+ install(TARGETS ${this_target} RUNTIME DESTINATION "${prefix}/bin")
65
+ endif()
66
+ endif()
67
+ endmacro()
68
+ endif()
69
+
70
+
71
+ # ==========================================================
72
+ # transactd_make_msvc_install_file MACRO
73
+ # ==========================================================
74
+ if(NOT COMMAND transactd_make_msvc_install_file)
75
+ macro(transactd_make_msvc_install_file TRANSACTD_BINARY_ROOT)
76
+ get_target_property(${this_target}_BINARY_BASENAME "${this_target}" LOCATION)
77
+ get_filename_component(${this_target}_BINARY_BASENAME "${${this_target}_BINARY_BASENAME}" NAME_WE)
78
+ foreach(build_type "RELEASE" "DEBUG" "RELWITHDEBINFO" "MINSIZEREL")
79
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/msvc_install_${build_type}.cmake
80
+ "
81
+ foreach(dirname bin lib)
82
+ file(GLOB dellist \"${TRANSACTD_BINARY_ROOT}/\${dirname}/${${this_target}_BINARY_BASENAME}*\")
83
+ if(NOT \"\${dellist}\" STREQUAL \"\")
84
+ file(REMOVE \${dellist})
85
+ endif()
86
+ file(GLOB copylist
87
+ \"${TRANSACTD_BINARY_ROOT}/\${dirname}/${build_type}/${${this_target}_BINARY_BASENAME}*\")
88
+ file(COPY \${copylist} DESTINATION \"${TRANSACTD_BINARY_ROOT}/\${dirname}/\")
89
+ endforeach()
90
+ ")
91
+ endforeach()
92
+ endmacro()
93
+ endif()