github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/database/leveldb/CMakeLists.txt (about) 1 # Copyright 2013 <chaishushan{AT}gmail.com>. All rights reserved. 2 # Use of this source code is governed by a BSD-style 3 # license that can be found in the LICENSE file. 4 5 project(LEVELDB) 6 7 IF(WIN32) 8 if(CMAKE_SIZEOF_VOID_P EQUAL 8) 9 set(LEVELDB_DEF leveldb-cgo-win64.def) 10 set(OS win64) 11 else() 12 set(LEVELDB_DEF leveldb-cgo-win32.def) 13 set(OS win32) 14 endif() 15 else() 16 if(CMAKE_SIZEOF_VOID_P EQUAL 8) 17 set(LEVELDB_DEF leveldb-cgo-posix64.def) 18 set(OS posix64) 19 else() 20 set(LEVELDB_DEF leveldb-cgo-posix32.def) 21 set(OS posix32) 22 endif() 23 endif() 24 25 include_directories(AFTER 26 ./include 27 ) 28 29 set(LEVELDB_SRC 30 ./src/arena.cc 31 ./src/block.cc 32 ./src/block_builder.cc 33 ./src/bloom.cc 34 ./src/builder.cc 35 ./src/c.cc 36 ./src/cache.cc 37 ./src/coding.cc 38 ./src/comparator.cc 39 ./src/crc32c.cc 40 ./src/db_impl.cc 41 ./src/db_iter.cc 42 ./src/dbformat.cc 43 ./src/env.cc 44 ./src/filename.cc 45 ./src/filter_block.cc 46 ./src/filter_policy.cc 47 ./src/format.cc 48 ./src/hash.cc 49 ./src/histogram.cc 50 ./src/iterator.cc 51 ./src/leveldb_env.cc 52 ./src/leveldb_port.cc 53 ./src/log_reader.cc 54 ./src/log_writer.cc 55 ./src/logging.cc 56 ./src/memtable.cc 57 ./src/merger.cc 58 ./src/options.cc 59 ./src/repair.cc 60 ./src/snappy-c.cc 61 ./src/snappy-sinksource.cc 62 ./src/snappy-stubs-internal.cc 63 ./src/snappy.cc 64 ./src/status.cc 65 ./src/table.cc 66 ./src/table_builder.cc 67 ./src/table_cache.cc 68 ./src/two_level_iterator.cc 69 ./src/version_edit.cc 70 ./src/version_set.cc 71 ./src/write_batch.cc 72 ) 73 74 add_library(leveldblib SHARED 75 ${LEVELDB_SRC} 76 ${LEVELDB_DEF} 77 ) 78 set_target_properties(leveldblib 79 PROPERTIES OUTPUT_NAME "leveldb-cgo-${OS}" 80 ) 81 82 install(TARGETS leveldblib 83 RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} 84 LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} 85 ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} 86 )