transactd 1.2.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/BUILD_UNIX-JA +46 -67
  3. data/BUILD_WIN-JA +106 -63
  4. data/CMakeLists.txt +40 -15
  5. data/README +219 -75
  6. data/README-JA +207 -76
  7. data/README_ORMSRCGEN +118 -0
  8. data/README_ORMSRCGEN-JA +115 -0
  9. data/bin/common/tdclc_32_2_0.dll +0 -0
  10. data/bin/common/tdclc_64_2_0.dll +0 -0
  11. data/build/common/check_for_link_iconv.cmake +18 -14
  12. data/build/common/create_symlink.cmake.in +25 -0
  13. data/build/common/get_boost_libs.cmake +23 -23
  14. data/build/common/options.cmake +0 -66
  15. data/build/common/smart_install.cmake +3 -3
  16. data/build/common/transactd.rc.in +15 -5
  17. data/build/common/transactd_cl_common.cmake +37 -18
  18. data/build/common/transactd_cl_output.cmake +55 -13
  19. data/build/common/transactd_common.cmake +108 -31
  20. data/build/swig/php/generate.cmake.in +15 -17
  21. data/build/swig/php/generate.cmd.in +15 -9
  22. data/build/swig/php/php.swg +124 -82
  23. data/build/swig/php/transactd.no_yield.php +4494 -0
  24. data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
  25. data/build/swig/php/transactd.no_yield.php.patch +685 -0
  26. data/build/swig/php/transactd.yield.php +4461 -0
  27. data/build/swig/php/transactd.yield.php.git.patch +652 -0
  28. data/build/swig/php/transactd.yield.php.patch +652 -0
  29. data/build/swig/referencecounter.h +79 -0
  30. data/build/swig/ruby/ruby.swg +226 -76
  31. data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
  32. data/build/swig/ruby/without_gvl.swg +87 -0
  33. data/build/swig/tdcl.i +659 -170
  34. data/build/swig/validatablepointer.h +91 -0
  35. data/build/tdclc/CMakeLists.txt +49 -34
  36. data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
  37. data/build/tdclc/tdclc.rc +0 -0
  38. data/build/tdclcpp/CMakeLists.txt +84 -20
  39. data/build/tdclcpp/tdclcpp.rc +0 -0
  40. data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
  41. data/build/tdclrb/CMakeLists.txt +84 -66
  42. data/build/tdclrb/bldgem/extconf.rb +28 -3
  43. data/build/tdclrb/gem/helper.rb +11 -1
  44. data/build/tdclrb/gem_output.cmake +20 -16
  45. data/index_ja.html +15 -0
  46. data/source/bzs/db/IBlobBuffer.h +15 -17
  47. data/source/bzs/db/blobBuffer.h +186 -140
  48. data/source/bzs/db/blobStructs.h +37 -37
  49. data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
  50. data/source/bzs/db/engine/mysql/bookmark.h +150 -147
  51. data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
  52. data/source/bzs/db/engine/mysql/database.h +608 -370
  53. data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
  54. data/source/bzs/db/engine/mysql/dbManager.h +115 -104
  55. data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
  56. data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
  57. data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
  58. data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
  59. data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
  60. data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
  61. data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
  62. data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
  63. data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
  64. data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
  65. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
  66. data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
  67. data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
  68. data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
  69. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
  70. data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
  71. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
  72. data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
  73. data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
  74. data/source/bzs/db/protocol/tdap/client/client.h +361 -320
  75. data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
  76. data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
  77. data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
  78. data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
  79. data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
  80. data/source/bzs/db/protocol/tdap/client/database.h +141 -118
  81. data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
  82. data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
  83. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
  84. data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
  85. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
  86. data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
  87. data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
  88. data/source/bzs/db/protocol/tdap/client/export.h +35 -0
  89. data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
  90. data/source/bzs/db/protocol/tdap/client/field.h +393 -0
  91. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
  92. data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
  93. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
  94. data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
  95. data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
  96. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
  97. data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
  98. data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
  99. data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
  100. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
  101. data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
  102. data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
  103. data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
  104. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
  105. data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
  106. data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
  107. data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
  108. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
  109. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
  110. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
  111. data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
  112. data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
  113. data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
  114. data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
  115. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
  116. data/source/bzs/db/protocol/tdap/client/request.h +227 -170
  117. data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
  118. data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
  119. data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
  120. data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
  121. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
  122. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
  123. data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
  124. data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
  125. data/source/bzs/db/protocol/tdap/client/table.h +413 -87
  126. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
  127. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
  128. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
  129. data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
  130. data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
  131. data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
  132. data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
  133. data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
  134. data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
  135. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
  136. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
  137. data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
  138. data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
  139. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
  140. data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
  141. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
  142. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
  143. data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
  144. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
  145. data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
  146. data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
  147. data/source/bzs/db/transactd/appBuilderImple.h +21 -20
  148. data/source/bzs/db/transactd/appModule.cpp +350 -98
  149. data/source/bzs/db/transactd/appModule.h +31 -37
  150. data/source/bzs/db/transactd/connManager.cpp +138 -135
  151. data/source/bzs/db/transactd/connManager.h +28 -21
  152. data/source/bzs/db/transactd/connectionRecord.h +39 -39
  153. data/source/bzs/db/transactd/transactd.cpp +217 -203
  154. data/source/bzs/env/boost_bcb_link.h +131 -0
  155. data/source/bzs/env/compiler.h +136 -79
  156. data/source/bzs/env/crosscompile.cpp +57 -57
  157. data/source/bzs/env/crosscompile.h +130 -115
  158. data/source/bzs/env/fileopen.h +7 -8
  159. data/source/bzs/env/mbcswchrLinux.cpp +4 -9
  160. data/source/bzs/env/mbcswchrLinux.h +37 -34
  161. data/source/bzs/env/tcharMinGW.h +59 -0
  162. data/source/bzs/env/tstring.h +90 -95
  163. data/source/bzs/example/changeSchema.cpp +22 -23
  164. data/source/bzs/example/changeSchema_c.cpp +22 -24
  165. data/source/bzs/example/connection_pool_c.cpp +49 -104
  166. data/source/bzs/example/createDatabase.cpp +40 -47
  167. data/source/bzs/example/createDatabase_c.cpp +38 -43
  168. data/source/bzs/example/deleteRecords.cpp +10 -15
  169. data/source/bzs/example/deleteRecords_c.cpp +10 -14
  170. data/source/bzs/example/dropDatabase.cpp +3 -9
  171. data/source/bzs/example/dropDatabase_c.cpp +5 -6
  172. data/source/bzs/example/insertRecords.cpp +37 -29
  173. data/source/bzs/example/insertRecords_c.cpp +19 -25
  174. data/source/bzs/example/ormap_c.cpp +621 -0
  175. data/source/bzs/example/queryData.cpp +371 -0
  176. data/source/bzs/example/queryData.h +16 -0
  177. data/source/bzs/example/query_c.cpp +109 -0
  178. data/source/bzs/example/readRecords.cpp +27 -27
  179. data/source/bzs/example/readRecords_c.cpp +25 -23
  180. data/source/bzs/example/updateRecords.cpp +16 -21
  181. data/source/bzs/example/updateRecords_c.cpp +8 -12
  182. data/source/bzs/example/update_with_transaction.cpp +21 -24
  183. data/source/bzs/example/update_with_transaction_c.cpp +12 -15
  184. data/source/bzs/example/useORMRecord.cpp +177 -0
  185. data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
  186. data/source/bzs/netsvc/client/tcpClient.h +541 -489
  187. data/source/bzs/netsvc/server/IAppModule.h +119 -32
  188. data/source/bzs/netsvc/server/iserver.h +21 -23
  189. data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
  190. data/source/bzs/netsvc/server/serverCpt.h +41 -43
  191. data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
  192. data/source/bzs/netsvc/server/serverPipe.h +44 -45
  193. data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
  194. data/source/bzs/netsvc/server/serverTpool.h +38 -43
  195. data/source/bzs/rtl/benchmark.cpp +91 -31
  196. data/source/bzs/rtl/benchmark.h +76 -22
  197. data/source/bzs/rtl/datetime.cpp +231 -233
  198. data/source/bzs/rtl/datetime.h +16 -16
  199. data/source/bzs/rtl/debuglog.cpp +48 -51
  200. data/source/bzs/rtl/debuglog.h +55 -44
  201. data/source/bzs/rtl/exception.h +55 -48
  202. data/source/bzs/rtl/stl_uty.cpp +27 -28
  203. data/source/bzs/rtl/stl_uty.h +28 -29
  204. data/source/bzs/rtl/stringBuffers.cpp +8 -6
  205. data/source/bzs/rtl/stringBuffers.h +16 -9
  206. data/source/bzs/rtl/strtrim.cpp +90 -91
  207. data/source/bzs/rtl/strtrim.h +14 -16
  208. data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
  209. data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
  210. data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
  211. data/source/bzs/test/tdclphp/bench.php +357 -0
  212. data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
  213. data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
  214. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
  215. data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
  216. data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -0
  217. data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
  218. data/source/bzs/test/tdclrb/prepare.rb +15 -12
  219. data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
  220. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
  221. data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
  222. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
  223. data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
  224. data/source/bzs/test/transactdBench/query_bench.cpp +156 -0
  225. data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
  226. data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
  227. data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
  228. data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
  229. data/source/bzs/test/transactdBench/workerBase.h +88 -0
  230. data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
  231. data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
  232. data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
  233. data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
  234. data/source/global/ormsrcgen/confParam.h +80 -0
  235. data/source/global/ormsrcgen/fieldName.cpp +77 -0
  236. data/source/global/ormsrcgen/fieldName.h +43 -0
  237. data/source/global/ormsrcgen/main.cpp +196 -0
  238. data/source/global/ormsrcgen/srcgen.cpp +763 -0
  239. data/source/global/ormsrcgen/srcgen.h +72 -0
  240. data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
  241. data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
  242. data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
  243. data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
  244. data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
  245. data/source/global/ormsrcgen/template/template.cnf +38 -0
  246. data/source/global/querystmts/querystmts.cpp +237 -0
  247. data/source/global/tdclatl/ConnectParams.cpp +77 -0
  248. data/source/global/tdclatl/ConnectParams.h +70 -0
  249. data/source/global/tdclatl/Database.cpp +132 -128
  250. data/source/global/tdclatl/Database.h +60 -49
  251. data/source/global/tdclatl/DbDef.cpp +68 -64
  252. data/source/global/tdclatl/DbDef.h +36 -36
  253. data/source/global/tdclatl/Field.cpp +12 -17
  254. data/source/global/tdclatl/Field.h +15 -12
  255. data/source/global/tdclatl/FieldDef.cpp +75 -36
  256. data/source/global/tdclatl/FieldDef.h +38 -19
  257. data/source/global/tdclatl/FieldDefs.cpp +74 -0
  258. data/source/global/tdclatl/FieldDefs.h +56 -0
  259. data/source/global/tdclatl/FieldNames.cpp +99 -0
  260. data/source/global/tdclatl/FieldNames.h +66 -0
  261. data/source/global/tdclatl/Flags.cpp +75 -37
  262. data/source/global/tdclatl/Flags.h +13 -12
  263. data/source/global/tdclatl/GroupQuery.cpp +119 -0
  264. data/source/global/tdclatl/GroupQuery.h +65 -0
  265. data/source/global/tdclatl/KeyDef.cpp +15 -14
  266. data/source/global/tdclatl/KeyDef.h +20 -17
  267. data/source/global/tdclatl/KeySegment.cpp +13 -12
  268. data/source/global/tdclatl/PooledDbManager.cpp +223 -0
  269. data/source/global/tdclatl/PooledDbManager.h +76 -0
  270. data/source/global/tdclatl/QueryBase.cpp +206 -127
  271. data/source/global/tdclatl/QueryBase.h +55 -59
  272. data/source/global/tdclatl/Record.cpp +214 -0
  273. data/source/global/tdclatl/Record.h +96 -0
  274. data/source/global/tdclatl/Recordset.cpp +278 -0
  275. data/source/global/tdclatl/Recordset.h +83 -0
  276. data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
  277. data/source/global/tdclatl/RecordsetQuery.h +126 -0
  278. data/source/global/tdclatl/Table.cpp +57 -60
  279. data/source/global/tdclatl/Table.h +32 -29
  280. data/source/global/tdclatl/TableDef.cpp +63 -62
  281. data/source/global/tdclatl/TableDef.h +20 -22
  282. data/source/global/tdclatl/TdVersion.cpp +3 -3
  283. data/source/global/tdclatl/TdVersion.h +15 -11
  284. data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
  285. data/source/global/tdclatl/activeTable.cpp +355 -0
  286. data/source/global/tdclatl/activeTable.h +79 -0
  287. data/source/global/tdclatl/dllmain.cpp +4 -3
  288. data/source/global/tdclatl/dllmain.h +7 -6
  289. data/source/global/tdclatl/keySegment.h +22 -18
  290. data/source/global/tdclatl/resource.h +0 -0
  291. data/source/global/tdclatl/stdafx.h +6 -4
  292. data/source/global/tdclatl/targetver.h +0 -1
  293. data/source/global/tdclatl/tdclatl.cpp +10 -5
  294. data/source/global/tdclatl/tdclatl.idl +530 -14
  295. data/source/linux/charsetConvert.h +78 -79
  296. data/source/linux/linuxTypes.h +9 -12
  297. data/source/linux/tchar.h +168 -166
  298. data/transactd.gemspec +24 -16
  299. metadata +98 -12
  300. data/bin/common/tdclc_32_1_2.dll +0 -0
  301. data/bin/common/tdclc_64_1_2.dll +0 -0
  302. data/build/tdclc/tdclc_32.cbproj +0 -173
  303. data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
  304. data/build/tdclrb/GEM_VERSION +0 -3
  305. data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
  306. data/source/bzs/example/useORM.cpp +0 -585
