From 2473c57cc69a844bfc65028ac1fc49a042605a47 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Sun, 21 Feb 2021 22:34:41 +0100 Subject: [PATCH] Enable use of OpenMP simd pragmas --- cmake/SfizzDeps.cmake | 13 +++++++++++++ common.mk | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/cmake/SfizzDeps.cmake b/cmake/SfizzDeps.cmake index 79020bcd..864f1225 100644 --- a/cmake/SfizzDeps.cmake +++ b/cmake/SfizzDeps.cmake @@ -1,6 +1,16 @@ # Find system threads find_package(Threads REQUIRED) +# Find OpenMP +find_package(OpenMP) +if(OPENMP_FOUND) + add_library(sfizz_openmp INTERFACE) + add_library(sfizz::openmp ALIAS sfizz_openmp) + target_compile_options(sfizz_openmp INTERFACE + $<$:${OpenMP_C_FLAGS}> + $<$:${OpenMP_CXX_FLAGS}>) +endif() + # Find macOS system libraries if(APPLE) find_library(APPLE_COREFOUNDATION_LIBRARY "CoreFoundation") @@ -71,6 +81,9 @@ add_subdirectory("external/st_audiofile" EXCLUDE_FROM_ALL) add_library(sfizz_simde INTERFACE) add_library(sfizz::simde ALIAS sfizz_simde) target_include_directories(sfizz_simde INTERFACE "external/simde") +if(TARGET sfizz::openmp) + target_link_libraries(sfizz_simde INTERFACE sfizz::openmp) +endif() # The pugixml library add_library(sfizz_pugixml STATIC "src/external/pugixml/src/pugixml.cpp") diff --git a/common.mk b/common.mk index 7909df12..ca23cad7 100644 --- a/common.mk +++ b/common.mk @@ -364,3 +364,9 @@ SFIZZ_C_FLAGS += -pthread SFIZZ_CXX_FLAGS += -pthread SFIZZ_LINK_FLAGS += -pthread endif + +### OpenMP dependency + +SFIZZ_C_FLAGS += -fopenmp +SFIZZ_CXX_FLAGS += -fopenmp +SFIZZ_LINK_FLAGS += -fopenmp