3.3.4 : Le CMakeLists.txt principal

Écrivons le fichier CMakeLists.txt :

On définit le projet comme d'abitude :
1
2
project(HadamardProductCuda)
cmake_minimum_required(VERSION 3.0)


On demande d'avoir Cuda :
1
2
3
4
5
6
7
8
find_package(CUDA REQUIRED)

message(STATUS "Found headers CUDA : ${CUDA_INCLUDE_DIRS}")
message(STATUS "Found lib CUDA : ${CUDA_LIBRARIES}")

if(SELECTED_GPU)
	add_definitions(-DSELECTED_GPU="${SELECTED_GPU}")
endif()


On ajoute les dossiers d'inclusion pour Cuda et nos sources :
1
2
include_directories(${CUDA_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/AstericsHPC)


On ajoute quelques définissions au passage
1
add_definitions(-DVECTOR_ALIGNEMENT=32 -O2)


Puis les sous dossiers que nous avons déjà créés :
1
2
3
add_subdirectory(AstericsHPC)
add_subdirectory(src)
add_subdirectory(program)


Le fichier CMakeLists.txt complet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
project(HadamardProductCuda)
cmake_minimum_required(VERSION 3.0)

find_package(CUDA REQUIRED)

message(STATUS "Found headers CUDA : ${CUDA_INCLUDE_DIRS}")
message(STATUS "Found lib CUDA : ${CUDA_LIBRARIES}")

if(SELECTED_GPU)
	add_definitions(-DSELECTED_GPU="${SELECTED_GPU}")
endif()

include_directories(${CUDA_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/AstericsHPC)
add_definitions(-DVECTOR_ALIGNEMENT=32 -O2)
add_subdirectory(AstericsHPC)
add_subdirectory(src)
add_subdirectory(program)


Vous pouvez télécharger le fichier ici.