1 cmake_minimum_required(VERSION 3.4)
3 if(${CMAKE_VERSION} VERSION_LESS "3.11.4")
4 message("Please consider switching to CMake 3.11.4 or newer")
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
28 rocksjni/env_options.cc
30 rocksjni/ingest_external_file_options.cc
32 rocksjni/jnicallback.cc
33 rocksjni/loggerjnicallback.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
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
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
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
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
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
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
264 include_directories(${JNI_INCLUDE_DIRS})
265 include_directories(${PROJECT_SOURCE_DIR}/java)
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})
276 set(JNI_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/java/include)
277 file(MAKE_DIRECTORY ${JNI_OUTPUT_DIR})
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")
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")
291 INCLUDE_JARS ${JAVA_TESTCLASSPATH}
295 # Java 1.8 or newer prepare the JAR...
296 message("Preparing Jar for JDK ${Java_VERSION_STRING}")
302 INCLUDE_JARS ${JAVA_TESTCLASSPATH}
303 GENERATE_NATIVE_HEADERS rocksdbjni_headers DESTINATION ${JNI_OUTPUT_DIR}
308 if(NOT EXISTS ${PROJECT_SOURCE_DIR}/java/classes)
309 file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/java/classes)
312 if(NOT EXISTS ${JAVA_TEST_LIBDIR})
313 file(MAKE_DIRECTORY mkdir ${JAVA_TEST_LIBDIR})
316 if (DEFINED CUSTOM_DEPS_URL)
317 set(DEPS_URL ${CUSTOM_DEPS_URL}/)
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")
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}")
331 file(RENAME ${JAVA_TMP_JAR} ${JAVA_JUNIT_JAR})
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}")
340 file(RENAME ${JAVA_TMP_JAR} ${JAVA_HAMCR_JAR})
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}")
349 file(RENAME ${JAVA_TMP_JAR} ${JAVA_MOCKITO_JAR})
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}")
358 file(RENAME ${JAVA_TMP_JAR} ${JAVA_CGLIB_JAR})
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}")
367 file(RENAME ${JAVA_TMP_JAR} ${JAVA_ASSERTJ_JAR})
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
406 org.rocksdb.EnvOptions
408 org.rocksdb.FlushOptions
409 org.rocksdb.HashLinkedListMemTableConfig
410 org.rocksdb.HashSkipListMemTableConfig
412 org.rocksdb.IngestExternalFileOptions
415 org.rocksdb.MemoryUtil
416 org.rocksdb.MemTableConfig
417 org.rocksdb.NativeComparatorWrapper
418 org.rocksdb.NativeLibraryLoader
419 org.rocksdb.OptimisticTransactionDB
420 org.rocksdb.OptimisticTransactionOptions
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
432 org.rocksdb.RocksIterator
433 org.rocksdb.RocksIteratorInterface
434 org.rocksdb.RocksMemEnv
435 org.rocksdb.RocksMutableObject
436 org.rocksdb.RocksObject
437 org.rocksdb.SkipListMemTableConfig
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
449 org.rocksdb.Transaction
450 org.rocksdb.TransactionDB
451 org.rocksdb.TransactionDBOptions
452 org.rocksdb.TransactionLogIterator
453 org.rocksdb.TransactionOptions
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
472 TARGET rocksdbjni_headers
473 CLASSES ${NATIVE_JAVA_CLASSES}
474 CLASSPATH rocksdbjni_classes ${JAVA_TESTCLASSPATH}
475 OUTPUT_DIR ${JNI_OUTPUT_DIR}
480 set_property(TARGET ${ROCKSDB_STATIC_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON)
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})
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})
494 set_target_properties(
495 ${ROCKSDBJNI_SHARED_LIB}
497 COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_CFG_INTDIR}
498 COMPILE_PDB_NAME ${ROCKSDBJNI_STATIC_LIB}.pdb