CMakeLists.txt 2.3 KB
Newer Older
J
jinhai 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
#-------------------------------------------------------------------------------
# Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
# Unauthorized copying of this file, via any medium is strictly prohibited.
# Proprietary and confidential.
#-------------------------------------------------------------------------------

cmake_minimum_required(VERSION 3.12)

project(vecwise_engine)

set(CMAKE_CXX_STANDARD 14)

if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
    message("building vecwise_engine on x86 architecture")
    set(VECWISE_BUILD_ARCH x86_64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(ppc)")
    message("building vecwise_engine on ppc architecture")
    set(VECWISE_BUILD_ARCH ppc64le)
else()
    message("unknown processor type")
    message("CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}")
    set(VECWISE_BUILD_ARCH unknown)
endif()

if(DEFINED UNIX)
    message("building vecwise on Unix")
    set(VECWISE_BUILD_SYSTEM macos)
elseif(DEFINED APPLE)
    message("building vecwise on MacOS")
    set(VECWISE_BUILD_SYSTEM unix)
else()
    message("unknown OS")
    set(VECWISE_BUILD_SYSTEM unknown)
endif ()

if(CMAKE_BUILD_TYPE STREQUAL "Release")
J
jinhai 已提交
37
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -DELPP_THREAD_SAFE")
J
jinhai 已提交
38
else()
J
jinhai 已提交
39
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -fPIC -DELPP_THREAD_SAFE")
J
jinhai 已提交
40 41 42 43 44 45
endif()

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})

set(VECWISE_ENGINE_INCLUDE ${PROJECT_SOURCE_DIR}/include)
set(VECWISE_ENGINE_SRC ${PROJECT_SOURCE_DIR}/src)
J
jinhai 已提交
46 47
set(VECWISE_THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
set(VECWISE_THIRD_PARTY_BUILD ${CMAKE_CURRENT_SOURCE_DIR}/third_party/build)
J
jinhai 已提交
48 49 50 51 52

add_compile_definitions(PROFILER=${PROFILER})

include_directories(${VECWISE_ENGINE_INCLUDE})
include_directories(${VECWISE_ENGINE_SRC})
J
jinhai 已提交
53 54
include_directories(${VECWISE_THIRD_PARTY_BUILD}/include)

G
groot 已提交
55
link_directories(${CMAKE_CURRRENT_BINARY_DIR})
J
jinhai 已提交
56
link_directories(${VECWISE_THIRD_PARTY_BUILD}/lib)
G
groot 已提交
57

58 59
#execute_process(COMMAND bash build.sh
#                WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
J
jinhai 已提交
60 61

add_subdirectory(src)
G
groot 已提交
62
add_subdirectory(test_client)
J
jinhai 已提交
63 64

if (BUILD_UNIT_TEST)
J
jinhai 已提交
65
    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/unittest)
J
jinhai 已提交
66
endif(BUILD_UNIT_TEST)
G
groot 已提交
67 68

add_custom_target(Clean-All COMMAND ${CMAKE_BUILD_TOOL} clean)