Skip to content

Commit

Permalink
[CMake] Make WebKitLegacy a framework
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=249273

Reviewed by Michael Catanzaro.

Create a framework target for WebKitLegacy. Copy the headers using
`WEBKIT_COPY_FILES`. Use the new `WebKit::WebKitLegacy` target
throughout the build by using it in `_FRAMEWORKS`.

Remove `WEBKIT_MAKE_FORWARDING_HEADERS` as it is no longer used.

* Source/WebKitLegacy/CMakeLists.txt:
* Source/WebKitLegacy/PlatformMac.cmake:
* Source/WebKitLegacy/PlatformWin.cmake:
* Source/cmake/WebKitMacros.cmake:
* Tools/DumpRenderTree/CMakeLists.txt:
* Tools/DumpRenderTree/PlatformWin.cmake:
* Tools/MiniBrowser/win/CMakeLists.txt:
* Tools/TestRunnerShared/CMakeLists.txt:
* Tools/TestWebKitAPI/CMakeLists.txt:

Canonical link: https://commits.webkit.org/257882@main
  • Loading branch information
donny-dont committed Dec 14, 2022
1 parent d57630c commit 7c4ff08
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 111 deletions.
13 changes: 10 additions & 3 deletions Source/WebKitLegacy/CMakeLists.txt
Expand Up @@ -42,6 +42,10 @@ if (NOT USE_SYSTEM_MALLOC)
list(APPEND WebKit_FRAMEWORKS bmalloc)
endif ()

set(WebKitLegacy_INTERFACE_LIBRARIES WebKitLegacy)
set(WebKitLegacy_INTERFACE_INCLUDE_DIRECTORIES ${WebKitLegacy_FRAMEWORK_HEADERS_DIR})
set(WebKitLegacy_INTERFACE_DEPENDENCIES WebKitLegacy_CopyHeaders)

WEBKIT_FRAMEWORK_DECLARE(WebKitLegacy)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()

Expand All @@ -52,10 +56,13 @@ if (MSVC)
endif ()

WEBKIT_FRAMEWORK(WebKitLegacy)
WEBKIT_FRAMEWORK_TARGET(WebKitLegacy)

if (TARGET WebKitLegacyGUID)
add_dependencies(WebKitLegacy WebKitLegacyGUID)
endif ()
WEBKIT_COPY_FILES(WebKitLegacy_CopyHeaders
DESTINATION ${WebKitLegacy_FRAMEWORK_HEADERS_DIR}/WebKitLegacy
FILES ${WebKitLegacy_PUBLIC_FRAMEWORK_HEADERS}
FLATTENED
)

if (APPLE)
set_target_properties(WebKitLegacy PROPERTIES LINK_FLAGS "-umbrella WebKit")
Expand Down
7 changes: 0 additions & 7 deletions Source/WebKitLegacy/PlatformMac.cmake
Expand Up @@ -627,13 +627,6 @@ list(APPEND WebKitLegacy_SOURCES
${WebKitLegacy_DERIVED_SOURCES_DIR}/WebPreferencesExperimentalFeatures.mm
)

WEBKIT_MAKE_FORWARDING_HEADERS(WebKitLegacy
TARGET_NAME WebKitLegacyFrameworkHeaders
DESTINATION ${WebKitLegacy_FRAMEWORK_HEADERS_DIR}/WebKitLegacy
FILES ${WebKitLegacy_FORWARDING_HEADERS_FILES}
FLATTENED
)

set(WebKitLegacy_OUTPUT_NAME WebKitLegacy)

