haikuwebkit/Source/JavaScriptCore/PlatformMac.cmake

61 lines
2.6 KiB
CMake
Raw Permalink Normal View History

[CMake] Determine correct visibility for linked frameworks https://bugs.webkit.org/show_bug.cgi?id=210366 Reviewed by Michael Catanzaro. .: WebKit has some frameworks that are compiled statically into a larger shared library. For example Apple compiles bmalloc and WTF into JavaScriptCore. This means the JavaScriptCore framework also exposes the symbols for those two libraries and that targets depending on WTF or bmalloc should link to JavaScriptCore and never to WTF or bmalloc directly. The CMake code allows each port to decide the type of library for a WEBKIT_FRAMEWORK. This means there are many different combinations that it needs to support. To ensure that everything links properly some bookkeeping is required. WEBKIT_FRAMEWORK now uses ${target}_FRAMEWORKS to determine how to link the frameworks it depends on. First the macro determines if the framework is a SHARED library or is linked into a shared library, and if so it is linked as PUBLIC. If the framework itself is not a SHARED library, then it links other STATIC/OBJECT framework as PUBLIC. If the framework itself is SHARED then any framework that is a STATIC/OBJECT library is linked as PRIVATE to stop propagation. The linked framework's header directories are added to the WebKit::${framework} target to allow the framework to present as that framework. A global property is set to inform consumers that they should link to this different framework to get the requested framework. This ensures that all ports can ship with hidden visibility turned on which is a precursor to a port turning on link time optimization (LTO). * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Set JavaScriptCore_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} and $<TARGET_OBJECTS:${framework}> by ports. Move the add_subdirectory of shell to the end of the CMakeLists.txt so its after the WEBKIT_FRAMEWORK call. This ensures that the frameworks linked into JavaScriptCore are known when creating the executables in that directory. * CMakeLists.txt: * PlatformGTK.cmake: * PlatformJSCOnly.cmake: * PlatformMac.cmake: * PlatformPlayStation.cmake: * shell/CMakeLists.txt: Source/WebCore: Set WebCore_FRAMEWORKS and WebCoreTestSupport_FRAMEWORKS to determine correct linkage for the libraries. Remove explicit setting of STATICALLY_LINKED_WITH_PAL. For the GTK port JavaScriptCore is compiled as a SHARED library with WTF and bmalloc compiled into it. WEBKIT_FRAMEWORK now correctly prevents WTF and bmalloc being linked into targets that also link JavaScriptCore. However GTK port can't be compiled with hidden visibility turned on currently to properly export symbols so the libraries are added back to the list for WebCore to keep the old, albiet wrong, behavior. * CMakeLists.txt: * PlatformGTK.cmake: Source/WebCore/PAL: Set PAL_FRAMEWORKS to determine correct linkage for the library. * pal/CMakeLists.txt: Source/WebDriver: Conditionally add bmalloc to the list of WebDriver_FRAMEWORKS. * CMakeLists.txt: Source/WebKit: Set WebKit_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} and $<TARGET_OBJECTS:${framework}> by ports. * CMakeLists.txt: * PlatformFTW.cmake: * PlatformPlayStation.cmake: * PlatformWPE.cmake: * PlatformWin.cmake: Source/WebKitLegacy: Remove explicit setting of STATICALLY_LINKED_WITH_${framework}. * PlatformFTW.cmake: * PlatformWin.cmake: Source/WTF: Set WTF_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} by ports. * wtf/CMakeLists.txt: * wtf/PlatformPlayStation.cmake: Tools: Remove explicit setting of STATICALLY_LINKED_WITH_${framework}. * TestWebKitAPI/PlatformWin.cmake: Canonical link: https://commits.webkit.org/232353@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-11 19:15:43 +00:00
add_definitions(-D__STDC_WANT_LIB_EXT1__)
find_library(SECURITY_LIBRARY Security)
list(APPEND JavaScriptCore_LIBRARIES
${SECURITY_LIBRARY}
)
Setup WebCore build to start using unified sources. https://bugs.webkit.org/show_bug.cgi?id=178362 Reviewed by Tim Horton. .: Pass features to the unified source bundler script. * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Change comments in source list files. Also, pass explicit names for build files. * CMakeLists.txt: * PlatformGTK.cmake: * PlatformMac.cmake: * Sources.txt: * SourcesGTK.txt: * SourcesMac.txt: Source/WebCore: This patch adds all the long tooling needed to start adding unified sources to WebCore. Most of the source list files are empty to start but will be filled over the next few days. I started by moving all the non-derived bindings code to unified sources to make sure everything worked correctly. * CMakeLists.txt: * Configurations/GenerateUnifiedSources.xcconfig: Added. * Configurations/WebCore.xcconfig: * PlatformMac.cmake: * Sources.txt: Added. * SourcesCocoa.txt: Added. * SourcesIOS.txt: Added. * SourcesMac.txt: Added. * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: Removed. No one seems to use this... Source/WTF: There are a number of changes to the bundler script. First, it is now possible to enable or disable building files based on if the associated feature flag is enabled or not. The syntax for this is similar to how we do #ifs in C++ code. e.g. #if ENABLE_APPLE_PAY myApplePayFile.cpp #endif would enable myApplePayFile.cpp if and only if the APPLE_PAY feature define is set. I also changed comments from # to // to make it less likely they would be confused with a #if. Finally, this patch enables bundling files in the same relative directory across source list files. Previously, if SourcesCocoa.txt had platform/cf/foo.cpp and SourcesMac.txt had platform/cf/bar.cpp those files would not be put in the same unified source bundle. Now, those files will be put into the same bundle but bar.cpp will always follow foo.cpp. The idea is that by putting more specific files after more general files we can avoid random build failures. * Scripts/generate-unified-source-bundles.rb: Canonical link: https://commits.webkit.org/194673@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-10-18 19:14:51 +00:00
list(APPEND JavaScriptCore_UNIFIED_SOURCE_LIST_FILES
"SourcesCocoa.txt"
Resurrect Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=224084 Patch by Alex Christensen <achristensen@webkit.org> on 2021-04-05 Reviewed by Tim Horton. .: * Source/cmake/OptionsMac.cmake: Source/JavaScriptCore: * PlatformMac.cmake: Source/ThirdParty/ANGLE: * PlatformMac.cmake: Added. Source/ThirdParty/libwebrtc: * CMakeLists.txt: Source/WebCore: * PlatformMac.cmake: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * platform/mac/WebGLBlocklist.mm: * platform/text/cocoa/LocalizedDateCache.h: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.h. * platform/text/cocoa/LocalizedDateCache.mm: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.mm. (WebCore::localizedDateCache): (WebCore::_localeChanged): (WebCore::LocalizedDateCache::LocalizedDateCache): (WebCore::LocalizedDateCache::~LocalizedDateCache): (WebCore::LocalizedDateCache::localeChanged): (WebCore::LocalizedDateCache::formatterForDateType): (WebCore::LocalizedDateCache::maximumWidthForDateType): (WebCore::LocalizedDateCache::createFormatterForType): (WebCore::LocalizedDateCache::calculateMaximumWidth): * testing/cocoa/WebViewVisualIdentificationOverlay.mm: Source/WebCore/PAL: * pal/PlatformMac.cmake: Source/WebKit: * NetworkProcess/PrivateClickMeasurementNetworkLoader.cpp: (WebKit::PrivateClickMeasurementNetworkLoader::didReceiveBuffer): * PlatformMac.cmake: * Shared/Cocoa/SandboxExtensionCocoa.mm: * SourcesCocoa.txt: * UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h: Source/WebKitLegacy: * PlatformMac.cmake: Source/WTF: * wtf/PlatformMac.cmake: Tools: * TestWebKitAPI/PlatformMac.cmake: * WebKitTestRunner/PlatformMac.cmake: Canonical link: https://commits.webkit.org/236142@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-06 03:19:14 +00:00
"inspector/remote/SourcesCocoa.txt"
Setup WebCore build to start using unified sources. https://bugs.webkit.org/show_bug.cgi?id=178362 Reviewed by Tim Horton. .: Pass features to the unified source bundler script. * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Change comments in source list files. Also, pass explicit names for build files. * CMakeLists.txt: * PlatformGTK.cmake: * PlatformMac.cmake: * Sources.txt: * SourcesGTK.txt: * SourcesMac.txt: Source/WebCore: This patch adds all the long tooling needed to start adding unified sources to WebCore. Most of the source list files are empty to start but will be filled over the next few days. I started by moving all the non-derived bindings code to unified sources to make sure everything worked correctly. * CMakeLists.txt: * Configurations/GenerateUnifiedSources.xcconfig: Added. * Configurations/WebCore.xcconfig: * PlatformMac.cmake: * Sources.txt: Added. * SourcesCocoa.txt: Added. * SourcesIOS.txt: Added. * SourcesMac.txt: Added. * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: Removed. No one seems to use this... Source/WTF: There are a number of changes to the bundler script. First, it is now possible to enable or disable building files based on if the associated feature flag is enabled or not. The syntax for this is similar to how we do #ifs in C++ code. e.g. #if ENABLE_APPLE_PAY myApplePayFile.cpp #endif would enable myApplePayFile.cpp if and only if the APPLE_PAY feature define is set. I also changed comments from # to // to make it less likely they would be confused with a #if. Finally, this patch enables bundling files in the same relative directory across source list files. Previously, if SourcesCocoa.txt had platform/cf/foo.cpp and SourcesMac.txt had platform/cf/bar.cpp those files would not be put in the same unified source bundle. Now, those files will be put into the same bundle but bar.cpp will always follow foo.cpp. The idea is that by putting more specific files after more general files we can avoid random build failures. * Scripts/generate-unified-source-bundles.rb: Canonical link: https://commits.webkit.org/194673@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-10-18 19:14:51 +00:00
)
list(APPEND JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES
${JAVASCRIPTCORE_DIR}/disassembler/udis86
${JAVASCRIPTCORE_DIR}/inspector/cocoa
${JAVASCRIPTCORE_DIR}/inspector/remote/cocoa
)
Progress towards CMake on Mac. https://bugs.webkit.org/show_bug.cgi?id=149123 Reviewed by Chris Dumez. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Defined and enabled some more features needed on Mac. * Source/cmake/WebKitMacros.cmake: Objective C bindings need special changes when generating: Some of the bindings do not generate a .mm file but the header is needed. Some of the bindings do generate a .mm file that doesn't compile but the header is needed. In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC. Source/JavaScriptCore: * CMakeLists.txt: Make forwarding headers for the replay subdirectory. * PlatformMac.cmake: Make forwarding headers for the generated inspector headers. They should eventually either be packaged correctly with JavaScriptCore headers and included correctly. Source/WebCore: * CMakeLists.txt: Added some more files. * PlatformMac.cmake: Added more files and listed the strange ObjC bindings. * contentextensions/DFACombiner.cpp: * contentextensions/DFACombiner.h: Added preprocessor protection. * platform/FileSystem.h: Include utility. It's needed to compile the different configurations. * platform/ScrollAnimator.cpp: ScrollAnimator is an abstract class on Mac. Don't compile it. * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: FontAntialiasingStateSaver.h is only used on iOS. * rendering/RenderThemeMac.mm: config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers. Source/WebKit: * CMakeLists.txt: * PlatformMac.cmake: Added more sources, make non-c99 sources compile as objc++ * PlatformWin.cmake: Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share. Source/WebKit/mac: * WebView/WebPDFDocumentExtras.mm: (appendValuesInPDFNameSubtreeToVector): * WebView/WebPDFView.mm: Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks. Source/WebKit2: * PlatformMac.cmake: Added some more sources. Canonical link: https://commits.webkit.org/167232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-14 21:22:46 +00:00
list(APPEND JavaScriptCore_PUBLIC_FRAMEWORK_HEADERS
API/JSCallbackFunction.h
API/JSContext.h
API/JSContextPrivate.h
API/JSContextRefPrivate.h
API/JSExport.h
API/JSManagedValue.h
API/JSStringRefCF.h
API/JSValue.h
API/JSValuePrivate.h
API/JSVirtualMachine.h
API/JavaScriptCore.h
)
list(APPEND JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS
inspector/remote/RemoteInspectorConstants.h
inspector/remote/cocoa/RemoteInspectorXPCConnection.h
)
Resurrect Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=224084 Patch by Alex Christensen <achristensen@webkit.org> on 2021-04-05 Reviewed by Tim Horton. .: * Source/cmake/OptionsMac.cmake: Source/JavaScriptCore: * PlatformMac.cmake: Source/ThirdParty/ANGLE: * PlatformMac.cmake: Added. Source/ThirdParty/libwebrtc: * CMakeLists.txt: Source/WebCore: * PlatformMac.cmake: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * platform/mac/WebGLBlocklist.mm: * platform/text/cocoa/LocalizedDateCache.h: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.h. * platform/text/cocoa/LocalizedDateCache.mm: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.mm. (WebCore::localizedDateCache): (WebCore::_localeChanged): (WebCore::LocalizedDateCache::LocalizedDateCache): (WebCore::LocalizedDateCache::~LocalizedDateCache): (WebCore::LocalizedDateCache::localeChanged): (WebCore::LocalizedDateCache::formatterForDateType): (WebCore::LocalizedDateCache::maximumWidthForDateType): (WebCore::LocalizedDateCache::createFormatterForType): (WebCore::LocalizedDateCache::calculateMaximumWidth): * testing/cocoa/WebViewVisualIdentificationOverlay.mm: Source/WebCore/PAL: * pal/PlatformMac.cmake: Source/WebKit: * NetworkProcess/PrivateClickMeasurementNetworkLoader.cpp: (WebKit::PrivateClickMeasurementNetworkLoader::didReceiveBuffer): * PlatformMac.cmake: * Shared/Cocoa/SandboxExtensionCocoa.mm: * SourcesCocoa.txt: * UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h: Source/WebKitLegacy: * PlatformMac.cmake: Source/WTF: * wtf/PlatformMac.cmake: Tools: * TestWebKitAPI/PlatformMac.cmake: * WebKitTestRunner/PlatformMac.cmake: Canonical link: https://commits.webkit.org/236142@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-06 03:19:14 +00:00
set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION} -force_load ${CMAKE_BINARY_DIR}/lib/libWTF.a -force_load ${CMAKE_BINARY_DIR}/lib/libbmalloc.a")
Progress towards CMake on Mac. https://bugs.webkit.org/show_bug.cgi?id=149123 Reviewed by Chris Dumez. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Defined and enabled some more features needed on Mac. * Source/cmake/WebKitMacros.cmake: Objective C bindings need special changes when generating: Some of the bindings do not generate a .mm file but the header is needed. Some of the bindings do generate a .mm file that doesn't compile but the header is needed. In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC. Source/JavaScriptCore: * CMakeLists.txt: Make forwarding headers for the replay subdirectory. * PlatformMac.cmake: Make forwarding headers for the generated inspector headers. They should eventually either be packaged correctly with JavaScriptCore headers and included correctly. Source/WebCore: * CMakeLists.txt: Added some more files. * PlatformMac.cmake: Added more files and listed the strange ObjC bindings. * contentextensions/DFACombiner.cpp: * contentextensions/DFACombiner.h: Added preprocessor protection. * platform/FileSystem.h: Include utility. It's needed to compile the different configurations. * platform/ScrollAnimator.cpp: ScrollAnimator is an abstract class on Mac. Don't compile it. * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: FontAntialiasingStateSaver.h is only used on iOS. * rendering/RenderThemeMac.mm: config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers. Source/WebKit: * CMakeLists.txt: * PlatformMac.cmake: Added more sources, make non-c99 sources compile as objc++ * PlatformWin.cmake: Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share. Source/WebKit/mac: * WebView/WebPDFDocumentExtras.mm: (appendValuesInPDFNameSubtreeToVector): * WebView/WebPDFView.mm: Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks. Source/WebKit2: * PlatformMac.cmake: Added some more sources. Canonical link: https://commits.webkit.org/167232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-14 21:22:46 +00:00
# FIXME: Make including these files consistent in the source so these forwarding headers are not needed.
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/AugmentableInspectorControllerClient.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/AugmentableInspectorControllerClient.h "#include \"inspector/augmentable/AugmentableInspectorControllerClient.h\"")
endif ()
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorFrontendRouter.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorFrontendRouter.h "#include \"inspector/InspectorFrontendRouter.h\"")
endif ()
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorBackendDispatcher.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorBackendDispatcher.h "#include \"inspector/InspectorBackendDispatcher.h\"")
endif ()
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorBackendDispatchers.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorBackendDispatchers.h "#include \"inspector/InspectorBackendDispatchers.h\"")
Progress towards CMake on Mac. https://bugs.webkit.org/show_bug.cgi?id=149123 Reviewed by Chris Dumez. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Defined and enabled some more features needed on Mac. * Source/cmake/WebKitMacros.cmake: Objective C bindings need special changes when generating: Some of the bindings do not generate a .mm file but the header is needed. Some of the bindings do generate a .mm file that doesn't compile but the header is needed. In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC. Source/JavaScriptCore: * CMakeLists.txt: Make forwarding headers for the replay subdirectory. * PlatformMac.cmake: Make forwarding headers for the generated inspector headers. They should eventually either be packaged correctly with JavaScriptCore headers and included correctly. Source/WebCore: * CMakeLists.txt: Added some more files. * PlatformMac.cmake: Added more files and listed the strange ObjC bindings. * contentextensions/DFACombiner.cpp: * contentextensions/DFACombiner.h: Added preprocessor protection. * platform/FileSystem.h: Include utility. It's needed to compile the different configurations. * platform/ScrollAnimator.cpp: ScrollAnimator is an abstract class on Mac. Don't compile it. * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: FontAntialiasingStateSaver.h is only used on iOS. * rendering/RenderThemeMac.mm: config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers. Source/WebKit: * CMakeLists.txt: * PlatformMac.cmake: Added more sources, make non-c99 sources compile as objc++ * PlatformWin.cmake: Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share. Source/WebKit/mac: * WebView/WebPDFDocumentExtras.mm: (appendValuesInPDFNameSubtreeToVector): * WebView/WebPDFView.mm: Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks. Source/WebKit2: * PlatformMac.cmake: Added some more sources. Canonical link: https://commits.webkit.org/167232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-14 21:22:46 +00:00
endif ()
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorFrontendDispatchers.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorFrontendDispatchers.h "#include \"inspector/InspectorFrontendDispatchers.h\"")
Progress towards CMake on Mac. https://bugs.webkit.org/show_bug.cgi?id=149123 Reviewed by Chris Dumez. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Defined and enabled some more features needed on Mac. * Source/cmake/WebKitMacros.cmake: Objective C bindings need special changes when generating: Some of the bindings do not generate a .mm file but the header is needed. Some of the bindings do generate a .mm file that doesn't compile but the header is needed. In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC. Source/JavaScriptCore: * CMakeLists.txt: Make forwarding headers for the replay subdirectory. * PlatformMac.cmake: Make forwarding headers for the generated inspector headers. They should eventually either be packaged correctly with JavaScriptCore headers and included correctly. Source/WebCore: * CMakeLists.txt: Added some more files. * PlatformMac.cmake: Added more files and listed the strange ObjC bindings. * contentextensions/DFACombiner.cpp: * contentextensions/DFACombiner.h: Added preprocessor protection. * platform/FileSystem.h: Include utility. It's needed to compile the different configurations. * platform/ScrollAnimator.cpp: ScrollAnimator is an abstract class on Mac. Don't compile it. * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: FontAntialiasingStateSaver.h is only used on iOS. * rendering/RenderThemeMac.mm: config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers. Source/WebKit: * CMakeLists.txt: * PlatformMac.cmake: Added more sources, make non-c99 sources compile as objc++ * PlatformWin.cmake: Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share. Source/WebKit/mac: * WebView/WebPDFDocumentExtras.mm: (appendValuesInPDFNameSubtreeToVector): * WebView/WebPDFView.mm: Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks. Source/WebKit2: * PlatformMac.cmake: Added some more sources. Canonical link: https://commits.webkit.org/167232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-14 21:22:46 +00:00
endif ()
if (NOT EXISTS ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorProtocolObjects.h)
file(WRITE ${JavaScriptCore_DERIVED_SOURCES_DIR}/InspectorProtocolObjects.h "#include \"inspector/InspectorProtocolObjects.h\"")
Progress towards CMake on Mac. https://bugs.webkit.org/show_bug.cgi?id=149123 Reviewed by Chris Dumez. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Defined and enabled some more features needed on Mac. * Source/cmake/WebKitMacros.cmake: Objective C bindings need special changes when generating: Some of the bindings do not generate a .mm file but the header is needed. Some of the bindings do generate a .mm file that doesn't compile but the header is needed. In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC. Source/JavaScriptCore: * CMakeLists.txt: Make forwarding headers for the replay subdirectory. * PlatformMac.cmake: Make forwarding headers for the generated inspector headers. They should eventually either be packaged correctly with JavaScriptCore headers and included correctly. Source/WebCore: * CMakeLists.txt: Added some more files. * PlatformMac.cmake: Added more files and listed the strange ObjC bindings. * contentextensions/DFACombiner.cpp: * contentextensions/DFACombiner.h: Added preprocessor protection. * platform/FileSystem.h: Include utility. It's needed to compile the different configurations. * platform/ScrollAnimator.cpp: ScrollAnimator is an abstract class on Mac. Don't compile it. * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: FontAntialiasingStateSaver.h is only used on iOS. * rendering/RenderThemeMac.mm: config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers. Source/WebKit: * CMakeLists.txt: * PlatformMac.cmake: Added more sources, make non-c99 sources compile as objc++ * PlatformWin.cmake: Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share. Source/WebKit/mac: * WebView/WebPDFDocumentExtras.mm: (appendValuesInPDFNameSubtreeToVector): * WebView/WebPDFView.mm: Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks. Source/WebKit2: * PlatformMac.cmake: Added some more sources. Canonical link: https://commits.webkit.org/167232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-14 21:22:46 +00:00
endif ()