CMakeLists.txt 1.07 KB
Newer Older
1
2
3
4
5
6
7
8
9
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 11)

project(alexnet LANGUAGES CXX)

#set cmake module path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

# add dependencies
10
11
12
find_package(Caffe2 REQUIRED)
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${Caffe2_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Caffe2_LIBRARIES})
13
14
15
16
17
find_package(Armadillo REQUIRED)
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${Armadillo_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Armadillo_LIBRARIES})

# additional commands
18
19
20
21
22
23
24
25
26
find_package(CUDA)
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${CUDA_INCLUDE_DIRS})
set(LIBS ${LIBS} ${CUDA_LIBRARIES} ${CUDA_curand_LIBRARY})

if(CUDA_FOUND)
  set(LIBS ${LIBS} caffe2 caffe2_gpu)
else()
  set(LIBS ${LIBS} caffe2)
endif()
27
28
29
30
31
32
33
34
35
36
37
38

# create static library
include_directories(${INCLUDE_DIRS})
add_library(alexnet alexnet.h)
target_include_directories(alexnet PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(alexnet PUBLIC ${LIBS})
set_target_properties(alexnet PROPERTIES LINKER_LANGUAGE CXX)

# export cmake project
export(TARGETS alexnet FILE alexnet.cmake)

# additional commands end