Title: [171942] trunk
Revision
171942
Author
[email protected]
Date
2014-08-01 12:19:14 -0700 (Fri, 01 Aug 2014)

Log Message

Progress towards cmake on Windows.
https://bugs.webkit.org/show_bug.cgi?id=135484

Reviewed by Martin Robinson.


.: 
* CMakeLists.txt:
Added Mac to list of ports, even though it is not done yet.
Changed minimum bison version to version installed on Macs.
* Source/cmake/OptionsAppleWin.cmake:
Added some definitions.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
Set WTF_LIBRARY_TYPE to STATIC to not change WTF linking on EFL or GTK ports.
* Source/cmake/OptionsMac.cmake: Added blank for now.
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/OptionsWindows.cmake:
Added some definitions.
Removed /WX (warnings treated as error while compiling).
Copied warnings to ignore from WebKitLibraries/win/tools/vsprops/common.props.

Source/_javascript_Core: 
* CMakeLists.txt:
Generate code directly to inspector directory to avoid using the cp command
which is not available on Windows.
* PlatformWin.cmake: Added.

Source/WTF: 
* wtf/CMakeLists.txt:
Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.

Modified Paths

Added Paths

Diff

Modified: trunk/CMakeLists.txt (171941 => 171942)


--- trunk/CMakeLists.txt	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/CMakeLists.txt	2014-08-01 19:19:14 UTC (rev 171942)
@@ -41,7 +41,7 @@
 # -----------------------------------------------------------------------------
 # Determine which port will be built
 # -----------------------------------------------------------------------------
-set(ALL_PORTS Efl WinCE GTK AppleWin WinCairo)
+set(ALL_PORTS Efl WinCE GTK AppleWin WinCairo Mac)
 set(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")
 
 list(FIND ALL_PORTS ${PORT} RET)
@@ -54,7 +54,7 @@
 # -----------------------------------------------------------------------------
 # Find common packages (used by all ports)
 # -----------------------------------------------------------------------------
-find_package(BISON 2.4.1 REQUIRED)
+find_package(BISON 2.3 REQUIRED)
 find_package(FLEX 2.5.34 REQUIRED)
 
 # TODO Enforce version requirement for gperf

Modified: trunk/ChangeLog (171941 => 171942)


--- trunk/ChangeLog	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/ChangeLog	2014-08-01 19:19:14 UTC (rev 171942)
@@ -1,3 +1,25 @@
+2014-08-01  Alex Christensen  <[email protected]>
+
+        Progress towards cmake on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=135484
+
+        Reviewed by Martin Robinson.
+
+        * CMakeLists.txt:
+        Added Mac to list of ports, even though it is not done yet.
+        Changed minimum bison version to version installed on Macs.
+        * Source/cmake/OptionsAppleWin.cmake:
+        Added some definitions.
+        * Source/cmake/OptionsEfl.cmake:
+        * Source/cmake/OptionsGTK.cmake:
+        Set WTF_LIBRARY_TYPE to STATIC to not change WTF linking on EFL or GTK ports.
+        * Source/cmake/OptionsMac.cmake: Added blank for now.
+        * Source/cmake/OptionsWinCairo.cmake:
+        * Source/cmake/OptionsWindows.cmake:
+        Added some definitions.
+        Removed /WX (warnings treated as error while compiling).
+        Copied warnings to ignore from WebKitLibraries/win/tools/vsprops/common.props.
+
 2014-08-01  Carlos Garcia Campos  <[email protected]>
 
         [CMake] GTK and EFL are using PROJECT_VERSION_PATCH to define the micro version

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (171941 => 171942)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2014-08-01 19:19:14 UTC (rev 171942)
@@ -27,6 +27,7 @@
     "${_javascript_CORE_DIR}/yarr"
     "${WTF_DIR}"
     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
+    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
     "${CMAKE_SOURCE_DIR}/Source"
     ${ICU_INCLUDE_DIRS}
 )
