⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 215614 in webkit


Ignore:
Timestamp:
Apr 21, 2017, 10:26:07 AM (9 years ago)
Author:
Konstantin Tokarev
Message:

[cmake] WTF target should not have wtf and subdirectries in public interface
https://bugs.webkit.org/show_bug.cgi?id=171115

Reviewed by Michael Catanzaro.

In r209665 WEBCORE_FRAMEWORK macro started to export INCLUDE_DIRECTORIES of
targets as their public interface, so that linked targets can use them
implicitly without copying directory lists around. This matches existing
practice for all targets except WTF, headers from which are always included
with full path starting from "<wtf/...".

Since r209665 it became possible to include headers from wtf or its
subdirectories in CMake builds without using "<wtf/..." path. It should
not be allowed.

.:

  • Source/cmake/WebKitMacros.cmake: Support xxx_PRIVATE_HEADERS

CMake variables.

Source/WebCore:

  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp: Fix

incorrect include of WTF header.

Source/WTF:

  • wtf/CMakeLists.txt: WTF/wtf and its sudirectories should not be in

public include paths of WTF target.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r215606 r215614  
     12017-04-21  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [cmake] WTF target should not have wtf and subdirectries in public interface
     4        https://bugs.webkit.org/show_bug.cgi?id=171115
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        In r209665 WEBCORE_FRAMEWORK macro started to export INCLUDE_DIRECTORIES of
     9        targets as their public interface, so that linked targets can use them
     10        implicitly without copying directory lists around. This matches existing
     11        practice for all targets except WTF, headers from which are always included
     12        with full path starting from "<wtf/...".
     13
     14        Since r209665 it became possible to include headers from wtf or its
     15        subdirectories in CMake builds without using "<wtf/..." path. It should
     16        not be allowed.
     17
     18        * Source/cmake/WebKitMacros.cmake: Support xxx_PRIVATE_HEADERS
     19        CMake variables.
     20
    1212017-04-20  Konstantin Tokarev  <annulen@yandex.ru>
    222
  • trunk/Source/WTF/ChangeLog

    r215571 r215614  
     12017-04-21  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [cmake] WTF target should not have wtf and subdirectries in public interface
     4        https://bugs.webkit.org/show_bug.cgi?id=171115
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        In r209665 WEBCORE_FRAMEWORK macro started to export INCLUDE_DIRECTORIES of
     9        targets as their public interface, so that linked targets can use them
     10        implicitly without copying directory lists around. This matches existing
     11        practice for all targets except WTF, headers from which are always included
     12        with full path starting from "<wtf/...".
     13
     14        Since r209665 it became possible to include headers from wtf or its
     15        subdirectories in CMake builds without using "<wtf/..." path. It should
     16        not be allowed.
     17
     18        * wtf/CMakeLists.txt: WTF/wtf and its sudirectories should not be in
     19        public include paths of WTF target.
     20
    1212017-04-20  Sam Weinig  <sam@webkit.org>
    222
  • trunk/Source/WTF/wtf/CMakeLists.txt

    r215265 r215614  
    287287    "${BMALLOC_DIR}"
    288288    "${WTF_DIR}"
     289    "${CMAKE_BINARY_DIR}"
     290    "${DERIVED_SOURCES_DIR}"
     291    "${THIRDPARTY_DIR}"
     292)
     293
     294set(WTF_PRIVATE_INCLUDE_DIRECTORIES
    289295    "${WTF_DIR}/wtf"
    290296    "${WTF_DIR}/wtf/dtoa"
     
    294300    "${WTF_DIR}/wtf/threads"
    295301    "${WTF_DIR}/wtf/unicode"
    296     "${THIRDPARTY_DIR}"
    297     "${CMAKE_BINARY_DIR}"
    298     "${DERIVED_SOURCES_DIR}"
    299302)
    300303
  • trunk/Source/WebCore/ChangeLog

    r215613 r215614  
     12017-04-21  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [cmake] WTF target should not have wtf and subdirectries in public interface
     4        https://bugs.webkit.org/show_bug.cgi?id=171115
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        In r209665 WEBCORE_FRAMEWORK macro started to export INCLUDE_DIRECTORIES of
     9        targets as their public interface, so that linked targets can use them
     10        implicitly without copying directory lists around. This matches existing
     11        practice for all targets except WTF, headers from which are always included
     12        with full path starting from "<wtf/...".
     13
     14        Since r209665 it became possible to include headers from wtf or its
     15        subdirectories in CMake builds without using "<wtf/..." path. It should
     16        not be allowed.
     17
     18        * platform/graphics/texmap/coordinated/TiledBackingStore.cpp: Fix
     19        incorrect include of WTF header.
     20
    1212017-04-21  Gwang Yoon Hwang  <yoon@igalia.com>
    222
  • trunk/Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp

    r211867 r215614  
    2323#if USE(COORDINATED_GRAPHICS)
    2424#include "GraphicsContext.h"
    25 #include "MemoryPressureHandler.h"
    2625#include "TiledBackingStoreClient.h"
    2726#include <wtf/CheckedArithmetic.h>
     27#include <wtf/MemoryPressureHandler.h>
    2828
    2929namespace WebCore {
  • trunk/Source/cmake/WebKitMacros.cmake

    r215606 r215614  
    284284    )
    285285    target_include_directories(${_target} PUBLIC "$<BUILD_INTERFACE:${${_target}_INCLUDE_DIRECTORIES}>")
     286    target_include_directories(${_target} PRIVATE "$<BUILD_INTERFACE:${${_target}_PRIVATE_INCLUDE_DIRECTORIES}>")
    286287    target_link_libraries(${_target} ${${_target}_LIBRARIES})
    287288    set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}")
Note: See TracChangeset for help on using the changeset viewer.