CMakeLists.txt 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. cmake_minimum_required(VERSION 3.4)
  2. if(${CMAKE_VERSION} VERSION_LESS "3.11.4")
  3. message("Please consider switching to CMake 3.11.4 or newer")
  4. endif()
  5. set(JNI_NATIVE_SOURCES
  6. rocksjni/backupablejni.cc
  7. rocksjni/backupenginejni.cc
  8. rocksjni/cassandra_compactionfilterjni.cc
  9. rocksjni/cassandra_value_operator.cc
  10. rocksjni/checkpoint.cc
  11. rocksjni/clock_cache.cc
  12. rocksjni/columnfamilyhandle.cc
  13. rocksjni/compaction_filter.cc
  14. rocksjni/compaction_filter_factory.cc
  15. rocksjni/compaction_filter_factory_jnicallback.cc
  16. rocksjni/compaction_job_info.cc
  17. rocksjni/compaction_job_stats.cc
  18. rocksjni/compaction_options.cc
  19. rocksjni/compaction_options_fifo.cc
  20. rocksjni/compaction_options_universal.cc
  21. rocksjni/compact_range_options.cc
  22. rocksjni/comparator.cc
  23. rocksjni/comparatorjnicallback.cc
  24. rocksjni/compression_options.cc
  25. rocksjni/env.cc
  26. rocksjni/env_options.cc
  27. rocksjni/filter.cc
  28. rocksjni/ingest_external_file_options.cc
  29. rocksjni/iterator.cc
  30. rocksjni/jnicallback.cc
  31. rocksjni/loggerjnicallback.cc
  32. rocksjni/lru_cache.cc
  33. rocksjni/memory_util.cc
  34. rocksjni/memtablejni.cc
  35. rocksjni/merge_operator.cc
  36. rocksjni/native_comparator_wrapper_test.cc
  37. rocksjni/optimistic_transaction_db.cc
  38. rocksjni/optimistic_transaction_options.cc
  39. rocksjni/options.cc
  40. rocksjni/options_util.cc
  41. rocksjni/persistent_cache.cc
  42. rocksjni/ratelimiterjni.cc
  43. rocksjni/remove_emptyvalue_compactionfilterjni.cc
  44. rocksjni/restorejni.cc
  45. rocksjni/rocks_callback_object.cc
  46. rocksjni/rocksdb_exception_test.cc
  47. rocksjni/rocksjni.cc
  48. rocksjni/slice.cc
  49. rocksjni/snapshot.cc
  50. rocksjni/sst_file_manager.cc
  51. rocksjni/sst_file_writerjni.cc
  52. rocksjni/sst_file_readerjni.cc
  53. rocksjni/sst_file_reader_iterator.cc
  54. rocksjni/statistics.cc
  55. rocksjni/statisticsjni.cc
  56. rocksjni/table.cc
  57. rocksjni/table_filter.cc
  58. rocksjni/table_filter_jnicallback.cc
  59. rocksjni/thread_status.cc
  60. rocksjni/trace_writer.cc
  61. rocksjni/trace_writer_jnicallback.cc
  62. rocksjni/transaction.cc
  63. rocksjni/transaction_db.cc
  64. rocksjni/transaction_db_options.cc
  65. rocksjni/transaction_log.cc
  66. rocksjni/transaction_notifier.cc
  67. rocksjni/transaction_notifier_jnicallback.cc
  68. rocksjni/transaction_options.cc
  69. rocksjni/ttl.cc
  70. rocksjni/wal_filter.cc
  71. rocksjni/wal_filter_jnicallback.cc
  72. rocksjni/write_batch.cc
  73. rocksjni/writebatchhandlerjnicallback.cc
  74. rocksjni/write_batch_test.cc
  75. rocksjni/write_batch_with_index.cc
  76. rocksjni/write_buffer_manager.cc
  77. )
  78. set(JAVA_MAIN_CLASSES
  79. src/main/java/org/rocksdb/AbstractCompactionFilter.java
  80. src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java
  81. src/main/java/org/rocksdb/AbstractComparator.java
  82. src/main/java/org/rocksdb/AbstractImmutableNativeReference.java
  83. src/main/java/org/rocksdb/AbstractMutableOptions.java
  84. src/main/java/org/rocksdb/AbstractNativeReference.java
  85. src/main/java/org/rocksdb/AbstractRocksIterator.java
  86. src/main/java/org/rocksdb/AbstractSlice.java
  87. src/main/java/org/rocksdb/AbstractTableFilter.java
  88. src/main/java/org/rocksdb/AbstractTraceWriter.java
  89. src/main/java/org/rocksdb/AbstractTransactionNotifier.java
  90. src/main/java/org/rocksdb/AbstractWalFilter.java
  91. src/main/java/org/rocksdb/AbstractWriteBatch.java
  92. src/main/java/org/rocksdb/AccessHint.java
  93. src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java
  94. src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java
  95. src/main/java/org/rocksdb/BackupableDBOptions.java
  96. src/main/java/org/rocksdb/BackupEngine.java
  97. src/main/java/org/rocksdb/BackupInfo.java
  98. src/main/java/org/rocksdb/BlockBasedTableConfig.java
  99. src/main/java/org/rocksdb/BloomFilter.java
  100. src/main/java/org/rocksdb/BuiltinComparator.java
  101. src/main/java/org/rocksdb/Cache.java
  102. src/main/java/org/rocksdb/CassandraCompactionFilter.java
  103. src/main/java/org/rocksdb/CassandraValueMergeOperator.java
  104. src/main/java/org/rocksdb/Checkpoint.java
  105. src/main/java/org/rocksdb/ChecksumType.java
  106. src/main/java/org/rocksdb/ClockCache.java
  107. src/main/java/org/rocksdb/ColumnFamilyDescriptor.java
  108. src/main/java/org/rocksdb/ColumnFamilyHandle.java
  109. src/main/java/org/rocksdb/ColumnFamilyMetaData.java
  110. src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java
  111. src/main/java/org/rocksdb/ColumnFamilyOptions.java
  112. src/main/java/org/rocksdb/CompactionJobInfo.java
  113. src/main/java/org/rocksdb/CompactionJobStats.java
  114. src/main/java/org/rocksdb/CompactionOptions.java
  115. src/main/java/org/rocksdb/CompactionOptionsFIFO.java
  116. src/main/java/org/rocksdb/CompactionOptionsUniversal.java
  117. src/main/java/org/rocksdb/CompactionPriority.java
  118. src/main/java/org/rocksdb/CompactionReason.java
  119. src/main/java/org/rocksdb/CompactRangeOptions.java
  120. src/main/java/org/rocksdb/CompactionStopStyle.java
  121. src/main/java/org/rocksdb/CompactionStyle.java
  122. src/main/java/org/rocksdb/ComparatorOptions.java
  123. src/main/java/org/rocksdb/ComparatorType.java
  124. src/main/java/org/rocksdb/CompressionOptions.java
  125. src/main/java/org/rocksdb/CompressionType.java
  126. src/main/java/org/rocksdb/DataBlockIndexType.java
  127. src/main/java/org/rocksdb/DBOptionsInterface.java
  128. src/main/java/org/rocksdb/DBOptions.java
  129. src/main/java/org/rocksdb/DbPath.java
  130. src/main/java/org/rocksdb/DirectSlice.java
  131. src/main/java/org/rocksdb/EncodingType.java
  132. src/main/java/org/rocksdb/Env.java
  133. src/main/java/org/rocksdb/EnvOptions.java
  134. src/main/java/org/rocksdb/Experimental.java
  135. src/main/java/org/rocksdb/Filter.java
  136. src/main/java/org/rocksdb/FlushOptions.java
  137. src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java
  138. src/main/java/org/rocksdb/HashSkipListMemTableConfig.java
  139. src/main/java/org/rocksdb/HdfsEnv.java
  140. src/main/java/org/rocksdb/HistogramData.java
  141. src/main/java/org/rocksdb/HistogramType.java
  142. src/main/java/org/rocksdb/Holder.java
  143. src/main/java/org/rocksdb/IndexType.java
  144. src/main/java/org/rocksdb/InfoLogLevel.java
  145. src/main/java/org/rocksdb/IngestExternalFileOptions.java
  146. src/main/java/org/rocksdb/LevelMetaData.java
  147. src/main/java/org/rocksdb/LiveFileMetaData.java
  148. src/main/java/org/rocksdb/LogFile.java
  149. src/main/java/org/rocksdb/Logger.java
  150. src/main/java/org/rocksdb/LRUCache.java
  151. src/main/java/org/rocksdb/MemoryUsageType.java
  152. src/main/java/org/rocksdb/MemoryUtil.java
  153. src/main/java/org/rocksdb/MemTableConfig.java
  154. src/main/java/org/rocksdb/MergeOperator.java
  155. src/main/java/org/rocksdb/MutableColumnFamilyOptions.java
  156. src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java
  157. src/main/java/org/rocksdb/MutableDBOptions.java
  158. src/main/java/org/rocksdb/MutableDBOptionsInterface.java
  159. src/main/java/org/rocksdb/MutableOptionKey.java
  160. src/main/java/org/rocksdb/MutableOptionValue.java
  161. src/main/java/org/rocksdb/NativeComparatorWrapper.java
  162. src/main/java/org/rocksdb/NativeLibraryLoader.java
  163. src/main/java/org/rocksdb/OperationStage.java
  164. src/main/java/org/rocksdb/OperationType.java
  165. src/main/java/org/rocksdb/OptimisticTransactionDB.java
  166. src/main/java/org/rocksdb/OptimisticTransactionOptions.java
  167. src/main/java/org/rocksdb/Options.java
  168. src/main/java/org/rocksdb/OptionsUtil.java
  169. src/main/java/org/rocksdb/PersistentCache.java
  170. src/main/java/org/rocksdb/PlainTableConfig.java
  171. src/main/java/org/rocksdb/Priority.java
  172. src/main/java/org/rocksdb/Range.java
  173. src/main/java/org/rocksdb/RateLimiter.java
  174. src/main/java/org/rocksdb/RateLimiterMode.java
  175. src/main/java/org/rocksdb/ReadOptions.java
  176. src/main/java/org/rocksdb/ReadTier.java
  177. src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java
  178. src/main/java/org/rocksdb/RestoreOptions.java
  179. src/main/java/org/rocksdb/ReusedSynchronisationType.java
  180. src/main/java/org/rocksdb/RocksCallbackObject.java
  181. src/main/java/org/rocksdb/RocksDBException.java
  182. src/main/java/org/rocksdb/RocksDB.java
  183. src/main/java/org/rocksdb/RocksEnv.java
  184. src/main/java/org/rocksdb/RocksIteratorInterface.java
  185. src/main/java/org/rocksdb/RocksIterator.java
  186. src/main/java/org/rocksdb/RocksMemEnv.java
  187. src/main/java/org/rocksdb/RocksMutableObject.java
  188. src/main/java/org/rocksdb/RocksObject.java
  189. src/main/java/org/rocksdb/SizeApproximationFlag.java
  190. src/main/java/org/rocksdb/SkipListMemTableConfig.java
  191. src/main/java/org/rocksdb/Slice.java
  192. src/main/java/org/rocksdb/Snapshot.java
  193. src/main/java/org/rocksdb/SstFileManager.java
  194. src/main/java/org/rocksdb/SstFileMetaData.java
  195. src/main/java/org/rocksdb/SstFileWriter.java
  196. src/main/java/org/rocksdb/SstFileReader.java
  197. src/main/java/org/rocksdb/SstFileReaderIterator.java
  198. src/main/java/org/rocksdb/StateType.java
  199. src/main/java/org/rocksdb/StatisticsCollectorCallback.java
  200. src/main/java/org/rocksdb/StatisticsCollector.java
  201. src/main/java/org/rocksdb/Statistics.java
  202. src/main/java/org/rocksdb/StatsCollectorInput.java
  203. src/main/java/org/rocksdb/StatsLevel.java
  204. src/main/java/org/rocksdb/Status.java
  205. src/main/java/org/rocksdb/StringAppendOperator.java
  206. src/main/java/org/rocksdb/TableFilter.java
  207. src/main/java/org/rocksdb/TableProperties.java
  208. src/main/java/org/rocksdb/TableFormatConfig.java
  209. src/main/java/org/rocksdb/ThreadType.java
  210. src/main/java/org/rocksdb/ThreadStatus.java
  211. src/main/java/org/rocksdb/TickerType.java
  212. src/main/java/org/rocksdb/TimedEnv.java
  213. src/main/java/org/rocksdb/TraceOptions.java
  214. src/main/java/org/rocksdb/TraceWriter.java
  215. src/main/java/org/rocksdb/TransactionalDB.java
  216. src/main/java/org/rocksdb/TransactionalOptions.java
  217. src/main/java/org/rocksdb/TransactionDB.java
  218. src/main/java/org/rocksdb/TransactionDBOptions.java
  219. src/main/java/org/rocksdb/Transaction.java
  220. src/main/java/org/rocksdb/TransactionLogIterator.java
  221. src/main/java/org/rocksdb/TransactionOptions.java
  222. src/main/java/org/rocksdb/TtlDB.java
  223. src/main/java/org/rocksdb/TxnDBWritePolicy.java
  224. src/main/java/org/rocksdb/VectorMemTableConfig.java
  225. src/main/java/org/rocksdb/WalFileType.java
  226. src/main/java/org/rocksdb/WalFilter.java
  227. src/main/java/org/rocksdb/WalProcessingOption.java
  228. src/main/java/org/rocksdb/WALRecoveryMode.java
  229. src/main/java/org/rocksdb/WBWIRocksIterator.java
  230. src/main/java/org/rocksdb/WriteBatch.java
  231. src/main/java/org/rocksdb/WriteBatchInterface.java
  232. src/main/java/org/rocksdb/WriteBatchWithIndex.java
  233. src/main/java/org/rocksdb/WriteOptions.java
  234. src/main/java/org/rocksdb/WriteBufferManager.java
  235. src/main/java/org/rocksdb/util/ByteUtil.java
  236. src/main/java/org/rocksdb/util/BytewiseComparator.java
  237. src/main/java/org/rocksdb/util/Environment.java
  238. src/main/java/org/rocksdb/util/IntComparator.java
  239. src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java
  240. src/main/java/org/rocksdb/util/SizeUnit.java
  241. src/main/java/org/rocksdb/UInt64AddOperator.java
  242. )
  243. set(JAVA_TEST_CLASSES
  244. src/test/java/org/rocksdb/BackupEngineTest.java
  245. src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java
  246. src/test/java/org/rocksdb/NativeComparatorWrapperTest.java
  247. src/test/java/org/rocksdb/PlatformRandomHelper.java
  248. src/test/java/org/rocksdb/RocksDBExceptionTest.java
  249. src/test/java/org/rocksdb/RocksNativeLibraryResource.java
  250. src/test/java/org/rocksdb/SnapshotTest.java
  251. src/test/java/org/rocksdb/WriteBatchTest.java
  252. src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java
  253. src/test/java/org/rocksdb/util/WriteBatchGetter.java
  254. )
  255. include(FindJava)
  256. include(UseJava)
  257. find_package(JNI)
  258. include_directories(${JNI_INCLUDE_DIRS})
  259. include_directories(${PROJECT_SOURCE_DIR}/java)
  260. set(JAVA_TEST_LIBDIR ${PROJECT_SOURCE_DIR}/java/test-libs)
  261. set(JAVA_TMP_JAR ${JAVA_TEST_LIBDIR}/tmp.jar)
  262. set(JAVA_JUNIT_JAR ${JAVA_TEST_LIBDIR}/junit-4.12.jar)
  263. set(JAVA_HAMCR_JAR ${JAVA_TEST_LIBDIR}/hamcrest-core-1.3.jar)
  264. set(JAVA_MOCKITO_JAR ${JAVA_TEST_LIBDIR}/mockito-all-1.10.19.jar)
  265. set(JAVA_CGLIB_JAR ${JAVA_TEST_LIBDIR}/cglib-2.2.2.jar)
  266. set(JAVA_ASSERTJ_JAR ${JAVA_TEST_LIBDIR}/assertj-core-1.7.1.jar)
  267. set(JAVA_TESTCLASSPATH ${JAVA_JUNIT_JAR} ${JAVA_HAMCR_JAR} ${JAVA_MOCKITO_JAR} ${JAVA_CGLIB_JAR} ${JAVA_ASSERTJ_JAR})
  268. set(JNI_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/java/include)
  269. file(MAKE_DIRECTORY ${JNI_OUTPUT_DIR})
  270. if(${Java_VERSION_MAJOR} VERSION_GREATER_EQUAL "10" AND ${CMAKE_VERSION} VERSION_LESS "3.11.4")
  271. # Java 10 and newer don't have javah, but the alternative GENERATE_NATIVE_HEADERS requires CMake 3.11.4 or newer
  272. message(FATAL_ERROR "Detected Java 10 or newer (${Java_VERSION_STRING}), to build with CMake please upgrade CMake to 3.11.4 or newer")
  273. elseif(${CMAKE_VERSION} VERSION_LESS "3.11.4" OR (${Java_VERSION_MINOR} STREQUAL "7" AND ${Java_VERSION_MAJOR} STREQUAL "1"))
  274. # Old CMake or Java 1.7 prepare the JAR...
  275. message("Preparing Jar for Java 7")
  276. add_jar(
  277. rocksdbjni_classes
  278. SOURCES
  279. ${JAVA_MAIN_CLASSES}
  280. ${JAVA_TEST_CLASSES}
  281. INCLUDE_JARS ${JAVA_TESTCLASSPATH}
  282. )
  283. else ()
  284. # Java 1.8 or newer prepare the JAR...
  285. message("Preparing Jar for JDK ${Java_VERSION_STRING}")
  286. add_jar(
  287. rocksdbjni_classes
  288. SOURCES
  289. ${JAVA_MAIN_CLASSES}
  290. ${JAVA_TEST_CLASSES}
  291. INCLUDE_JARS ${JAVA_TESTCLASSPATH}
  292. GENERATE_NATIVE_HEADERS rocksdbjni_headers DESTINATION ${JNI_OUTPUT_DIR}
  293. )
  294. endif()
  295. if(NOT EXISTS ${PROJECT_SOURCE_DIR}/java/classes)
  296. file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/java/classes)
  297. endif()
  298. if(NOT EXISTS ${JAVA_TEST_LIBDIR})
  299. file(MAKE_DIRECTORY mkdir ${JAVA_TEST_LIBDIR})
  300. endif()
  301. if (DEFINED CUSTOM_DEPS_URL)
  302. set(DEPS_URL ${CUSTOM_DEPS_URL}/)
  303. else ()
  304. # Using a Facebook AWS account for S3 storage. (maven.org has a history
  305. # of failing in Travis builds.)
  306. set(DEPS_URL "https://rocksdb-deps.s3-us-west-2.amazonaws.com/jars")
  307. endif()
  308. if(NOT EXISTS ${JAVA_JUNIT_JAR})
  309. message("Downloading ${JAVA_JUNIT_JAR}")
  310. file(DOWNLOAD ${DEPS_URL}/junit-4.12.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
  311. list(GET downloadStatus 0 error_code)
  312. if(NOT error_code EQUAL 0)
  313. message(FATAL_ERROR "Failed downloading ${JAVA_JUNIT_JAR}")
  314. endif()
  315. file(RENAME ${JAVA_TMP_JAR} ${JAVA_JUNIT_JAR})
  316. endif()
  317. if(NOT EXISTS ${JAVA_HAMCR_JAR})
  318. message("Downloading ${JAVA_HAMCR_JAR}")
  319. file(DOWNLOAD ${DEPS_URL}/hamcrest-core-1.3.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
  320. list(GET downloadStatus 0 error_code)
  321. if(NOT error_code EQUAL 0)
  322. message(FATAL_ERROR "Failed downloading ${JAVA_HAMCR_JAR}")
  323. endif()
  324. file(RENAME ${JAVA_TMP_JAR} ${JAVA_HAMCR_JAR})
  325. endif()
  326. if(NOT EXISTS ${JAVA_MOCKITO_JAR})
  327. message("Downloading ${JAVA_MOCKITO_JAR}")
  328. file(DOWNLOAD ${DEPS_URL}/mockito-all-1.10.19.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
  329. list(GET downloadStatus 0 error_code)
  330. if(NOT error_code EQUAL 0)
  331. message(FATAL_ERROR "Failed downloading ${JAVA_MOCKITO_JAR}")
  332. endif()
  333. file(RENAME ${JAVA_TMP_JAR} ${JAVA_MOCKITO_JAR})
  334. endif()
  335. if(NOT EXISTS ${JAVA_CGLIB_JAR})
  336. message("Downloading ${JAVA_CGLIB_JAR}")
  337. file(DOWNLOAD ${DEPS_URL}/cglib-2.2.2.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
  338. list(GET downloadStatus 0 error_code)
  339. if(NOT error_code EQUAL 0)
  340. message(FATAL_ERROR "Failed downloading ${JAVA_CGLIB_JAR}")
  341. endif()
  342. file(RENAME ${JAVA_TMP_JAR} ${JAVA_CGLIB_JAR})
  343. endif()
  344. if(NOT EXISTS ${JAVA_ASSERTJ_JAR})
  345. message("Downloading ${JAVA_ASSERTJ_JAR}")
  346. file(DOWNLOAD ${DEPS_URL}/assertj-core-1.7.1.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
  347. list(GET downloadStatus 0 error_code)
  348. if(NOT error_code EQUAL 0)
  349. message(FATAL_ERROR "Failed downloading ${JAVA_ASSERTJ_JAR}")
  350. endif()
  351. file(RENAME ${JAVA_TMP_JAR} ${JAVA_ASSERTJ_JAR})
  352. endif()
  353. if(${CMAKE_VERSION} VERSION_LESS "3.11.4" OR (${Java_VERSION_MINOR} STREQUAL "7" AND ${Java_VERSION_MAJOR} STREQUAL "1"))
  354. # Old CMake or Java 1.7 ONLY generate JNI headers, Java 1.8+ JNI is handled in add_jar step above
  355. message("Preparing JNI headers for Java 7")
  356. set(NATIVE_JAVA_CLASSES
  357. org.rocksdb.AbstractCompactionFilter
  358. org.rocksdb.AbstractCompactionFilterFactory
  359. org.rocksdb.AbstractComparator
  360. org.rocksdb.AbstractImmutableNativeReference
  361. org.rocksdb.AbstractNativeReference
  362. org.rocksdb.AbstractRocksIterator
  363. org.rocksdb.AbstractSlice
  364. org.rocksdb.AbstractTableFilter
  365. org.rocksdb.AbstractTraceWriter
  366. org.rocksdb.AbstractTransactionNotifier
  367. org.rocksdb.AbstractWalFilter
  368. org.rocksdb.BackupableDBOptions
  369. org.rocksdb.BackupEngine
  370. org.rocksdb.BlockBasedTableConfig
  371. org.rocksdb.BloomFilter
  372. org.rocksdb.CassandraCompactionFilter
  373. org.rocksdb.CassandraValueMergeOperator
  374. org.rocksdb.Checkpoint
  375. org.rocksdb.ClockCache
  376. org.rocksdb.ColumnFamilyHandle
  377. org.rocksdb.ColumnFamilyOptions
  378. org.rocksdb.CompactionJobInfo
  379. org.rocksdb.CompactionJobStats
  380. org.rocksdb.CompactionOptions
  381. org.rocksdb.CompactionOptionsFIFO
  382. org.rocksdb.CompactionOptionsUniversal
  383. org.rocksdb.CompactRangeOptions
  384. org.rocksdb.ComparatorOptions
  385. org.rocksdb.CompressionOptions
  386. org.rocksdb.DBOptions
  387. org.rocksdb.DirectSlice
  388. org.rocksdb.Env
  389. org.rocksdb.EnvOptions
  390. org.rocksdb.Filter
  391. org.rocksdb.FlushOptions
  392. org.rocksdb.HashLinkedListMemTableConfig
  393. org.rocksdb.HashSkipListMemTableConfig
  394. org.rocksdb.HdfsEnv
  395. org.rocksdb.IngestExternalFileOptions
  396. org.rocksdb.Logger
  397. org.rocksdb.LRUCache
  398. org.rocksdb.MemoryUtil
  399. org.rocksdb.MemTableConfig
  400. org.rocksdb.NativeComparatorWrapper
  401. org.rocksdb.NativeLibraryLoader
  402. org.rocksdb.OptimisticTransactionDB
  403. org.rocksdb.OptimisticTransactionOptions
  404. org.rocksdb.Options
  405. org.rocksdb.OptionsUtil
  406. org.rocksdb.PersistentCache
  407. org.rocksdb.PlainTableConfig
  408. org.rocksdb.RateLimiter
  409. org.rocksdb.ReadOptions
  410. org.rocksdb.RemoveEmptyValueCompactionFilter
  411. org.rocksdb.RestoreOptions
  412. org.rocksdb.RocksCallbackObject
  413. org.rocksdb.RocksDB
  414. org.rocksdb.RocksEnv
  415. org.rocksdb.RocksIterator
  416. org.rocksdb.RocksIteratorInterface
  417. org.rocksdb.RocksMemEnv
  418. org.rocksdb.RocksMutableObject
  419. org.rocksdb.RocksObject
  420. org.rocksdb.SkipListMemTableConfig
  421. org.rocksdb.Slice
  422. org.rocksdb.Snapshot
  423. org.rocksdb.SstFileManager
  424. org.rocksdb.SstFileWriter
  425. org.rocksdb.SstFileReader
  426. org.rocksdb.SstFileReaderIterator
  427. org.rocksdb.Statistics
  428. org.rocksdb.StringAppendOperator
  429. org.rocksdb.TableFormatConfig
  430. org.rocksdb.ThreadStatus
  431. org.rocksdb.TimedEnv
  432. org.rocksdb.Transaction
  433. org.rocksdb.TransactionDB
  434. org.rocksdb.TransactionDBOptions
  435. org.rocksdb.TransactionLogIterator
  436. org.rocksdb.TransactionOptions
  437. org.rocksdb.TtlDB
  438. org.rocksdb.UInt64AddOperator
  439. org.rocksdb.VectorMemTableConfig
  440. org.rocksdb.WBWIRocksIterator
  441. org.rocksdb.WriteBatch
  442. org.rocksdb.WriteBatch.Handler
  443. org.rocksdb.WriteBatchInterface
  444. org.rocksdb.WriteBatchWithIndex
  445. org.rocksdb.WriteOptions
  446. org.rocksdb.NativeComparatorWrapperTest
  447. org.rocksdb.RocksDBExceptionTest
  448. org.rocksdb.SnapshotTest
  449. org.rocksdb.WriteBatchTest
  450. org.rocksdb.WriteBatchTestInternalHelper
  451. org.rocksdb.WriteBufferManager
  452. )
  453. create_javah(
  454. TARGET rocksdbjni_headers
  455. CLASSES ${NATIVE_JAVA_CLASSES}
  456. CLASSPATH rocksdbjni_classes ${JAVA_TESTCLASSPATH}
  457. OUTPUT_DIR ${JNI_OUTPUT_DIR}
  458. )
  459. endif()
  460. if(NOT MSVC)
  461. set_property(TARGET ${ROCKSDB_STATIC_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON)
  462. endif()
  463. set(ROCKSDBJNI_STATIC_LIB rocksdbjni${ARTIFACT_SUFFIX})
  464. add_library(${ROCKSDBJNI_STATIC_LIB} ${JNI_NATIVE_SOURCES})
  465. add_dependencies(${ROCKSDBJNI_STATIC_LIB} rocksdbjni_headers)
  466. target_link_libraries(${ROCKSDBJNI_STATIC_LIB} ${ROCKSDB_STATIC_LIB} ${ROCKSDB_LIB})
  467. if(NOT MINGW)
  468. set(ROCKSDBJNI_SHARED_LIB rocksdbjni-shared${ARTIFACT_SUFFIX})
  469. add_library(${ROCKSDBJNI_SHARED_LIB} SHARED ${JNI_NATIVE_SOURCES})
  470. add_dependencies(${ROCKSDBJNI_SHARED_LIB} rocksdbjni_headers)
  471. target_link_libraries(${ROCKSDBJNI_SHARED_LIB} ${ROCKSDB_STATIC_LIB} ${ROCKSDB_LIB})
  472. set_target_properties(
  473. ${ROCKSDBJNI_SHARED_LIB}
  474. PROPERTIES
  475. COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_CFG_INTDIR}
  476. COMPILE_PDB_NAME ${ROCKSDBJNI_STATIC_LIB}.pdb
  477. )
  478. endif()