@@ -26,21 +26,25 @@ if(UNIX)
26
26
  set(CMAKE_FIND_LIBRARY_SUFFIXES "\\.so" "\\.a")
27
27
  endif()
28
28
  # find iconv.h
29
- find_path(ICONV_INCLUDE_DIR iconv.h
30
- /usr/include
31
- /usr/local/include
32
- ${CMAKE_SYSTEM_INCLUDE_PATH}
33
- "$ENV{ICONV_INCLUDE}"
34
- NO_DEFAULT_PATH
35
- )
29
+ if(NOT DEFINED ICONV_INCLUDE_DIR)
30
+ find_path(ICONV_INCLUDE_DIR iconv.h
31
+ "$ENV{ICONV_INCLUDE}"
32
+ ${CMAKE_SYSTEM_INCLUDE_PATH}
33
+ /usr/include
34
+ /usr/local/include
35
+ NO_DEFAULT_PATH
36
+ )
37
+ endif()
36
38
  # find libiconv
37
- find_library(ICONV_LIBRARY NAMES iconv libiconv PATHS
38
- /usr/lib
39
- /usr/local/lib
40
- ${CMAKE_SYSTEM_LIBRARY_PATH}
41
- "$ENV{ICONV_LIBRARY}"
42
- NO_DEFAULT_PATH
43
- )
39
+ if(NOT DEFINED ICONV_LIBRARY)
40
+ find_library(ICONV_LIBRARY NAMES iconv libiconv PATHS
41
+ "$ENV{ICONV_LIBRARY}"
42
+ ${CMAKE_SYSTEM_LIBRARY_PATH}
43
+ /usr/lib
44
+ /usr/local/lib
45
+ NO_DEFAULT_PATH
46
+ )
47
+ endif()
44
48
  # if found iconv.h and libiconv then we can use -liconv option
