5.3.1.3 : Le fichier CMakeLists.txt
Écrivons le fichier CMakeLists.txt :
On récupère toutes les sources du dossier :
1 |
file(GLOB mainSource "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") |
On créé notre bibliothèque de calcul intrinséque :
1 |
add_library(gray_scott_intrinsics_link_block SHARED ${mainSource}) |
On utilise encore un petit subterfuge pour changer le flag d'optimisation pour qu'il ne soit pas global afin de ne pas fausser les tests de performances :
1 |
set_property(TARGET gray_scott_intrinsics_link_block PROPERTY COMPILE_FLAGS "-O3 -march=native -mtune=native -mavx2") |
Enfin, on lie notre bibliothèque à d'éventuelles dépendences (il ne faut pas oublier la bibliothèque gray_scott_intrinsics dont nous utilisons la fonction de calcul) :
1 |
target_link_libraries(gray_scott_intrinsics_link_block gray_scott_intrinsics tensor_alloc TBB::tbb) |
Le fichier CMakeLists.txt complet :
1 2 3 4 |
file(GLOB mainSource "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") add_library(gray_scott_intrinsics_link_block SHARED ${mainSource}) set_property(TARGET gray_scott_intrinsics_link_block PROPERTY COMPILE_FLAGS "-O3 -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_intrinsics_link_block gray_scott_intrinsics tensor_alloc TBB::tbb) |
Vous pouvez le télécharger ici.