5.6.6 : Le fichier CMakeLists.txt
Écrire le fichier CMakeLists.txt est assez simple :
On définit notre projet :
1 2 |
project(TestHadamardNvcpp) cmake_minimum_required(VERSION 3.0) |
On ajoute quelques flags de compilation (le fameux -stdpar, une option d'optimisation basique, les warnings et l'activation de C++17) :
1 |
set(CMAKE_CXX_FLAGS "-stdpar=gpu -O1 -Wall -std=c++17") |
On créé notre bibliothèque de calcul :
1 |
add_library(test_hadamard_nvcpp_lib SHARED hadamard_product.cpp) |
On créé notre bibliothèque de chronomètre (cela évitera au compilateur de faire des optimisations problématiques dans le main.cpp)
1 |
add_library(phoenix_timer SHARED timer.cpp) |
On créé notre programme :
1 |
add_executable(test_hadamard_nvcpp main.cpp)
|
On le lie au bibliothèques déclarées précédemment :
1 |
target_link_libraries(test_hadamard_nvcpp test_hadamard_nvcpp_lib phoenix_timer)
|
Le fichier CMakeLists.txt complet :
1 2 3 4 5 6 7 |
project(TestHadamardNvcpp) cmake_minimum_required(VERSION 3.0) set(CMAKE_CXX_FLAGS "-stdpar=gpu -O1 -Wall -std=c++17") add_library(test_hadamard_nvcpp_lib SHARED hadamard_product.cpp) add_library(phoenix_timer SHARED timer.cpp) add_executable(test_hadamard_nvcpp main.cpp) target_link_libraries(test_hadamard_nvcpp test_hadamard_nvcpp_lib phoenix_timer) |
Le fichier CMakeLists.txt est disponible ici.