[CMake] Allow to enable OpenMP support.
authorclopez@igalia.com <clopez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Sep 2015 19:15:18 +0000 (19:15 +0000)
committerclopez@igalia.com <clopez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Sep 2015 19:15:18 +0000 (19:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149457

Reviewed by Csaba Osztrogon√°c.

* Source/cmake/OptionsCommon.cmake: Add the option USE_OPENMP that
will enable the support for OpenMP. Currently this is only used as
an alternative implementation to native threads for the parallelization
of the SVG filters. But name the option with a generic name (USE_OPENMP)
as it could be also used to enable future features that depend on OpenMP.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/cmake/OptionsCommon.cmake

index bb4f33f..7ae5dd0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-09-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        [CMake] Allow to enable OpenMP support.
+        https://bugs.webkit.org/show_bug.cgi?id=149457
+
+        Reviewed by Csaba Osztrogon√°c.
+
+        * Source/cmake/OptionsCommon.cmake: Add the option USE_OPENMP that
+        will enable the support for OpenMP. Currently this is only used as
+        an alternative implementation to native threads for the parallelization
+        of the SVG filters. But name the option with a generic name (USE_OPENMP)
+        as it could be also used to enable future features that depend on OpenMP.
+
 2015-09-22  Ryuan Choi  <ryuan.choi@navercorp.com>
 
         [EFL] Build break when DEVELOPER_MODE is OFF
index f6cac66..e402728 100644 (file)
@@ -124,6 +124,15 @@ if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS)
     set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
 endif ()
 
+# Enable the usage of OpenMP.
+#  - At this moment, OpenMP is only used as an alternative implementation
+#    to native threads for the parallelization of the SVG filters.
+if (USE_OPENMP)
+    find_package(OpenMP REQUIRED)
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+endif ()
+
 # GTK uses the GNU installation directories as defaults.
 if (NOT PORT STREQUAL "GTK")
     set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Absolute path to library installation directory")