4.3.2.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 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 PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2")


Enfin, on lie notre bibliothèque à d'éventuelles dépendences :
1
target_link_libraries(gray_scott_intrinsics TBB::tbb)


Le fichier CMakeLists.txt complet :

1
2
3
4
file(GLOB mainSource "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
add_library(gray_scott_intrinsics SHARED ${mainSource})
set_property(TARGET gray_scott_intrinsics PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2")
target_link_libraries(gray_scott_intrinsics TBB::tbb)


Vous pouvez le télécharger ici.