transactd 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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})