From 49159f3739ca3adbec9f6a0bc64462b0757cc663 Mon Sep 17 00:00:00 2001 From: shawnz Date: Sun, 27 Apr 2025 16:50:12 +0800 Subject: [PATCH] Bug 5164417 and 5097376: Fix the OpenMP issue finding issue for MSVC and Glang --- README.md | 2 +- Samples/0_Introduction/UnifiedMemoryStreams/CMakeLists.txt | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12f5d8fd..68e859d0 100644 --- a/README.md +++ b/README.md @@ -380,7 +380,7 @@ To set up GLFW on a Windows system, Download the pre-built binaries from [GLFW w #### OpenMP -OpenMP is an API for multiprocessing programming. OpenMP can be installed using your Linux distribution's package manager system. It usually comes preinstalled with GCC. It can also be found at the [OpenMP website](http://openmp.org/). +OpenMP is an API for multiprocessing programming. OpenMP can be installed using your Linux distribution's package manager system. It usually comes preinstalled with GCC. It can also be found at the [OpenMP website](http://openmp.org/). For compiler like Clang, libomp.so for llvm need to be install separately, and also the flags need to be set in cmake configuration, such as `-DOpenMP_CXX_FLAGS="-fopenmp=libomp" -DOpenMP_CXX_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY="/path/to/libomp.so"`. #### Screen diff --git a/Samples/0_Introduction/UnifiedMemoryStreams/CMakeLists.txt b/Samples/0_Introduction/UnifiedMemoryStreams/CMakeLists.txt index 8dcaa0f0..090cfe2c 100644 --- a/Samples/0_Introduction/UnifiedMemoryStreams/CMakeLists.txt +++ b/Samples/0_Introduction/UnifiedMemoryStreams/CMakeLists.txt @@ -20,7 +20,11 @@ endif() include_directories(../../../Common) # Source file -find_package(OpenMP REQUIRED) +if(CMAKE_GENERATOR MATCHES "Visual Studio") + find_package(OpenMP REQUIRED C CXX) +else() + find_package(OpenMP REQUIRED) +endif() if(${OpenMP_FOUND}) # Add target for UnifiedMemoryStreams