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