/
CMakeRequiredLibraries.txt
158 lines (131 loc) · 6.08 KB
/
CMakeRequiredLibraries.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#
# @file
#
# Allows to develop the application in a Flatpak environment
include_directories(SYSTEM /app/include)
link_directories(/app/lib)
###############################################################################
# Define the Qt Core package
###############################################################################
ADD_DEFINITIONS(-DQT_SHARED)
ADD_DEFINITIONS(-DQT_NO_KEYWORDS)
FIND_PACKAGE(Qt6Core REQUIRED)
message(STATUS "QtCore include dirs: " ${Qt6Core_INCLUDE_DIR})
message(STATUS "QtCore include dirs: " ${Qt${QT_MAJOR_VERSION}_INCLUDE_DIRS})
include_directories("/usr/include/qt5/QtCore")
###############################################################################
# Define the Intel TBB Library
###############################################################################
set(TBB_BUILD_DIR /app/lib)
set(TBB_INCLUDE_DIRS /app/include)
include_directories(SYSTEM AFTER ${TBB_INCLUDE_DIRS})
set(TBB_LIBRARIES ${TBB_BUILD_DIR}/libtbb.so;${TBB_BUILD_DIR}/libtbbmalloc.so)
add_definitions(-DTBB_SUPPRESS_DEPRECATED_MESSAGES=1)
###############################################################################
# Define the OpenCL runtime
###############################################################################
pkg_check_modules(OPENCL REQUIRED)
if(OPENCL_FOUND)
set(OPENCL_LIBRARIES "/usr/lib/x86_64-linux-gnu/libOpenCL.so")
message(STATUS "OpenCL runtime libraries: " ${OPENCL_LIBRARIES})
add_definitions(-DCL_TARGET_OPENCL_VERSION=220)
find_program(PWGEN_BIN pwgen)
if(NOT PWGEN_BIN)
message(FATAL_ERROR "pwgen does not seem to installed")
endif()
else()
message(FATAL_ERROR "No OpenCL environment found")
endif()
###############################################################################
# Define variables for Boost library
###############################################################################
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.49 REQUIRED COMPONENTS thread date_time system program_options)
add_definitions(-DBOOST_ALL_NO_LIB)
add_definitions(-DBOOST_ALL_DYN_LINK)
message(STATUS "Boost found: " ${Boost_FOUND})
message(STATUS "Boost include dirs: " ${Boost_INCLUDEDIR})
message(STATUS "Boost libraries: " ${Boost_LIBRARIES})
include_directories(SYSTEM AFTER ${BOOST_INCLUDEDIR})
###############################################################################
# Check for OpenMP
###############################################################################
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(OpenMP_LIBRARIES "-fopenmp")
add_definitions("-fopenmp")
else()
find_package(OpenMP REQUIRED)
# This package does not declare the library used by GCC
set(OpenMP_LIBRARIES ${OpenMP_CXX_FLAGS})
add_definitions(${OpenMP_CXX_FLAGS})
endif()
###############################################################################
# Check for libnuma
###############################################################################
find_package(NUMA REQUIRED)
if (NUMA_FOUND)
message(STATUS "NUMA_LIBRARIES: ${NUMA_LIBRARIES}")
message(STATUS "NUMA_INCLUDE_DIRS: ${NUMA_INCLUDE_DIRS}")
else()
message(ERROR "libNUMA not found!")
endif()
###############################################################################
# Check for rapidjson
###############################################################################
find_package(rapidjson REQUIRED)
if (RAPIDJSON_FOUND)
message(STATUS " rapidjson include directory: ${RAPIDJSON_INCLUDE_DIRS}")
else()
message(ERROR " rapidjson not found!")
endif()
########################
# Needed for libpvrush #
########################
###############################################################################
# Check for Archive library
###############################################################################
pkg_check_modules(ARCHIVE REQUIRED libarchive)
###############################################################################
# Google Breakpad
###############################################################################
set(BREAKPAD_INCLUDE_DIRS /usr/include/breakpad /app/include/breakpad /include/breakpad)
pkg_check_modules(BREAKPAD REQUIRED breakpad-client)
message(STATUS "Google Breakpad libraries: ${BREAKPAD_LIBRARIES}")
message(STATUS "Google Breakpad include: ${BREAKPAD_INCLUDE_DIRS}")
###############################################################################
# OpenGL
# TODO : Check result and deduce OpenGL Support in Qt?
###############################################################################
find_package(OpenGL REQUIRED)
set(OPENGL_LIBRARIES ${OPENGL_LIBRARIES} EGL) # Force EGL as CMake is too old to find it
###############################################################################
# IBM ICU
###############################################################################
find_package(ICU REQUIRED)
message(STATUS "ICU found: " ${ICU_FOUND})
if(ICU_FOUND)
message(STATUS "ICU include: ${ICU_INCLUDE}")
message(STATUS "ICU libraries: ${ICU_LIBRARY}")
endif(ICU_FOUND)
###############################################################################
# Check for CURL
###############################################################################
find_package(CURL "7.38.0" REQUIRED)
###############################################################################
# Check for SIGCPP installation
###############################################################################
pkg_check_modules(SIGCPP REQUIRED sigc++-3.0)
###############################################################################
# type_safe library
###############################################################################
add_definitions(-DTYPE_SAFE_ENABLE_WRAPPER=0)
add_definitions(-DTYPE_SAFE_ENABLE_ASSERTIONS=0)
include_directories(AFTER external/type_safe/external/debug_assert)
include_directories(AFTER external/type_safe/include)
###############################################################################
# Python3
###############################################################################
find_package(Python 3.8 REQUIRED COMPONENTS Development.Embed)
include_directories(SYSTEM AFTER ${Python_INCLUDE_DIRS})