45
49
  if(ICONV_INCLUDE_DIR AND ICONV_LIBRARY)
46
50
  set(CAN_LINK_ICONV TRUE)
@@ -0,0 +1,25 @@
1
+ ##=================================================================
2
+ # Copyright (C) 2014 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
+ # Create symlink
21
+ #
22
+ execute_process(COMMAND ln -sF
23
+ ${BZ_SYML_TARGET_NAME} ${BZ_SYML_LINK_PATH_1})
24
+ execute_process(COMMAND ln -sF
25
+ ${BZ_SYML_LINK_NAME_1} ${BZ_SYML_LINK_PATH_2})
@@ -22,51 +22,51 @@
22
22
  # set(Boost_USE_MULTITHREADED ON)
23
23
  # set(Boost_USE_STATIC_LIBS ON)
24
24
  # get_boost_libs("system;chrono")
25
- # message(STATUS "for /MD ${Boost_LIBRARIES_FOR_MD}") # =Boost_LIBRARIES_STATIC_RUNTIME_OFF_NO_DEBUG
26
- # message(STATUS "for /MDd ${Boost_LIBRARIES_FOR_MDd}") # =Boost_LIBRARIES_STATIC_RUNTIME_OFF_DEBUG
27
- # message(STATUS "for /MT ${Boost_LIBRARIES_FOR_MT}") # =Boost_LIBRARIES_STATIC_RUNTIME_ON_NO_DEBUG
28
- # message(STATUS "for /MTd ${Boost_LIBRARIES_FOR_MTd}") # =Boost_LIBRARIES_STATIC_RUNTIME_ON_DEBUG
29
- # get_boost_libs_from_CXXFLAGS("${CMAKE_CXX_FLAGS_DEBUG}")
30
- # message(STATUS "for DEBUG BUILD ${get_boost_libs_from_CXXFLAGS_return}")
25
+ # message(STATUS "for /MD ${Boost_LIBRARIES_FOR_MD}") # =Boost_LIBRARIES_STATIC_USE_RUNTIME_NO_DEBUG
26
+ # message(STATUS "for /MDd ${Boost_LIBRARIES_FOR_MDd}") # =Boost_LIBRARIES_STATIC_USE_RUNTIME_DEBUG
27
+ # message(STATUS "for /MT ${Boost_LIBRARIES_FOR_MT}") # =Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME_NO_DEBUG
28
+ # message(STATUS "for /MTd ${Boost_LIBRARIES_FOR_MTd}") # =Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME_DEBUG
29
+ # get_boost_libs_from_compiler_flags("${CMAKE_CXX_FLAGS_DEBUG}")
30
+ # message(STATUS "for DEBUG BUILD ${get_boost_libs_from_compiler_flags_return}")
31
31
  function(get_boost_libs libs)
32
- # Get pathes STATIC_RUNTIME_ON
32
+ # Get pathes STATIC_RUNTIME_ON (for /MT and /MTd)
33
33
  set(Boost_USE_STATIC_RUNTIME ON)
34
34
  find_package(Boost COMPONENTS ${libs})
35
35
  if(NOT Boost_FOUND)
36
36
  message(SEND_ERROR "Boost not found. ${libs}")
37
37
  endif()
38
- set(Boost_LIBRARIES_STATIC_RUNTIME_ON ${Boost_LIBRARIES})
38
+ set(Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME ${Boost_LIBRARIES})
39
39
  set(Boost_LIBRARIES "")
40
- # Get pathes STATIC_RUNTIME_OFF
40
+ # Get pathes STATIC_RUNTIME_OFF (for /MD and /MDd)
41
41
  set(Boost_USE_STATIC_RUNTIME OFF)
