Changeset 217894 in webkit


Ignore:
Timestamp:
Jun 7, 2017 11:41:09 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

[CMake] Only force response files for Ninja with CMake < 3.2 on Linux
https://bugs.webkit.org/show_bug.cgi?id=173066

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2017-06-07
Reviewed by Michael Catanzaro.

CMake automatically uses response files when needed, but the limit was
wrong on Linux before 3.2.

  • Source/cmake/OptionsCommon.cmake:
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r217877 r217894  
     12017-06-07  Loïc Yhuel  <loic.yhuel@softathome.com>
     2
     3        [CMake] Only force response files for Ninja with CMake < 3.2 on Linux
     4        https://bugs.webkit.org/show_bug.cgi?id=173066
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        CMake automatically uses response files when needed, but the limit was
     9        wrong on Linux before 3.2.
     10
     11        * Source/cmake/OptionsCommon.cmake:
     12
    1132017-06-07  Zan Dobersek  <zdobersek@igalia.com>
    214
  • trunk/Source/cmake/OptionsCommon.cmake

    r217618 r217894  
    217217# The Ninja generator does not yet know how to build archives in pieces, and so response
    218218# files must be used to deal with very long linker command lines.
    219 # See https://bugs.webkit.org/show_bug.cgi?id=129771
    220 # The Apple Toolchain doesn't support response files.
    221 if (NOT APPLE)
    222    # If using Ninja with cmake >= 3.6.0 and icecream, then the build is broken
    223    # if enable the response files. See https://bugs.webkit.org/show_bug.cgi?id=168770
    224    if (NOT ((((${CMAKE_CXX_COMPILER} MATCHES ".*ccache.*") AND ($ENV{CCACHE_PREFIX} MATCHES ".*icecc.*"))
    225         OR (${CMAKE_CXX_COMPILER} MATCHES ".*icecc.*")
    226         OR (${AR_VERSION} MATCHES "^BSD ar [^ ]* - libarchive"))
    227        AND (CMAKE_GENERATOR STREQUAL "Ninja") AND (${CMAKE_VERSION} VERSION_GREATER 3.5)))
    228       set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1)
    229    endif ()
     219# CMake does this automatically, but the condition was wrong on Linux until CMake 3.2.
     220# See https://cmake.org/Bug/view.php?id=14892
     221if ((CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") AND (CMAKE_VERSION VERSION_LESS 3.2))
     222    set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1)
    230223endif ()
    231224
Note: See TracChangeset for help on using the changeset viewer.