@@ -872,18 +873,19 @@
 
 # Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
 add_custom_command(
-    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp
-           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h
-           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp
-           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h
-           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp
-           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
+    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSBackendDispatchers.cpp
+           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSBackendDispatchers.h
+           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSFrontendDispatchers.cpp
+           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSFrontendDispatchers.h
+           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSTypeBuilders.cpp
+           ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSTypeBuilders.h
            ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorJSBackendCommands.js
     MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json
     DEPENDS ${_javascript_Core_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py
             ${_javascript_Core_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspectorStrings.py
-    COMMAND ${PYTHON_EXECUTABLE} ${_javascript_Core_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --output_cpp_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --output_js_dir "${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol" --output_type _javascript_ --write_always && mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector
+    COMMAND ${PYTHON_EXECUTABLE} ${_javascript_Core_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --output_cpp_dir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" --output_js_dir "${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol" --output_type _javascript_ --write_always
     VERBATIM)
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector)
 
 # JSCBuiltins
 file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js")
@@ -895,16 +897,16 @@
    VERBATIM)
 
 list(APPEND _javascript_Core_SOURCES
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSBackendDispatchers.cpp
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSFrontendDispatchers.cpp
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSTypeBuilders.cpp
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.cpp
 )
 
 list(APPEND _javascript_Core_HEADERS
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h
-    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSBackendDispatchers.h
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSFrontendDispatchers.h
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorJSTypeBuilders.h
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
 )
 

Modified: trunk/Source/_javascript_Core/ChangeLog (171941 => 171942)


--- trunk/Source/_javascript_Core/ChangeLog	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-08-01 19:19:14 UTC (rev 171942)
@@ -1,3 +1,15 @@
+2014-08-01  Alex Christensen  <[email protected]>
+
+        Progress towards cmake on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=135484
+
+        Reviewed by Martin Robinson.
+
+        * CMakeLists.txt:
+        Generate code directly to inspector directory to avoid using the cp command
+        which is not available on Windows.
+        * PlatformWin.cmake: Added.
+
 2014-07-31  Andreas Kling  <[email protected]>
 
         Remove the JSC::OverridesVisitChildren flag.

Added: trunk/Source/_javascript_Core/PlatformWin.cmake (0 => 171942)


--- trunk/Source/_javascript_Core/PlatformWin.cmake	                        (rev 0)
+++ trunk/Source/_javascript_Core/PlatformWin.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -0,0 +1,25 @@
+list(APPEND _javascript_Core_SOURCES
+    API/JSStringRefBSTR.cpp
+    API/JSStringRefCF.cpp
+)
+
+if (WTF_PLATFORM_WIN_CAIRO)
+    list(APPEND _javascript_Core_LIBRARIES
+        CFLite
+    )
+else ()
+    list(APPEND _javascript_Core_LIBRARIES
+        CoreFoundation
+    )
+endif ()
+
+if (MSVC AND "${_javascript_Core_LIBRARY_TYPE}" MATCHES "SHARED")
+    get_property(WTF_LIBRARY_LOCATION TARGET WTF PROPERTY LOCATION)
+
+    add_custom_command(
+        OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/forwarded-exports.cpp
+        DEPENDS WTF
+        COMMAND ${PYTHON_EXECUTABLE} ${TOOLS_DIR}/Scripts/generate-win32-export-forwards ${WTF_LIBRARY_LOCATION} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/forwarded-exports.cpp
+        VERBATIM)
+    list(APPEND _javascript_Core_SOURCES ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/forwarded-exports.cpp)
+endif ()
\ No newline at end of file

Modified: trunk/Source/WTF/ChangeLog (171941 => 171942)


--- trunk/Source/WTF/ChangeLog	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/WTF/ChangeLog	2014-08-01 19:19:14 UTC (rev 171942)
@@ -1,3 +1,13 @@
+2014-07-31  Alex Christensen  <[email protected]>
+
+        Progress towards cmake on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=135484
+
+        Reviewed by Martin Robinson.
+
+        * wtf/CMakeLists.txt:
+        Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.
+
 2014-07-30  Andreas Kling  <[email protected]>
 
         PropertyName's internal string is always atomic.

Modified: trunk/Source/WTF/wtf/CMakeLists.txt (171941 => 171942)


--- trunk/Source/WTF/wtf/CMakeLists.txt	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/WTF/wtf/CMakeLists.txt	2014-08-01 19:19:14 UTC (rev 171942)
@@ -255,7 +255,7 @@
 
 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
 include_directories(${WTF_INCLUDE_DIRECTORIES})
-add_library(WTF STATIC ${WTF_HEADERS} ${WTF_SOURCES})
+add_library(WTF ${WTF_LIBRARY_TYPE} ${WTF_HEADERS} ${WTF_SOURCES})
 target_link_libraries(WTF ${WTF_LIBRARIES})
 set_target_properties(WTF PROPERTIES COMPILE_DEFINITIONS "BUILDING_WTF")
 set_target_properties(WTF PROPERTIES FOLDER "_javascript_Core")

Modified: trunk/Source/cmake/OptionsAppleWin.cmake (171941 => 171942)


--- trunk/Source/cmake/OptionsAppleWin.cmake	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/cmake/OptionsAppleWin.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -1,3 +1,6 @@
 include(OptionsWindows)
 
-set(PORT_FALLBACK Win)
+set(WTF_USE_CG 1)
+set(WTF_USE_CA 1)
+set(WTF_USE_CFNETWORK 1)
+set(WTF_USE_ICU_UNICODE 1)

Modified: trunk/Source/cmake/OptionsEfl.cmake (171941 => 171942)


--- trunk/Source/cmake/OptionsEfl.cmake	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/cmake/OptionsEfl.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -34,6 +34,7 @@
 add_definitions(-DWTF_USE_CAIRO=1)
 add_definitions(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1)
 
+set(WTF_LIBRARY_TYPE STATIC)
 set(WTF_OUTPUT_NAME wtf_efl)
 set(_javascript_Core_OUTPUT_NAME _javascript_core_efl)
 set(WebCore_OUTPUT_NAME webcore_efl)

Modified: trunk/Source/cmake/OptionsGTK.cmake (171941 => 171942)


--- trunk/Source/cmake/OptionsGTK.cmake	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/cmake/OptionsGTK.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -174,6 +174,7 @@
 set(WTF_USE_SOUP 1)
 set(WTF_USE_UDIS86 1)
 
+set(WTF_LIBRARY_TYPE STATIC)
 set(WTF_OUTPUT_NAME WTFGTK)
 set(_javascript_Core_OUTPUT_NAME _javascript_coregtk-${WEBKITGTK_API_VERSION})
 set(WebCore_OUTPUT_NAME WebCoreGTK)

Added: trunk/Source/cmake/OptionsMac.cmake (0 => 171942)


--- trunk/Source/cmake/OptionsMac.cmake	                        (rev 0)
+++ trunk/Source/cmake/OptionsMac.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -0,0 +1 @@
+

Modified: trunk/Source/cmake/OptionsWinCairo.cmake (171941 => 171942)


--- trunk/Source/cmake/OptionsWinCairo.cmake	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/cmake/OptionsWinCairo.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -1,3 +1,6 @@
 include(OptionsWindows)
 
-set(PORT_FALLBACK Win)
+set(WTF_PLATFORM_WIN_CAIRO 1)
+set(WTF_USE_CF 1)
+set(WTF_USE_CURL 1)
+set(WTF_USE_ICU_UNICODE 1)

Modified: trunk/Source/cmake/OptionsWindows.cmake (171941 => 171942)


--- trunk/Source/cmake/OptionsWindows.cmake	2014-08-01 19:08:59 UTC (rev 171941)
+++ trunk/Source/cmake/OptionsWindows.cmake	2014-08-01 19:19:14 UTC (rev 171942)
@@ -4,10 +4,14 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
 WEBKIT_OPTION_END()
 
+include_directories("$ENV{WEBKIT_LIBRARIES}/include")
+link_directories("$ENV{WEBKIT_LIBRARIES}/lib$(PlatformArchitecture)")
 if (MSVC)
-    add_definitions(/WX
-        /wd4018 /wd4065 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4275 /wd4288 /wd4291
-        /wd4305 /wd4344 /wd4355 /wd4389 /wd4396 /wd4503 /wd4505 /wd4510 /wd4512 /wd4610 /wd4706 /wd4800 /wd4951 /wd4952 /wd4996)
+    add_definitions(
+        /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288
+        /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4702
+        /wd4706 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387
+    )
 
     string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
     string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
@@ -17,3 +21,8 @@
         set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS}")
     endif ()
 endif ()
+
+set(PORT_FALLBACK Win)
+set(_javascript_Core_LIBRARY_TYPE SHARED)
+set(WTF_LIBRARY_TYPE SHARED)
+set(ICU_LIBRARIES libicuuc$(DebugSuffix) libicuin$(DebugSuffix))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to