42
42
  find_package(Boost COMPONENTS ${libs})
43
43
  if(NOT Boost_FOUND)
44
44
  message(SEND_ERROR "Boost not found. ${libs}")
45
45
  endif()
46
- set(Boost_LIBRARIES_STATIC_RUNTIME_OFF ${Boost_LIBRARIES})
46
+ set(Boost_LIBRARIES_STATIC_USE_RUNTIME ${Boost_LIBRARIES})
47
47
  set(Boost_LIBRARIES "")
48
48
  # for /MD
49
- parse_boost_libs(false "${Boost_LIBRARIES_STATIC_RUNTIME_OFF}")
49
+ parse_boost_libs(false "${Boost_LIBRARIES_STATIC_USE_RUNTIME}")
50
50
  set(Boost_LIBRARIES_FOR_MD "${parse_boost_libs_return}" PARENT_SCOPE)
51
- set(Boost_LIBRARIES_STATIC_RUNTIME_OFF_NO_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
51
+ set(Boost_LIBRARIES_STATIC_USE_RUNTIME_NO_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
52
52
  # for /MDd
53
- parse_boost_libs(true "${Boost_LIBRARIES_STATIC_RUNTIME_OFF}")
53
+ parse_boost_libs(true "${Boost_LIBRARIES_STATIC_USE_RUNTIME}")
54
54
  set(Boost_LIBRARIES_FOR_MDd "${parse_boost_libs_return}" PARENT_SCOPE)
55
- set(Boost_LIBRARIES_STATIC_RUNTIME_OFF_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
55
+ set(Boost_LIBRARIES_STATIC_USE_RUNTIME_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
56
56
  # for /MT
57
- parse_boost_libs(false "${Boost_LIBRARIES_STATIC_RUNTIME_ON}")
57
+ parse_boost_libs(false "${Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME}")
58
58
  set(Boost_LIBRARIES_FOR_MT "${parse_boost_libs_return}" PARENT_SCOPE)
59
- set(Boost_LIBRARIES_STATIC_RUNTIME_ON_NO_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
59
+ set(Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME_NO_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
60
60
  # for /MTd
61
- parse_boost_libs(true "${Boost_LIBRARIES_STATIC_RUNTIME_ON}")
61
+ parse_boost_libs(true "${Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME}")
62
62
  set(Boost_LIBRARIES_FOR_MTd "${parse_boost_libs_return}" PARENT_SCOPE)
63
- set(Boost_LIBRARIES_STATIC_RUNTIME_ON_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
63
+ set(Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME_DEBUG "${parse_boost_libs_return}" PARENT_SCOPE)
64
64
  # Boost_INCLUDE_DIRS
65
65
  set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIRS}" PARENT_SCOPE)
66
66
  endfunction()
67
67
 
68
- function(get_boost_libs_from_CXXFLAGS flags)
69
- set(get_boost_libs_from_CXXFLAGS_return "" PARENT_SCOPE)
68
+ function(get_boost_libs_from_compiler_flags flags)
69
+ set(get_boost_libs_from_compiler_flags_return "" PARENT_SCOPE)
70
70
  set(Boost_LIBRARIES_BUILD_TYPE "")
71
71
  if("${flags}" MATCHES "(.* )?/MD( .*)?$")
72
72
  set(Boost_LIBRARIES_BUILD_TYPE "${Boost_LIBRARIES_FOR_MD}")
@@ -76,10 +76,10 @@ function(get_boost_libs_from_CXXFLAGS flags)
76
76
  set(Boost_LIBRARIES_BUILD_TYPE "${Boost_LIBRARIES_FOR_MT}")
77
77
  elseif("${flags}" MATCHES "(.* )?/MTd( .*)?$")
78
78
  set(Boost_LIBRARIES_BUILD_TYPE "${Boost_LIBRARIES_FOR_MTd}")
79
- else()
80
- set(Boost_LIBRARIES_BUILD_TYPE "${Boost_LIBRARIES_FOR_MD}")
81
79
  endif()
82
- set(get_boost_libs_from_CXXFLAGS_return "${Boost_LIBRARIES_BUILD_TYPE}" PARENT_SCOPE)
80
+ if(NOT ("${Boost_LIBRARIES_BUILD_TYPE}" STREQUAL ""))
81
+ set(get_boost_libs_from_compiler_flags_return "${Boost_LIBRARIES_BUILD_TYPE}" PARENT_SCOPE)
82
+ endif()
83
83
  endfunction()
84
84
 
85
85
  function(parse_boost_libs with_debug path)
@@ -59,69 +59,3 @@ macro(bz_add_cxx_flag opt build_type)
59
59
  set(CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}} ${opt}")
60
60
  endmacro()
61
61
  endif()
62
-
63
- # ==========================================================
64
- # remove UNICODE or MBCS flag from CXX_FLAGS
65
- # ==========================================================
66
- if(NOT COMMAND bz_remove_charset_cxx_flag)
67
- macro(bz_remove_charset_cxx_flag build_type)
68
- bz_remove_cxx_flag("-DUNICODE" "${build_type}")
69
- bz_remove_cxx_flag("/DUNICODE" "${build_type}")
70
- bz_remove_cxx_flag("-D_UNICODE" "${build_type}")
71
- bz_remove_cxx_flag("/D_UNICODE" "${build_type}")
72
- bz_remove_cxx_flag("-DMBCS" "${build_type}")
73
- bz_remove_cxx_flag("/DMBCS" "${build_type}")
74
- bz_remove_cxx_flag("-D_MBCS" "${build_type}")
75
- bz_remove_cxx_flag("/D_MBCS" "${build_type}")
76
- endmacro()
77
- endif()
78
-
79
- # ==========================================================
80
- # set UNICODE flag to CXX_FLAGS
81
- # ==========================================================
82
- if(NOT COMMAND bz_set_UNICODE_cxx_flag)
83
- macro(bz_set_UNICODE_cxx_flag build_type)
84
- bz_remove_charset_cxx_flag("${build_type}")
85
- bz_add_cxx_flag("-DUNICODE -D_UNICODE" "${build_type}")
86
- endmacro()
87
- endif()
88
-
89
- # ==========================================================
90
- # set MBCS flag to CXX_FLAGS
91
- # ==========================================================
92
- if(NOT COMMAND bz_set_MBCS_cxx_flag)
93
- macro(bz_set_MBCS_cxx_flag build_type)
94
- bz_remove_charset_cxx_flag("${build_type}")
95
- bz_add_cxx_flag("-D_MBCS" "${build_type}")
96
- endmacro()
97
- endif()
98
-
99
- # ==========================================================
100
- # set /MT(d) flag to CXX_FLAGS
101
- # ==========================================================
102
- if(NOT COMMAND bz_set_MTMTd_cxx_flag)
103
- macro(bz_set_MTMTd_cxx_flag build_type)
104
- bz_replace_cxx_flag("/MDd" "/MTd" "${build_type}")
105
- bz_replace_cxx_flag("/MD" "/MT" "${build_type}")
106
- if( "${CMAKE_CXX_FLAGS${build_type}}" MATCHES "(.* )?/MT( .*)?$")
107
- elseif("${CMAKE_CXX_FLAGS${build_type}}" MATCHES "(.* )?/MTd( .*)?$")
108
- else()
109
- bz_add_cxx_flag("/MT" "${build_type}")
110
- endif()
111
- endmacro()
112
- endif()
113
-
114
- # ==========================================================
115
- # set /MD(d) flag to CXX_FLAGS
116
- # ==========================================================
117
- if(NOT COMMAND bz_set_MDMDd_cxx_flag)
118
- macro(bz_set_MDMDd_cxx_flag build_type)
119
- bz_replace_cxx_flag("/MTd" "/MDd" "${build_type}")
120
- bz_replace_cxx_flag("/MT" "/MD" "${build_type}")
121
- if( "${CMAKE_CXX_FLAGS${build_type}}" MATCHES "(.* )?/MD( .*)?$")
122
- elseif("${CMAKE_CXX_FLAGS${build_type}}" MATCHES "(.* )?/MDd( .*)?$")
123
- else()
124
- bz_add_cxx_flag("/MD" "${build_type}")
125
- endif()
126
- endmacro()
127
- endif()
@@ -17,15 +17,15 @@
17
17
  # 02111-1307, USA.
18
18
  ##=================================================================
19
19
  ## need system.cmake
20
+ set(BZ_SI_SCRIPT "${CMAKE_CURRENT_LIST_FILE}")
21
+ get_filename_component(BZ_SI_WINCMD "${CMAKE_CURRENT_LIST_FILE}" PATH)
22
+ set(BZ_SI_WINCMD "${BZ_SI_WINCMD}/copyifgreater.cmd")
20
23
  # ==========================================================
21
24
  # install so/dll if greater
22
25
  # * compare .dll with binary version info
23
26
  # * compere .so with file name suffix
24
27
  # ==========================================================
25
28
  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
29
  macro(bz_smart_install)
30
30
  cmake_parse_arguments(BZ_SI
31
31
  "TO_WIN_SYSTEMDIR;ADD_ME" "DEST;VER_MAJOR;VER_MINOR;VER_RELEASE" "SOURCES" ${ARGN})
@@ -1,5 +1,5 @@
1
1
  //=================================================================
2
- // Copyright (C) 2012 2013 BizStation Corp All rights reserved.
2
+ // Copyright (C) 2013 BizStation Corp All rights reserved.
3
3
  //
4
4
  // This program is free software; you can redistribute it and/or
5
5
  // modify it under the terms of the GNU General Public License
@@ -17,9 +17,17 @@
17
17
  // 02111-1307, USA.
18
18
  //=================================================================
19
19
 
20
+ #ifndef __BCPLUSPLUS__
20
21
  #include <windows.h>
22
+ #endif
23
+
21
24
  #define IDC_STATIC -1
22
25
 
26
+ /////////////////////////////////////////////////////////////////////////////
27
+ //
28
+ // Version
29
+ //
30
+
23
31
  VS_VERSION_INFO VERSIONINFO
24
32
  FILEVERSION @TD_RC_F_VER_MAJOR@,@TD_RC_F_VER_MINOR@,@TD_RC_F_VER_RELEASE@,@TD_RC_F_VER_BUILD@
25
33
  PRODUCTVERSION @TD_RC_P_VER_MAJOR@,@TD_RC_P_VER_MINOR@,@TD_RC_P_VER_RELEASE@,@TD_RC_P_VER_BUILD@
@@ -35,18 +43,20 @@ VS_VERSION_INFO VERSIONINFO
35
43
  BEGIN
36
44
  BLOCK "StringFileInfo"
37
45
  BEGIN
38
- BLOCK "041104b0"
46
+ BLOCK "040904b0"
39
47
  BEGIN
40
48
  VALUE "CompanyName", "BizStation Corp."
41
49
  VALUE "FileDescription", "@TD_RC_F_DESC@"
42
50
  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@"
51
+ VALUE "LegalCopyright", "Copyright(C) 2014 BizStation Corp"
45
52
  VALUE "ProductVersion", "@TD_RC_P_VER_MAJOR@.@TD_RC_P_VER_MINOR@.@TD_RC_P_VER_RELEASE@.@TD_RC_P_VER_BUILD@"
53
+ VALUE "ProductName", "@TD_RC_P_NAME@"
46
54
  END
47
55
  END
48
56
  BLOCK "VarFileInfo"
57
+
49
58
  BEGIN
50
- VALUE "Translation", 0x411, 1200
59
+ VALUE "Translation", 0x409, 1200
51
60
  END
52
61
  END
62
+
@@ -25,16 +25,22 @@ macro(tdcl_add_source_files TRANSACTD_ROOT)
25
25
  ${${this_target}_SOURCE_FILES}
26
26
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/btrDate.cpp
27
27
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/tdapSchema.cpp
28
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/activeTable.cpp
28
29
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/connMgr.cpp
29
30
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/database.cpp
30
31
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/databaseFactory.cpp
31
32
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/dbDef.cpp
32
33
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/errorMessage.cpp
34
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/field.cpp
33
35
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/fieldDDF.cpp
36
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp
34
37
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/fileDDF.cpp
38
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/groupQuery.cpp
35
39
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/indexDDF.cpp
40
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/memRecord.cpp
36
41
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/nsDatabase.cpp
37
42
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/nsTable.cpp
43
+ ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/recordset.cpp
38
44
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/sharedData.cpp
39
45
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/client/table.cpp
40
46
  ${TRANSACTD_ROOT}/source/bzs/db/protocol/tdap/mysql/characterset.cpp
@@ -69,32 +75,45 @@ endmacro()
69
75
  endif()
70
76
 
71
77
  # ==========================================================
72
- # add compiler / linker options macro
78
+ # set compiler flags macro
73
79
  # ==========================================================
74
- if(NOT COMMAND tdcl_add_compiler_options)
75
- macro(tdcl_add_compiler_options)
80
+ if(NOT COMMAND tdcl_set_compiler_flags)
81
+ macro(tdcl_set_compiler_flags)
76
82
  foreach(build_type "" "_RELEASE" "_DEBUG" "_RELWITHDEBINFO" "_MINSIZEREL")
77
- bz_add_cxx_flag("-DBOOST_ALL_NO_LIB -DPIC" "${build_type}")
78
- bz_remove_cxx_flag("-fno-exceptions" "${build_type}")
79
- bz_remove_cxx_flag("-fno-rtti" "${build_type}")
80
- bz_remove_cxx_flag("-fno-implicit-templates" "${build_type}")
81
- bz_remove_cxx_flag("/EHsc" "${build_type}")
82
- bz_remove_cxx_flag("/EHs" "${build_type}")
83
83
  bz_remove_cxx_flag("-DPACKAGE_NO_EXPORT" "${build_type}")
84
84
  if(MSVC)
85
- bz_add_cxx_flag("/EHa /wd4068 /DARBTREGN_PKG /DTRDCL_AUTOLINK_OFF /DTRDCLENGN_EXPORTS" "${build_type}")
86
- bz_set_MTMTd_cxx_flag("${build_type}")
85
+ bz_remove_cxx_flag("/EHsc" "${build_type}")
86
+ bz_remove_cxx_flag("/EHs" "${build_type}")
87
+ bz_remove_cxx_flag("/MDd" "${build_type}")
88
+ bz_remove_cxx_flag("/MTd" "${build_type}")
89
+ bz_remove_cxx_flag("/MD" "${build_type}")
90
+ bz_remove_cxx_flag("/MT" "${build_type}")
91
+ bz_add_cxx_flag(" /nologo /W3 /WX- /Oy- /EHa /errorReport:prompt" "${build_type}")
92
+ bz_add_cxx_flag(" /fp:precise /Zc:wchar_t /Zc:forScope /GS /Gd" "${build_type}")
93
+ bz_add_cxx_flag(" /wd4068 /wd4275 /wd4819 /wd4251" "${build_type}")
94
+ bz_remove_cxx_flag("-DUNICODE" "${build_type}")
95
+ bz_remove_cxx_flag("/DUNICODE" "${build_type}")
96
+ bz_remove_cxx_flag("-D_UNICODE" "${build_type}")
97
+ bz_remove_cxx_flag("/D_UNICODE" "${build_type}")
98
+ bz_remove_cxx_flag("-DMBCS" "${build_type}")
99
+ bz_remove_cxx_flag("/DMBCS" "${build_type}")
100
+ bz_remove_cxx_flag("-D_MBCS" "${build_type}")
101
+ bz_remove_cxx_flag("/D_MBCS" "${build_type}")
87
102
  else()
88
- bz_add_cxx_flag("-fPIC -fabi-version=2 -fexceptions -finput-charset=utf-8" "${build_type}")
89
- bz_add_cxx_flag("-fno-omit-frame-pointer -fno-strict-aliasing -fpermissive -frtti" "${build_type}")
90
- if(NOT MINGW)
91
- bz_add_cxx_flag("-DLINUX" "${build_type}")
103
+ bz_remove_cxx_flag("-fno-exceptions" "${build_type}")
104
+ bz_remove_cxx_flag("-fno-rtti" "${build_type}")
105
+ bz_remove_cxx_flag("-fno-implicit-templates" "${build_type}")
106
+ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
107
+ bz_add_cxx_flag("-std=c++11 -Wno-unknown-pragmas -Wno-char-subscripts -Wno-deprecated-register" "${build_type}")
92
108
  endif()
109
+ bz_add_cxx_flag("-fPIC -fexceptions -fno-omit-frame-pointer" "${build_type}")
110
+ bz_add_cxx_flag("-fno-strict-aliasing -fpermissive -frtti" "${build_type}")
111
+ bz_add_cxx_flag("-D_MBCS" "${build_type}")
93
112
  endif()
94
113
  endforeach()
95
- if(MINGW)
96
- add_definitions(-DWIN32)
97
- add_definitions(-D_WIN32)
114
+ if(MSVC)
115
+ bz_add_cxx_flag(" /ZI /Od /Ob0 /Gm /RTC1" "_DEBUG")
116
+ bz_add_cxx_flag(" /Zi /Ox /Oi /GL /Gm- /Gy" "_RELEASE")
98
117
  endif()
99
118
  endmacro()
100
119
  endif()
@@ -22,26 +22,68 @@
22
22
  if(NOT COMMAND tdcl_set_output)
23
23
  macro(tdcl_set_output TRANSACTD_BINARY_ROOT prefix)
24
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()
25
+ tdcl_set_output_win(${TRANSACTD_BINARY_ROOT})
35
26
  else()
27
+ set(TDCL_TMP_PREFIX "${prefix}")
36
28
  if("${prefix}" STREQUAL "")
37
- install(TARGETS ${this_target} LIBRARY DESTINATION /usr/lib)
38
- else()
39
- install(TARGETS ${this_target} LIBRARY DESTINATION "${prefix}")
29
+ set(TDCL_TMP_PREFIX "/usr/lib")
30
+ endif()
31
+ install(TARGETS ${this_target} LIBRARY DESTINATION "${TDCL_TMP_PREFIX}")
32
+ # if APPLE and bundle module, install symlinks
33
+ if(APPLE AND (NOT ("${${this_target}_CREATE_SIMLINK_CMAKE}" STREQUAL "")))
34
+ install(PROGRAMS "${${this_target}_LINK_PATH_1}" "${${this_target}_LINK_PATH_2}"
35
+ DESTINATION "${TDCL_TMP_PREFIX}")
40
36
  endif()
41
37
  endif()
42
38
  endmacro()
43
39
  endif()
44
40
 
41
+ # set install filenames for Mac OSX
42
+ if(NOT COMMAND tdcl_set_outputnames_osx)
43
+ macro(tdcl_set_outputnames_osx TD_OSX_BASE TD_OSX_MAJOR TD_OSX_MINOR TD_OSX_RELEASE TRANSACTD_ROOT)
44
+ if(APPLE)
45
+ # set target binary suffix
46
+ set_target_properties(${this_target} PROPERTIES SUFFIX
47
+ ".${TD_OSX_MAJOR}.${TD_OSX_MINOR}.${TD_OSX_RELEASE}.so")
48
+ # get binary output location
49
+ get_property(${this_target}_BIN_LOC TARGET ${this_target} PROPERTY LOCATION)
50
+ get_filename_component(TDCL_TMP_BINDIR "${${this_target}_BIN_LOC}" DIRECTORY)
51
+ # target and symlinks name
52
+ set(BZ_SYML_TARGET_NAME
53
+ "${TD_OSX_BASE}.${TD_OSX_MAJOR}.${TD_OSX_MINOR}.${TD_OSX_RELEASE}.so")
54
+ set(BZ_SYML_LINK_NAME_1
55
+ "${TD_OSX_BASE}.${TD_OSX_MAJOR}.${TD_OSX_MINOR}.so")
56
+ file(TO_CMAKE_PATH "${TDCL_TMP_BINDIR}/${BZ_SYML_LINK_NAME_1}" BZ_SYML_LINK_PATH_1)
57
+ file(TO_CMAKE_PATH "${TDCL_TMP_BINDIR}/${TD_OSX_BASE}.so" BZ_SYML_LINK_PATH_2)
58
+ set(${this_target}_LINK_PATH_1 "${BZ_SYML_LINK_PATH_1}")
59
+ set(${this_target}_LINK_PATH_2 "${BZ_SYML_LINK_PATH_2}")
60
+ # set post build command to make symlinks
61
+ set(${this_target}_CREATE_SIMLINK_CMAKE
62
+ "${CMAKE_CURRENT_BINARY_DIR}/create_symlink.cmake")
63
+ configure_file("${TRANSACTD_ROOT}/build/common/create_symlink.cmake.in"
64
+ "${${this_target}_CREATE_SIMLINK_CMAKE}")
65
+ add_custom_command(TARGET ${this_target} POST_BUILD
66
+ COMMAND ${CMAKE_COMMAND} -P ${${this_target}_CREATE_SIMLINK_CMAKE})
67
+ endif()
68
+ endmacro()
69
+ endif()
70
+
71
+ # set install pathes for Windows
72
+ if(NOT COMMAND tdcl_set_output_win)
73
+ macro(tdcl_set_output_win TRANSACTD_BINARY_ROOT)
74
+ set_target_properties(${this_target} PROPERTIES
75
+ RUNTIME_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/bin"
76
+ LIBRARY_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/bin"
77
+ ARCHIVE_OUTPUT_DIRECTORY "${TRANSACTD_BINARY_ROOT}/lib")
78
+ if(MSVC)
79
+ transactd_make_msvc_install_file("${TRANSACTD_BINARY_ROOT}")
80
+ add_custom_command(TARGET ${this_target} POST_BUILD
81
+ COMMAND ${CMAKE_COMMAND} -P
82
+ ${CMAKE_CURRENT_BINARY_DIR}/msvc_install_$<CONFIGURATION>.cmake)
83
+ endif()
84
+ endmacro()
85
+ endif()
86
+
45
87
 
46
88
  # ==========================================================
47
89
  # transactd_set_exe_output
@@ -16,6 +16,20 @@
16
16
  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17
17
  # 02111-1307, USA.
18
18
  ##=================================================================
19
+ # ==========================================================
20
+ # Version infomation macro
21
+ # ==========================================================
22
+ if(NOT COMMAND transactd_ver_info_lic)
23
+ macro(transactd_ver_info_lic)
24
+ if(TRANSACTD_COMMERCIAL)
25
+ set(TRANSACTD_VER_POSTFIX "(Commercial)")
26
+ else()
27
+ set(TRANSACTD_VER_POSTFIX "(GPL V2)")
28
+ endif()
29
+ endmacro()
30
+ endif()
31
+
32
+
19
33
  # ==========================================================
20
34
  # make subdir, copy CMakeLists.txt and BUILDNUMBER.txt
21
35
  # ==========================================================
@@ -112,32 +126,6 @@ endmacro()
112
126
  endif()
113
127
 
114
128
 
115
- # ==========================================================
116
- # read simple version variables
117
- # file format like: VARIABLENAME VALUE
118
- # VARIABLENAME2 VALUE2
119
- # ==========================================================
120
- if(NOT COMMAND transactd_read_variables)
121
- macro(transactd_read_variables TRANSACTD_VAR_FILE)
122
- file(READ "${TRANSACTD_VAR_FILE}" tmp_contents)
123
- string(REGEX REPLACE "\n" ";" tmp_contents "${tmp_contents}")
124
- string(REGEX REPLACE ";+$" "" tmp_contents "${tmp_contents}")
125
- string(REGEX REPLACE " +" " " tmp_contents "${tmp_contents}")
126
- foreach(tmp_line ${tmp_contents})
127
- string(REGEX REPLACE " " ";" tmp_list "${tmp_line}")
128
- list(LENGTH tmp_list tmp_list_len)
129
- if("${tmp_list_len}" STREQUAL "2")
130
- list (GET tmp_list 0 tmp_varname)
131
- string(REGEX REPLACE "^\"(.*)\"$" "\\1" tmp_varname "${tmp_varname}")
132
- list (GET tmp_list 1 tmp_value)
133
- string(REGEX REPLACE "^\"(.*)\"$" "\\1" tmp_value "${tmp_value}")
134
- set(TDREAD_${tmp_varname} "${tmp_value}")
135
- endif()
136
- endforeach()
137
- endmacro()
138
- endif()
139
-
140
-
141
129
  # ==========================================================
142
130
  # generate rc file
143
131
  # ==========================================================
@@ -179,6 +167,70 @@ endmacro()
179
167
  endif()
180
168
 
181
169
 
170
+ # ==========================================================
171
+ # transactd_set_MTMD
172
+ # ==========================================================
173
+ if(NOT COMMAND transactd_set_MTMD)
174
+ macro(transactd_set_MTMD MT_OR_MD)
175
+ if(MSVC)
176
+ string(TOUPPER "${MT_OR_MD}" MT_OR_MD)
177
+ if( (NOT ("${MT_OR_MD}" STREQUAL "MT")) AND
178
+ (NOT ("${MT_OR_MD}" STREQUAL "MD")))
179
+ message(ERROR "[${MT_OR_MD}] is invalid. Please specify MT or MD.")
180
+ endif()
181
+ foreach(build_type "_RELEASE" "_DEBUG" "_RELWITHDEBINFO" "_MINSIZEREL")
182
+ set(CMAKE_CXX_FLAGS${build_type}_BEFORE_${this_target} "${CMAKE_CXX_FLAGS${build_type}}")
183
+ string(REGEX REPLACE "/MTd" " "
184
+ CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}}")
185
+ string(REGEX REPLACE "/MDd" " "
186
+ CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}}")
187
+ string(REGEX REPLACE "/MT" " "
188
+ CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}}")
189
+ string(REGEX REPLACE "/MD" " "
190
+ CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}}")
191
+ if("${CMAKE_CXX_FLAGS${build_type}}" MATCHES "(.* )?/D_DEBUG( .*)?$")
192
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS${build_type}} /${MT_OR_MD}d")
193
+ else()
194
+ set(CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}} /${MT_OR_MD}")
195
+ endif()
196
+ endforeach()
197
+ endif()
198
+ endmacro()
199
+ endif()
200
+
201
+
202
+ # ==========================================================
203
+ # transactd_reset_MTMD
204
+ # ==========================================================
205
+ if(NOT COMMAND transactd_reset_MTMD)
206
+ macro(transactd_reset_MTMD)
207
+ if(MSVC)
208
+ foreach(build_type "_RELEASE" "_DEBUG" "_RELWITHDEBINFO" "_MINSIZEREL")
209
+ set(CMAKE_CXX_FLAGS${build_type} "${CMAKE_CXX_FLAGS${build_type}_BEFORE_${this_target}}")
210
+ endforeach()
211
+ endif()
212
+ endmacro()
213
+ endif()
214
+
215
+
216
+ # ==========================================================
217
+ # transactd_has_MTMD_option
218
+ # ==========================================================
219
+ if(NOT COMMAND transactd_has_MTMD_option)
220
+ macro(transactd_has_MTMD_option option_string)
221
+ set(transactd_has_MTMD_option_return OFF)
222
+ if(MSVC)
223
+ if( ("${option_string}" MATCHES "(.* )?/MT( .*)?$") OR
224
+ ("${option_string}" MATCHES "(.* )?/MTd( .*)?$") OR
225
+ ("${option_string}" MATCHES "(.* )?/MD( .*)?$") OR
226
+ ("${option_string}" MATCHES "(.* )?/MDd( .*)?$") )
227
+ set(transactd_has_MTMD_option_return ON)
228
+ endif()
229
+ endif()
230
+ endmacro()
231
+ endif()
232
+
233
+
182
234
  # ==========================================================
