cmake编译发布lib 和 bin

cmake 编译文件,参考:
lightgbm

if(USE_GPU OR APPLE)
  MESSAGE( STATUS "this is use_gpu or apple")
  cmake_minimum_required(VERSION 3.14)
else()
 MESSAGE( STATUS "this is not  use_gpu or not use apple")
 cmake_minimum_required(VERSION 3.8)
endif()

project(open_source)

OPTION(USE_MPI "Enable MPI-based parallel learning" OFF)
OPTION(USE_GPU "Enable Gpu training" OFF)

if(APPLE)
  OPTION(APPLE_OUTPUT_DYLIB "Output dylib shared library" OFF)
  MESSAGE( STATUS "apple if use dylib:" ${APPLE_OUTPUT_DYLIB})
endif(APPLE)

# check the compiler version
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.2")
     MESSAGE(FATAL_ERROR "INsufficient gcc version")
  else()
   MESSAGE(STATUS "CMAKE_CXX_COMPILER_VERSION:" ${CMAKE_CXX_COMPILER_VERSION})
  endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.8")
    message(FATAL_ERROR "INsufficient clang version")
   else()
     message(STATUS "CMAKE_CXX_COMPILER_VERSION:" ${CMAKE_CXX_COMPILER_VERSION})
   endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.1.0")
     message(FATAL_ERROR "INsufficient apple clang version")
   else()
      message(STATUS "CMAKE_CXX_COMPILER_VERSION:" ${CMAKE_CXX_COMPILER_VERSION})
   endif()
endif()

if(USE_SWIG)
  message(STATUS "use_swig!!!")
endif()

file(GLOB SOURCES
    src/application/*.cpp
)

add_executable(open_source src/main.cpp ${SOURCES})
add_library(_open_source SHARED src/c_api.cpp ${SOURCES})

message(STATUS "PROJECT_SOURCE_DIR:"${PROJECT_SOURCE_DIR})

SET(OPEN_SOURCE_HEADER_DIR ${PROJECT_SOURCE_DIR}/include)

SET(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/output)
message(STATUS "CMAKE_INSTALL_PREFIX:" ${CMAKE_INSTALL_PREFIX})

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR})

include_directories(${OPEN_SOURCE_HEADER_DIR})

install(TARGETS open_source _open_source
       RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
       LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
       ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)

install(DIRECTORY ${OPEN_SOURCE_HEADER_DIR}/open_source DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值