set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION} -framework SecurityInterface")
14 changes: 1 addition & 13 deletions Source/WebKitLegacy/PlatformWin.cmake
@@ -1,8 +1,5 @@
if (${WTF_PLATFORM_WIN_CAIRO})
add_definitions(-DUSE_CAIRO=1 -DUSE_CURL=1 -DWEBKIT_EXPORTS=1)
list(APPEND WebKitLegacy_PRIVATE_INCLUDE_DIRECTORIES
"${WEBKIT_LIBRARIES_DIR}/include"
)
list(APPEND WebKitLegacy_SOURCES_Classes
win/WebDownloadCURL.cpp
win/WebURLAuthenticationChallengeSenderCURL.cpp
Expand Down Expand Up @@ -417,6 +414,7 @@ add_library(WebKitLegacyGUID STATIC
)
set_target_properties(WebKitLegacyGUID PROPERTIES OUTPUT_NAME WebKitGUID${DEBUG_SUFFIX})

list(APPEND WebKitLegacy_LIBRARIES WebKitLegacyGUID)
list(APPEND WebKitLegacy_PRIVATE_LIBRARIES
Comctl32
Comsupp
Expand Down Expand Up @@ -471,16 +469,6 @@ set(WebKitLegacy_PUBLIC_FRAMEWORK_HEADERS
win/WebKitCOMAPI.h
)

WEBKIT_MAKE_FORWARDING_HEADERS(WebKitLegacyGUID
TARGET_NAME WebKitLegacyFrameworkHeaders
DESTINATION ${WebKitLegacy_FRAMEWORK_HEADERS_DIR}/WebKitLegacy
FILES ${WebKitLegacy_PUBLIC_FRAMEWORK_HEADERS}
FLATTENED
)
if (NOT INTERNAL_BUILD)
add_dependencies(WebKitLegacyFrameworkHeaders WebCore_CopyPrivateHeaders)
endif ()

set(WebKitLegacy_OUTPUT_NAME
WebKit${DEBUG_SUFFIX}
)
42 changes: 0 additions & 42 deletions Source/cmake/WebKitMacros.cmake
Expand Up @@ -391,48 +391,6 @@ macro(WEBKIT_CREATE_FORWARDING_HEADER _target_directory _file)
endif ()
endmacro()

function(WEBKIT_MAKE_FORWARDING_HEADERS framework)
set(options FLATTENED)
set(oneValueArgs DESTINATION TARGET_NAME)
set(multiValueArgs DIRECTORIES FILES)
cmake_parse_arguments(opt "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(headers ${opt_FILES})
file(MAKE_DIRECTORY ${opt_DESTINATION})
foreach (dir IN LISTS opt_DIRECTORIES)
file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${dir}/*.h)
list(APPEND headers ${files})
endforeach ()
set(fwd_headers)
foreach (header IN LISTS headers)
if (IS_ABSOLUTE ${header})
set(src_header ${header})
else ()
set(src_header ${CMAKE_CURRENT_SOURCE_DIR}/${header})
endif ()
if (opt_FLATTENED)
get_filename_component(header_filename ${header} NAME)
set(fwd_header ${opt_DESTINATION}/${header_filename})
else ()
get_filename_component(header_dir ${header} DIRECTORY)
file(MAKE_DIRECTORY ${opt_DESTINATION}/${header_dir})
set(fwd_header ${opt_DESTINATION}/${header})
endif ()
add_custom_command(OUTPUT ${fwd_header}
COMMAND ${CMAKE_COMMAND} -E copy ${src_header} ${fwd_header}
MAIN_DEPENDENCY ${header}
VERBATIM
)
list(APPEND fwd_headers ${fwd_header})
endforeach ()
if (opt_TARGET_NAME)
set(target_name ${opt_TARGET_NAME})
else ()
set(target_name ${framework}ForwardingHeaders)
endif ()
add_custom_target(${target_name} DEPENDS ${fwd_headers})
add_dependencies(${framework} ${target_name})
endfunction()

function(WEBKIT_COPY_FILES target_name)
set(options FLATTENED)
set(oneValueArgs DESTINATION)
Expand Down
21 changes: 12 additions & 9 deletions Tools/DumpRenderTree/CMakeLists.txt
Expand Up @@ -18,11 +18,20 @@ set(DumpRenderTree_SOURCES
WorkQueue.cpp
)

set(DumpRenderTree_LIBRARIES
set(DumpRenderTree_PRIVATE_LIBRARIES
TestRunnerShared
WebKit::WebCoreTestSupport
WebKit::JavaScriptCore
)
set(DumpRenderTree_FRAMEWORKS
JavaScriptCore
PAL
WTF
WebCore
WebCoreTestSupport
WebKitLegacy
)
if (NOT USE_SYSTEM_MALLOC)
list(APPEND WebKitTestRunner_FRAMEWORKS bmalloc)
endif ()

set(DumpRenderTree_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_BINARY_DIR}
Expand All @@ -33,12 +42,6 @@ set(DumpRenderTree_PRIVATE_INCLUDE_DIRECTORIES
${WebKitTestRunner_UISCRIPTCONTEXT_DIR}
)

list(APPEND DumpRenderTree_PRIVATE_INCLUDE_DIRECTORIES
${PAL_FRAMEWORK_HEADERS_DIR}
${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
${WebKitLegacy_FRAMEWORK_HEADERS_DIR}
)

set(DumpRenderTree_WEB_PREFERENCES_TEMPLATES
${DumpRenderTree_DIR}/Scripts/PreferencesTemplates/TestOptionsGeneratedWebKitLegacyKeyMapping.cpp.erb
${DumpRenderTree_DIR}/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb
Expand Down
3 changes: 0 additions & 3 deletions Tools/DumpRenderTree/PlatformWin.cmake
Expand Up @@ -31,8 +31,6 @@ list(APPEND DumpRenderTree_PRIVATE_INCLUDE_DIRECTORIES
list(APPEND DumpRenderTree_LIBRARIES
Comsuppw
Oleacc
WebKitLegacy
WebKitLegacyGUID
)

if (${WTF_PLATFORM_WIN_CAIRO})
Expand All @@ -41,7 +39,6 @@ if (${WTF_PLATFORM_WIN_CAIRO})
${DumpRenderTree_DIR}/cairo
)
list(APPEND DumpRenderTree_LIBRARIES
$<TARGET_OBJECTS:WebCoreTestSupport>
Cairo::Cairo
)
list(APPEND DumpRenderTree_SOURCES
Expand Down
20 changes: 8 additions & 12 deletions Tools/MiniBrowser/win/CMakeLists.txt
@@ -1,6 +1,5 @@
set(MiniBrowser_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_BINARY_DIR}
${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
)

set(MiniBrowser_SOURCES
Expand All @@ -14,11 +13,16 @@ set(MiniBrowser_SOURCES

set(MiniBrowser_PRIVATE_DEFINITIONS _UNICODE)
set(MiniBrowser_PRIVATE_LIBRARIES
WebKit::WTF
comctl32
shlwapi
user32
)
set(MiniBrowser_FRAMEWORKS
JavaScriptCore
PAL
WTF
WebCore
)

if (USE_CF)
list(APPEND MiniBrowser_PRIVATE_LIBRARIES
Expand All @@ -28,9 +32,6 @@ endif ()

if (ENABLE_WEBKIT_LEGACY)
list(APPEND MiniBrowser_PRIVATE_DEFINITIONS ENABLE_WEBKIT_LEGACY)
list(APPEND MiniBrowser_INCLUDE_DIRECTORIES
${WebKitLegacy_FRAMEWORK_HEADERS_DIR}
)
list(APPEND MiniBrowser_SOURCES
AccessibilityDelegate.cpp
MiniBrowserWebHost.cpp
Expand All @@ -39,10 +40,7 @@ if (ENABLE_WEBKIT_LEGACY)
WebDownloadDelegate.cpp
WebKitLegacyBrowserWindow.cpp
)
list(APPEND MiniBrowser_PRIVATE_LIBRARIES
WebKitLegacy
WebKitLegacyGUID
)
list(APPEND MiniBrowser_FRAMEWORKS WebKitLegacy)
endif ()

if (ENABLE_WEBKIT)
Expand All @@ -51,9 +49,7 @@ if (ENABLE_WEBKIT)
Common2.cpp
WebKitBrowserWindow.cpp
)
list(APPEND MiniBrowser_PRIVATE_LIBRARIES
WebKit::WebKit
)
list(APPEND MiniBrowser_FRAMEWORKS WebKit)

add_library(MiniBrowserInjectedBundle SHARED
Common2.cpp
Expand Down
22 changes: 8 additions & 14 deletions Tools/TestRunnerShared/CMakeLists.txt
@@ -1,5 +1,3 @@
WEBKIT_FRAMEWORK_DECLARE(TestRunnerShared)

set(DumpRenderTree_BINDINGS_DIR ${TOOLS_DIR}/DumpRenderTree/Bindings)
set(TestRunnerShared_DIR ${TOOLS_DIR}/TestRunnerShared)

Expand All @@ -17,15 +15,16 @@ set(TestRunnerShared_SOURCES
UIScriptContext/UIScriptControllerShared.cpp
)

set(TestRunnerShared_PRIVATE_LIBRARIES
WebKit::WebCoreTestSupport
)

set(TestRunnerShared_FRAMEWORKS
JavaScriptCore
PAL
WTF
WebCore
WebCoreTestSupport
)

add_dependencies(TestRunnerShared WebCore_CopyPrivateHeaders)
if (NOT USE_SYSTEM_MALLOC)
list(APPEND WebKitTestRunner_FRAMEWORKS bmalloc)
endif ()

set(TestRunnerShared_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_BINARY_DIR}
Expand All @@ -34,12 +33,6 @@ set(TestRunnerShared_PRIVATE_INCLUDE_DIRECTORIES
${TestRunnerShared_DIR}/Bindings
${TestRunnerShared_DIR}/UIScriptContext
${TestRunnerShared_DIR}/config
${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
)

list(APPEND TestRunnerShared_PRIVATE_INCLUDE_DIRECTORIES
${PAL_FRAMEWORK_HEADERS_DIR}
${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
)

set(TestRunnerShared_IDL_FILES
Expand All @@ -58,5 +51,6 @@ GENERATE_BINDINGS(TestRunnerSharedBindings
set(TestRunnerShared_LIBRARY_TYPE OBJECT)
set(TestRunnerShared_DEPENDENCIES TestRunnerSharedBindings)

WEBKIT_FRAMEWORK_DECLARE(TestRunnerShared)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
WEBKIT_FRAMEWORK(TestRunnerShared)
19 changes: 11 additions & 8 deletions Tools/TestWebKitAPI/CMakeLists.txt
Expand Up @@ -240,22 +240,25 @@ if (ENABLE_WEBKIT_LEGACY)
set(TestWebKitLegacy_LIBRARIES
WebKit::gtest
)

set(TestWebKitLegacy_FRAMEWORKS
JavaScriptCore
PAL
WTF
WebCore
)
if (NOT USE_SYSTEM_MALLOC)
list(APPEND TestWebKitLegacy_FRAMEWORKS bmalloc)
endif ()
if (NOT APPLE)
list(APPEND TestWebKitLegacy_LIBRARIES
WebKitLegacy
)
list(APPEND TestWebKitLegacy_FRAMEWORKS WebKitLegacy)
endif ()

set(TestWebKitLegacy_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_BINARY_DIR}
${TESTWEBKITAPI_DIR}
${PAL_FRAMEWORK_HEADERS_DIR}
${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
${WebKitLegacy_FRAMEWORK_HEADERS_DIR}
)

set(TestWebKitLegacy_DEPENDENCIES WebKitLegacyFrameworkHeaders)

WEBKIT_EXECUTABLE_DECLARE(TestWebKitLegacy)
endif ()

Expand Down

0 comments on commit 7c4ff08

Please sign in to comment.