Chapter 1.3 : CMakeLists.txt pricipal du projet

Le CMakeLists.txt pricipal du projet reste classique :
  • Le nom du projet et la version de CMake
  • L'ajout des fonctions CMake de la section précédente
  • La définition du project
  • La définition des bibliothèques extérieures au projet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
project(PERFORMANCE_WITH_STENCIL)
cmake_minimum_required(VERSION 3.0)

add_subdirectory(cmake)

find_package(TBB COMPONENTS tbb REQUIRED)

find_package(HDF5 COMPONENTS C CXX REQUIRED)

include_directories(${HDF5_INCLUDE_DIRS})

message(STATUS "HDF5_CXX_LIBRARIES = ${HDF5_CXX_LIBRARIES}")

phoenix_base_project("PERFORMANCE_WITH_STENCIL_GPU" "1.0.0"
		"Set of tests to evaluate performance of kernels which uses stencil on GPU"
		"url of the project")

pull_extra_module("MicroBenchmark" "https://gitlab.in2p3.fr/CTA-LAPP/MicroBenchmark.git")
pull_extra_module("TensorAlloc" "https://gitlab.in2p3.fr/CTA-LAPP/TensorAlloc.git")
pull_extra_module("IntrinsicsGenerator" "https://gitlab.in2p3.fr/CTA-LAPP/IntrinsicsGenerator.git")