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