-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
83 lines (68 loc) · 2.48 KB
/
CMakeLists.txt
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# NeuroScheme
# 2015-2020 (c) VG-LAB / GMRV / URJC / UPM
# www.vg-lab.es
# www.gmrv.es
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
cmake_minimum_required( VERSION 3.1 FATAL_ERROR )
project( NeuroScheme VERSION 0.7.6 )
set( NeuroScheme_VERSION_ABI 12 )
# Disable in source building
if( "${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}" )
message( FATAL "no in source building allowed." )
endif()
list( APPEND CMAKE_MODULE_PATH
${PROJECT_SOURCE_DIR}/CMake
${CMAKE_SOURCE_DIR}/CMake/common )
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/CMake/common/Common.cmake)
message(FATAL_ERROR "CMake/common missing, run: git submodule update --init")
endif()
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/deps/silo/silo.in.hpp)
message(FATAL_ERROR "deps/silo/silo.in.hpp missing, run: git submodule update --init")
endif()
# Default build type is Debug
if( NOT CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Debug )
endif( NOT CMAKE_BUILD_TYPE )
if ( CMAKE_BUILD_TYPE MATCHES "Debug" )
add_definitions( -DDEBUG )
endif( )
option( NEUROSCHEME_WITH_LOGGING "NEUROSCHEME_WITH_LOGGING" ON )
if ( NEUROSCHEME_WITH_LOGGING )
add_definitions( -DNEUROSCHEME_WITH_LOGGING )
endif( )
if ( NEUROSCHEME_OPTIONALS_AS_REQUIRED )
set( NEUROSCHEME_OPTS_FIND_ARGS "REQUIRED" )
else()
set( NEUROSCHEME_OPTS_FIND_ARGS "" )
endif()
# description
set( NEUROSCHEME_DESCRIPTION "NeuroScheme" )
set( NEUROSCHEME_MAINTAINER "Pablo Toharia <[email protected]>")
set( NEUROSCHEME_LICENSE LGPL)
set( COMMON_PROJECT_DOMAIN vg-lab.es )
include( Common )
common_find_package( Boost REQUIRED COMPONENTS unit_test_framework )
common_find_package( ShiFT REQUIRED )
common_find_package( scoop REQUIRED )
common_find_package( Qt5Widgets SYSTEM REQUIRED )
common_find_package( Qt5Xml SYSTEM REQUIRED )
common_find_package( Eigen3 SYSTEM REQUIRED )
if(NEUROSCHEME_NSOL_ENABLED)
common_find_package( nsol REQUIRED )
endif()
common_find_package( Lexis ${NEUROSCHEME_OPTS_FIND_ARGS} )
common_find_package( ZeroEQ ${NEUROSCHEME_OPTS_FIND_ARGS} )
common_find_package( Servus ${NEUROSCHEME_OPTS_FIND_ARGS} )
common_find_package( gmrvlex ${NEUROSCHEME_OPTS_FIND_ARGS} )
common_find_package( acuterecorder )
common_find_package_post( )
list( APPEND NEUROSCHEME_DEPENDENT_LIBRARIES ShiFT scoop Qt5Widgets acuterecorder )
add_subdirectory( nslib )
add_subdirectory( nsplugins )
add_subdirectory( neuroscheme )
include( CPackConfig )
include( DoxygenRule )