183
235
  # transactd_link_boost_libraries MACRO
184
236
  # boost_components : "system;chrono;thread;filesystem"
@@ -222,14 +274,37 @@ macro(transactd_link_boost_libraries boost_components)
222
274
  if("${CMAKE_CONFIGURATION_TYPES}" STREQUAL "")
223
275
  set(CMAKE_CONFIGURATION_TYPES Debug Release RelWithDebInfo MinSizeRel)
224
276
  endif()
277
+ # find boost libraries with project compile flag
278
+ get_property(TMP_${this_target}_COMPILE_FLAGS
279
+ TARGET ${this_target} PROPERTY COMPILE_FLAGS)
280
+ transactd_has_MTMD_option("${TMP_${this_target}_COMPILE_FLAGS}")
281
+ if("${transactd_has_MTMD_option_return}" STREQUAL "ON")
282
+ get_boost_libs_from_compiler_flags("${TMP_${this_target}_COMPILE_FLAGS}")
283
+ set(boost_libs_for_${this_target} "${get_boost_libs_from_compiler_flags_return}")
284
+ else()
285
+ set(boost_libs_for_${this_target} "")
286
+ endif()
287
+ set(boost_libs_listlen 0)
225
288
  # buildtype-specified libraries
226
289
  foreach(BT_NAME "" ${CMAKE_CONFIGURATION_TYPES})
