Title: [212882] trunk
Revision
212882
Author
tpop...@redhat.com
Date
2017-02-23 03:27:10 -0800 (Thu, 23 Feb 2017)

Log Message

[GTK] Compilation fails if using ninja together with icecream and cmake > 3.5
https://bugs.webkit.org/show_bug.cgi?id=168770

Reviewed by Carlos Garcia Campos.

If using cmake >= 3.6 together with ninja generator and icecream, the
build will fail as icecream does not correctly handle the response
files and it's not passing compiler flags from there to the compiler
itself (in our case it's not passing -fPIC which leads to the
failure while linking). Don't enable the ninja's response files
support if we fulfill the preconditions.

* Source/cmake/OptionsCommon.cmake:

Modified Paths

Diff

Modified: trunk/ChangeLog (212881 => 212882)


--- trunk/ChangeLog	2017-02-23 11:24:17 UTC (rev 212881)
+++ trunk/ChangeLog	2017-02-23 11:27:10 UTC (rev 212882)
@@ -1,3 +1,19 @@
+2017-02-23  Tomas Popela  <tpop...@redhat.com>
+
+        [GTK] Compilation fails if using ninja together with icecream and cmake > 3.5
+        https://bugs.webkit.org/show_bug.cgi?id=168770
+
+        Reviewed by Carlos Garcia Campos.
+
+        If using cmake >= 3.6 together with ninja generator and icecream, the
+        build will fail as icecream does not correctly handle the response
+        files and it's not passing compiler flags from there to the compiler
+        itself (in our case it's not passing -fPIC which leads to the
+        failure while linking). Don't enable the ninja's response files
+        support if we fulfill the preconditions.
+
+        * Source/cmake/OptionsCommon.cmake:
+
 2017-02-22  Ryosuke Niwa  <rn...@webkit.org>
 
         Add GTK+ build instruction to ReadMe.md

Modified: trunk/Source/cmake/OptionsCommon.cmake (212881 => 212882)


--- trunk/Source/cmake/OptionsCommon.cmake	2017-02-23 11:24:17 UTC (rev 212881)
+++ trunk/Source/cmake/OptionsCommon.cmake	2017-02-23 11:27:10 UTC (rev 212882)
@@ -213,7 +213,11 @@
 # See https://bugs.webkit.org/show_bug.cgi?id=129771
 # The Apple Toolchain doesn't support response files.
 if (NOT APPLE)
-    set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1)
+   # If using Ninja with cmake >= 3.6.0 and icecream, then the build is broken
+   # if enable the response files. See https://bugs.webkit.org/show_bug.cgi?id=168770
+   if (NOT ((${CMAKE_CXX_COMPILER} MATCHES ".*icecc.*") AND (CMAKE_GENERATOR STREQUAL "Ninja") AND (${CMAKE_VERSION} VERSION_GREATER 3.5)))
+      set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1)
+   endif ()
 endif ()
 
 # Macros for determining HAVE values.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to