43 lines
1.2 KiB
CMake
43 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.15.2)
|
||
# 设置项目名称与语言
|
||
project(GCTL_AI VERSION 1.0)
|
||
# 添加配置配件编写的函数
|
||
include(CMakePackageConfigHelpers)
|
||
|
||
set(CMAKE_CXX_STANDARD 17)
|
||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
||
# 添加编译选项
|
||
option(GCTL_AI_OPENMP "Use the OpenMP library" OFF)
|
||
|
||
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
|
||
message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX})
|
||
message(STATUS "Processor: " ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||
message(STATUS "[GCTL_AI] Use the OpenMP library: " ${GCTL_AI_OPENMP})
|
||
|
||
find_package(GCTL REQUIRED)
|
||
include_directories(${GCTL_INC_DIR})
|
||
|
||
find_package(GCTL_OPTIMIZATION REQUIRED)
|
||
include_directories(${GCTL_OPTIMIZATION_INC_DIR})
|
||
|
||
if(GCTL_AI_OPENMP)
|
||
if(NOT OpenMP_CXX_FOUND)
|
||
find_package(OpenMP REQUIRED)
|
||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
|
||
include_directories(${OpenMP_CXX_INCLUDE_DIRS})
|
||
endif()
|
||
endif()
|
||
|
||
# 加入一个头文件配置,让cmake对源码进行操作
|
||
configure_file(
|
||
"${PROJECT_SOURCE_DIR}/config.h.in"
|
||
"${PROJECT_SOURCE_DIR}/lib/dnn/config.h"
|
||
)
|
||
|
||
# 添加库源文件地址
|
||
add_subdirectory(lib)
|
||
|
||
# 去掉注释编译示例
|
||
add_subdirectory(examples) |