Skip to content

Instantly share code, notes, and snippets.

@TimothyZhang023
Created August 22, 2017 07:57
Show Gist options
  • Save TimothyZhang023/51f1fbce64d59c716d096b2194158034 to your computer and use it in GitHub Desktop.
Save TimothyZhang023/51f1fbce64d59c716d096b2194158034 to your computer and use it in GitHub Desktop.
360 pika 的 CMakeLists.txt
cmake_minimum_required(VERSION 3.2)
project(pika)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories(
"include"
"third/pink"
"third/glog/src"
"third/slash"
"third/nemo-rocksdb/rocksdb/include"
"third/nemo/include"
"third/nemo-rocksdb/include"
)
LINK_DIRECTORIES(
"third/nemo-rocksdb/lib"
"third/nemo-rocksdb/rocksdb"
"third/glog/.libs"
"third/slash/slash/lib"
)
set(PINK_SOURCE_FILES
third/pink/pink/src/bg_thread.cc
third/pink/pink/src/build_version.cc.in
third/pink/pink/src/dispatch_thread.cc
third/pink/pink/src/holy_thread.cc
third/pink/pink/src/http_conn.cc
# third/pink/pink/src/pb_cli.cc
# third/pink/pink/src/pb_conn.cc
third/pink/pink/src/period_thread.cc
third/pink/pink/src/pink_cli.cc
third/pink/pink/src/pink_conn.cc
third/pink/pink/src/pink_epoll.cc
third/pink/pink/src/pink_item.cc
third/pink/pink/src/pink_thread.cc
third/pink/pink/src/pink_util.cc
third/pink/pink/src/redis_cli.cc
third/pink/pink/src/redis_conn.cc
third/pink/pink/src/server_socket.cc
third/pink/pink/src/server_thread.cc
third/pink/pink/src/simple_http_conn.cc
third/pink/pink/src/worker_thread.cc
)
ADD_LIBRARY(libpink-static STATIC ${PINK_SOURCE_FILES})
set(NEMO_SOURCE_FILES
third/nemo/src/build_version.cc.in
third/nemo/src/nemo_admin.cc
third/nemo/src/nemo_backupable.cc
third/nemo/src/nemo_bit.cc
third/nemo/src/nemo.cc
third/nemo/src/nemo_hash.cc
third/nemo/src/nemo_hyperloglog.cc
third/nemo/src/nemo_iterator.cc
third/nemo/src/nemo_kv.cc
third/nemo/src/nemo_list.cc
third/nemo/src/nemo_meta.cc
third/nemo/src/nemo_set.cc
third/nemo/src/nemo_zset.cc
third/nemo/src/port.cc
third/nemo/src/util.cc
)
ADD_LIBRARY(libnemo-static STATIC ${NEMO_SOURCE_FILES})
set(SLASH_SOURCE_FILES
third/slash/slash/src/base_conf.cc
third/slash/slash/src/build_version.cc.in
third/slash/slash/src/cond_lock.cc
third/slash/slash/src/env.cc
third/slash/slash/src/posix.cc
third/slash/slash/src/rsync.cc
third/slash/slash/src/slash_binlog_impl.cc
third/slash/slash/src/slash_coding.cc
third/slash/slash/src/slash_hash.cc
third/slash/slash/src/slash_mutex.cc
third/slash/slash/src/slash_status.cc
third/slash/slash/src/slash_string.cc
third/slash/slash/src/slash_testharness.cc
third/slash/slash/src/testutil.cc
)
ADD_LIBRARY(libslash-static STATIC ${SLASH_SOURCE_FILES})
set(PIKA_SOURCE_FILES
src/build_version.cc
src/pika.cc
src/pika_admin.cc
src/pika_binlog.cc
src/pika_binlog_bgworker.cc
src/pika_binlog_receiver_thread.cc
src/pika_binlog_sender_thread.cc
src/pika_bit.cc
src/pika_client_conn.cc
src/pika_command.cc
src/pika_conf.cc
src/pika_dispatch_thread.cc
src/pika_hash.cc
src/pika_heartbeat_conn.cc
src/pika_heartbeat_thread.cc
src/pika_kv.cc
src/pika_list.cc
src/pika_master_conn.cc
src/pika_monitor_thread.cc
src/pika_server.cc
src/pika_set.cc
src/pika_slaveping_thread.cc
src/pika_trysync_thread.cc
src/pika_zset.cc
src/pika_geo.cc
src/pika_geohash_helper.cc
src/pika_geohash.cc
src/pika_slot.cc
src/pika_hyperloglog.cc
# tools/binlog_sync/binlog.cc
# tools/binlog_sync/binlog_receiver_thread.cc
# tools/binlog_sync/binlog_sync.cc
# tools/binlog_sync/main.cc
# tools/binlog_sync/master_conn.cc
# tools/binlog_sync/slaveping_thread.cc
# tools/binlog_sync/trysync_thread.cc
# tools/binlog_tools/binlog.cc
# tools/binlog_tools/binlog_consumer.cc
# tools/binlog_tools/binlog_parser.cc
# tools/binlog_tools/binlog_producer.cc
# tools/binlog_tools/binlog_sender.cc
)
add_executable(pika ${PIKA_SOURCE_FILES})
TARGET_LINK_LIBRARIES(pika libpink-static libnemo-static libslash-static pthread nemodb rocksdb glog z bz2 jemalloc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment