71 lines
1.8 KiB
CMake
71 lines
1.8 KiB
CMake
cmake_minimum_required (VERSION 3.1.0)
|
|
project(FMRI CXX)
|
|
|
|
# Allow us to define custom modules
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
|
|
|
|
# Enable modern C++ features
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
# Enable better warnings
|
|
set(COMPILE_OPTIONS "-Wall -Wextra -pedantic")
|
|
|
|
# Define executable and dependencies
|
|
file(GLOB fmri_SRC
|
|
"src/*.cpp"
|
|
"src/*.hpp"
|
|
)
|
|
|
|
add_executable(fmri ${fmri_SRC})
|
|
|
|
# Enable CUDA if available
|
|
find_package(CUDA)
|
|
if (CUDA_FOUND)
|
|
include_directories(${CUDA_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${CUDA_LIBS})
|
|
else(CUDA_FOUND)
|
|
add_definitions(-DCPU_ONLY)
|
|
endif(CUDA_FOUND)
|
|
|
|
|
|
# Library dependencies
|
|
# Require OpenCV
|
|
find_package(OpenCV REQUIRED)
|
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${OpenCV_LIBS})
|
|
|
|
# Require Boost
|
|
find_package(Boost REQUIRED COMPONENTS system)
|
|
include_directories(${Boost_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${Boost_LIBRARIES})
|
|
|
|
# Require Caffe
|
|
find_package(Caffe REQUIRED)
|
|
include_directories(${Caffe_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${Caffe_LIBRARIES})
|
|
|
|
# Require glog
|
|
find_package(Glog REQUIRED)
|
|
include_directories(${GLOG_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${GLOG_LIBRARIES})
|
|
|
|
# Require png++ (dumping to file)
|
|
find_package(png++ REQUIRED)
|
|
include_directories(${png++_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${png++_LIBRARIES})
|
|
|
|
# Require GLUT (visualisation)
|
|
find_package(GLUT REQUIRED)
|
|
include_directories(${GLUT_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${GLUT_LIBRARIES})
|
|
|
|
# Require OpenGL (visualisation)
|
|
find_package(OpenGL REQUIRED)
|
|
include_directories(${OPENGL_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${OPENGL_LIBRARIES})
|
|
|
|
# Require GLEW (visulalisation)
|
|
find_package(GLEW REQUIRED)
|
|
include_directories(${GLEW_INCLUDE_DIRS})
|
|
target_link_libraries(fmri ${GLEW_LIBRARIES})
|