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  )