Process the openMP flags before using as compile options

This commit is contained in:
Jean Pierre Cimalando 2021-03-31 18:31:29 +02:00
parent 1ade3d5f5d
commit c06929083b

View file

@ -6,9 +6,19 @@ find_package(OpenMP)
if(OPENMP_FOUND)
add_library(sfizz_openmp INTERFACE)
add_library(sfizz::openmp ALIAS sfizz_openmp)
# OpenMP flags are provided as a space-separated string, we need a list
if(CMAKE_HOST_WIN32)
separate_arguments(SFIZZ_OpenMP_C_OPTIONS WINDOWS_COMMAND "${OpenMP_C_FLAGS}")
separate_arguments(SFIZZ_OpenMP_CXX_OPTIONS WINDOWS_COMMAND "${OpenMP_CXX_FLAGS}")
else()
separate_arguments(SFIZZ_OpenMP_C_OPTIONS UNIX_COMMAND "${OpenMP_C_FLAGS}")
separate_arguments(SFIZZ_OpenMP_CXX_OPTIONS UNIX_COMMAND "${OpenMP_CXX_FLAGS}")
endif()
target_compile_options(sfizz_openmp INTERFACE
$<$<COMPILE_LANGUAGE:C>:${OpenMP_C_FLAGS}>
$<$<COMPILE_LANGUAGE:CXX>:${OpenMP_CXX_FLAGS}>)
$<$<COMPILE_LANGUAGE:C>:${SFIZZ_OpenMP_C_OPTIONS}>
$<$<COMPILE_LANGUAGE:CXX>:${SFIZZ_OpenMP_CXX_OPTIONS}>)
endif()
# Find macOS system libraries