227
290
  if(NOT("${BT_NAME}" STREQUAL ""))
228
291
  set(BT_NAME "_${BT_NAME}")
229
292
  string(TOUPPER "${BT_NAME}" BT_NAME)
230
293
  endif()
231
- get_boost_libs_from_CXXFLAGS("${CMAKE_CXX_FLAGS${BT_NAME}}")
232
- set(boost_libs_for${BT_NAME} "${get_boost_libs_from_CXXFLAGS_return}")
294
+ transactd_has_MTMD_option("${CMAKE_CXX_FLAGS${BT_NAME}}")
295
+ if("${transactd_has_MTMD_option_return}" STREQUAL "ON")
296
+ # find buildtype-specified boost libraries
297
+ get_boost_libs_from_compiler_flags("${CMAKE_CXX_FLAGS${BT_NAME}}")
298
+ set(boost_libs_for${BT_NAME} "${get_boost_libs_from_compiler_flags_return}")
299
+ else()
300
+ # use project-specified libaries if buildtype-specified option is not set
301
+ if("${boost_libs_for_${this_target}}" STREQUAL "")
302
+ set(boost_libs_for${BT_NAME} "${Boost_LIBRARIES_STATIC_NOTUSE_RUNTIME_NO_DEBUG}")
303
+ else()
304
+ set(boost_libs_for${BT_NAME} "${boost_libs_for_${this_target}}")
305
+ endif()
306
+ endif()
307
+ # check number of boost libaries
233
308
  string(REGEX REPLACE ";$" "" boost_libs_for${BT_NAME} "${boost_libs_for${BT_NAME}}")
