CMakeLists.txt 1.2 KB
Newer Older
O
oceanbase-admin 已提交
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
cmake_minimum_required(VERSION 3.20.0)
project(easy
  VERSION 1.1.22
  LANGUAGES C CXX)

message(STATUS "check deps for libeasy")
if (NOT DEP_DIR)
  message(FATAL_ERROR "DEP_DIR not set")
endif()


add_library(easy_base INTERFACE)

set(INNER_INCLUDE_DIRS
  ${CMAKE_CURRENT_SOURCE_DIR}/src/include
  ${CMAKE_CURRENT_SOURCE_DIR}/src/
)

set_property(GLOBAL PROPERTY EASY_INCLUDE_DIRS
  ${INNER_INCLUDE_DIRS}
)

target_include_directories(
  easy_base INTERFACE
  ${INNER_INCLUDE_DIRS}
  ${DEP_DIR}/include
)

if (OB_USE_CLANG)
  set(EASY_CC_WNO -fno-strict-aliasing -Wno-unused-variable -Wno-unused-function -fmax-type-align=8)
else()
  set(EASY_CC_WNO -fno-strict-aliasing -Wno-unused-variable -Wno-implicit-function-declaration -Wno-unused-but-set-variable -Wno-unused-function)
endif()


target_compile_options(easy_base
  INTERFACE
  -D_GLIBCXX_USE_CXX11_ABI=0 -D_GNU_SOURCE -D__STDC_LIMIT_MACROS
  ${MARCH_CFLAGS} ${MTUNE_CFLAGS}
  $<$<COMPILE_LANGUAGE:C>:-g -Wall -Werror -fPIC ${EASY_CC_WNO}>
)

target_link_libraries(easy_base
  INTERFACE
  -L${DEP_DIR}/lib
  -lpthread -lm -l:libssl.a -l:libcrypto.a
  ${ARCH_LDFLAGS}
)


target_compile_features(easy_base INTERFACE cxx_std_11)

add_subdirectory(src)
add_subdirectory(test EXCLUDE_FROM_ALL)