This repository has been archived by the owner on Jul 8, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
/
CMakeLists.txt
81 lines (67 loc) · 2.81 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
#
# Copyright (c) 2011-2017, EPFL/Blue Brain Project
# Chevtchenko Grigori <[email protected]>
# David Steiner <[email protected]>
# Ahmet Bilgili <[email protected]>
# Daniel Nachbaur <[email protected]>
# Maxim Makhinya <[email protected]>
#
# This file is part of Livre <https://github.com/BlueBrain/Livre>
#
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
project(Livre VERSION 0.8.0)
set(Livre_VERSION_ABI 7)
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()
include(GitExternal)
set(LIVRE_namespace livre)
set(LIVRE_INCLUDE_NAME livre/core)
set(LIVRE_DESCRIPTION "Largescale Interactive Volume Rendering Engine (Livre)")
set(LIVRE_MAINTAINER "Blue Brain Project <[email protected]>")
set(LIVRE_LICENSE LGPL)
set(LIVRE_DEB_DEPENDS libqt5opengl5-dev)
set(COMMON_PROJECT_DOMAIN ch.epfl.bluebrain)
include(Common)
if(APPLE) # WAR otherwise MacPorts X11 (/opt/local) is preferred
list(REMOVE_ITEM CMAKE_SYSTEM_LIBRARY_PATH /opt/local/lib /usr/local/lib)
list(REMOVE_ITEM CMAKE_SYSTEM_PREFIX_PATH /opt/local /usr/local)
link_directories(/opt/X11/lib /usr/X11R6/lib)
include_directories(SYSTEM /opt/X11/include /usr/X11R6/include)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(TUVOK_QUIET ON)
git_subproject(Tuvok https://github.com/SCIInstitute/Tuvok.git master)
endif()
common_find_package(Boost REQUIRED COMPONENTS filesystem program_options thread
system unit_test_framework)
common_find_package(Collage REQUIRED)
common_find_package(Equalizer REQUIRED)
common_find_package(Lexis REQUIRED)
common_find_package(LibJpegTurbo)
common_find_package(Lunchbox REQUIRED)
common_find_package(Monsteer) # Steering widget for livreGUI
common_find_package(OpenGL REQUIRED)
common_find_package(OpenMP)
common_find_package(Qt5QuickWidgets)
common_find_package(Qt5Widgets)
common_find_package(Threads REQUIRED)
common_find_package(Tuvok)
if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND CMAKE_COMPILER_IS_CLANG)
common_find_package_disable(Tuvok)
endif()
common_find_package(ZeroEQ)
common_find_package(ZeroBuf REQUIRED)
common_find_package_post()
include(EqGLLibraries)
set(LIVRE_DEPENDENT_LIBRARIES vmmlib Lexis Lunchbox Equalizer ZeroBuf)
add_definitions(-DBOOST_PROGRAM_OPTIONS_DYN_LINK) # Fix for windows and shared boost.
add_subdirectory(livre)
add_subdirectory(apps)
add_subdirectory(tests)
include(CPackConfig)
set(DOXYGEN_MAINPAGE_MD README.md)
set(DOXYGEN_EXTRA_INPUT ${PROJECT_SOURCE_DIR}/README.md)
include(DoxygenRule)