diff --git a/CMakeLists.txt b/CMakeLists.txt
index b6a40f9..87ca301 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -261,9 +261,10 @@ target_link_libraries(OSRM ${STXXL_LIBRARY})
 target_link_libraries(osrm-extract ${STXXL_LIBRARY})
 target_link_libraries(osrm-prepare ${STXXL_LIBRARY})
 
-if(MINGW)
-  # STXXL needs OpenMP library
-  target_link_libraries(osrm-extract gomp)
+find_package(OpenMP)
+if (OPENMP_FOUND)
+    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
 endif()
 
 find_package( OSMPBF REQUIRED )