234
309
  list(LENGTH boost_libs_for${BT_NAME} boost_libs_listlen${BT_NAME})
235
310
  if(${boost_libs_listlen${BT_NAME}} GREATER ${boost_libs_listlen})
@@ -246,9 +321,11 @@ macro(transactd_link_boost_libraries boost_components)
246
321
  set(BT_NAME "_${BT_NAME}")
247
322
  string(TOUPPER "${BT_NAME}" BT_NAME)
248
323
  endif()
249
- list(GET boost_libs_for${BT_NAME} ${i} boost_lib_tmp)
250
- set_property(TARGET boostlibs_for_${this_target}_${idx} PROPERTY
251
- IMPORTED_IMPLIB${BT_NAME} "${boost_lib_tmp}")
324
+ if(NOT("${boost_libs_for${BT_NAME}}" STREQUAL ""))
325
+ list(GET boost_libs_for${BT_NAME} ${i} boost_lib_tmp)
326
+ set_property(TARGET boostlibs_for_${this_target}_${idx} PROPERTY
327
+ IMPORTED_IMPLIB${BT_NAME} "${boost_lib_tmp}")
328
+ endif()
252
329
  endforeach()
253
330
  if(NOT "${boost_components}" STREQUAL "")
254
331
  target_link_libraries(${this_target} boostlibs_for_${this_target}_${idx})