add_library(gray_scott_vectorized SHARED vectorized_propagation.cpp) set_property(TARGET gray_scott_vectorized PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized TBB::tbb) add_library(gray_scott_vectorized_3x3 SHARED vectorized_propagation_3x3.cpp) set_property(TARGET gray_scott_vectorized_3x3 PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -funroll-loops -mavx2") target_link_libraries(gray_scott_vectorized_3x3 TBB::tbb) add_library(gray_scott_vectorized_3x3_v2 SHARED vectorized_propagation_3x3_v2.cpp) set_property(TARGET gray_scott_vectorized_3x3_v2 PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized_3x3_v2 TBB::tbb) add_library(gray_scott_vectorized_3x3_v3 SHARED vectorized_propagation_3x3_v3.cpp) set_property(TARGET gray_scott_vectorized_3x3_v3 PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized_3x3_v3 TBB::tbb) add_library(gray_scott_vectorized_3x3_block SHARED vectorized_propagation_3x3_block.cpp) set_property(TARGET gray_scott_vectorized_3x3_block PROPERTY COMPILE_FLAGS "-O3 -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized_3x3_block TBB::tbb) add_library(gray_scott_vectorized_3x3_block_v2 SHARED vectorized_propagation_3x3_block_v2.cpp) set_property(TARGET gray_scott_vectorized_3x3_block_v2 PROPERTY COMPILE_FLAGS "-Ofast -fassociative-math -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized_3x3_block_v2 TBB::tbb) add_library(gray_scott_vectorized_3x3_block_v3 SHARED vectorized_propagation_3x3_block_v3.cpp) set_property(TARGET gray_scott_vectorized_3x3_block_v3 PROPERTY COMPILE_FLAGS "-Ofast -fassociative-math -ftree-vectorize -march=native -mtune=native -mavx2") target_link_libraries(gray_scott_vectorized_3x3_block_v3 TBB::tbb)