Skip to content

Commit d4b9dd0

Browse files
committed
cmake: use modern OpenMP on MSVC
1 parent 3584545 commit d4b9dd0

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

cmake/openmp.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
find_package(OpenMP)
22
if(OpenMP_FOUND)
33
include_directories(${OpenMP_C_INCLUDE_DIRS} ${OpenMP_CXX_INCLUDE_DIRS})
4+
5+
if(MSVC)
6+
string(REPLACE "/openmp" "/openmp:llvm" OpenMP_C_FLAGS "${OpenMP_C_FLAGS}")
7+
string(REPLACE "/openmp" "/openmp:llvm" OpenMP_CXX_FLAGS "${OpenMP_CXX_FLAGS}")
8+
endif()
9+
410
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
511
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
612
set(CMAKE_EXE_LINKER_FLAGS

modules/core/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ target_link_libraries(${exec_func_lib} PUBLIC gtest gtest_main)
4444
target_link_libraries(${exec_func_lib} PUBLIC Threads::Threads)
4545

4646
find_package(OpenMP REQUIRED)
47+
if(MSVC)
48+
string(REPLACE "/openmp" "/openmp:llvm" OpenMP_C_FLAGS "${OpenMP_C_FLAGS}")
49+
string(REPLACE "/openmp" "/openmp:llvm" OpenMP_CXX_FLAGS "${OpenMP_CXX_FLAGS}")
50+
endif()
4751
target_link_libraries(${exec_func_lib} PUBLIC ${OpenMP_libomp_LIBRARY}
4852
OpenMP::OpenMP_CXX)
4953

0 commit comments

Comments
 (0)