Switch WinCairo build to use CMake.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Jul 2015 18:14:40 +0000 (18:14 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Jul 2015 18:14:40 +0000 (18:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=147169

Reviewed by Brent Fulgham.

* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(determineConfiguration):
(determineArchitecture):
(determinePassedConfiguration):
(passedConfiguration):
(jhbuildWrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
It's CMake time!  We now use the CMake files to generate a solution in WebKitBuild/Release/WebKit.sln and build that.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/build-webkit
Tools/Scripts/webkitdirs.pm

index 6b51abc..11141a1 100644 (file)
@@ -1,5 +1,22 @@
 2015-07-22  Alex Christensen  <achristensen@webkit.org>
 
+        Switch WinCairo build to use CMake.
+        https://bugs.webkit.org/show_bug.cgi?id=147169
+
+        Reviewed by Brent Fulgham.
+
+        * Scripts/build-webkit:
+        * Scripts/webkitdirs.pm:
+        (determineConfiguration):
+        (determineArchitecture):
+        (determinePassedConfiguration):
+        (passedConfiguration):
+        (jhbuildWrapperPrefixIfNeeded):
+        (generateBuildSystemFromCMakeProject):
+        It's CMake time!  We now use the CMake files to generate a solution in WebKitBuild/Release/WebKit.sln and build that.
+
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
         Fix quirks in CMake build on Mac and Windows
         https://bugs.webkit.org/show_bug.cgi?id=147174
 
index 64d5efc..d5c49b5 100755 (executable)
@@ -258,16 +258,20 @@ for my $dir (@projects) {
         }
         $result = buildXCodeProject($projectPath, $clean, @local_options, @ARGV);
     } elsif (isAppleWinWebKit() || isWinCairo()) {
-        if ($project eq "WebKit") {
+        if (isWinCairo()) {
+            chdirWebKit();
+            generateBuildSystemFromCMakeProject("WinCairo");
+            $result = buildVisualStudioProject("WebKitBuild/" . configuration() . "/WebKit.sln", $clean);
+        } else {
             my $webkitSolutionPath = "WebKit.vcxproj/WebKit.sln";
             $result = buildVisualStudioProject($webkitSolutionPath, $clean);
+        }
+        if (usingVisualStudioExpress()) {
+            # Visual Studio Express is so lame it can't stdout build failures.
+            # So we find its logs and dump them to the console ourselves.
             my $vsConfiguration = configuration();
-            if (usingVisualStudioExpress()) {
-                # Visual Studio Express is so lame it can't stdout build failures.
-                # So we find its logs and dump them to the console ourselves.
-                open(my $OUTPUT_HANDLE, '<', "$baseProductDir/$vsConfiguration/BuildOutput.htm") or die "Could not open build log file at $baseProductDir/$vsConfiguration/BuildOutput.htm";
-                print while (<$OUTPUT_HANDLE>);
-            }
+            open(my $OUTPUT_HANDLE, '<', "$baseProductDir/$vsConfiguration/BuildOutput.htm") or die "Could not open build log file at $baseProductDir/$vsConfiguration/BuildOutput.htm";
+            print while (<$OUTPUT_HANDLE>);
         }
     }
     # Various build* calls above may change the CWD.
index c46de90..971a0c4 100755 (executable)
@@ -292,12 +292,6 @@ sub determineConfiguration
     } else {
         $configuration = "Release";
     }
-
-    if ($configuration && isWinCairo()) {
-        unless ($configuration =~ /_WinCairo$/) {
-            $configuration .= "_WinCairo";
-        }
-    }
 }
 
 sub determineArchitecture
@@ -715,8 +709,6 @@ sub determinePassedConfiguration
     } elsif (checkForArgumentAndRemoveFromARGV("--profile") || checkForArgumentAndRemoveFromARGV("--profiling")) {
         $passedConfiguration = "Profiling";
     }
-
-    $passedConfiguration .= "_WinCairo" if (defined($passedConfiguration) && isWinCairo());
 }
 
 sub passedConfiguration
@@ -1725,6 +1717,9 @@ sub isCachedArgumentfileOutOfDate($@)
 
 sub jhbuildWrapperPrefixIfNeeded()
 {
+    if (isWindows()) {
+        return ();
+    }
     if (-e getJhbuildPath()) {
         my @prefix = (File::Spec->catfile(sourceDir(), "Tools", "jhbuild", "jhbuild-wrapper"));
         if (isEfl()) {
@@ -1863,7 +1858,7 @@ sub generateBuildSystemFromCMakeProject
     # Compiler options to keep floating point values consistent
     # between 32-bit and 64-bit architectures.
     determineArchitecture();
-    if ($architecture ne "x86_64" && !isARM() && !isCrossCompilation()) {
+    if ($architecture ne "x86_64" && !isARM() && !isCrossCompilation() && !isWindows()) {
         $ENV{'CXXFLAGS'} = "-march=pentium4 -msse2 -mfpmath=sse " . ($ENV{'CXXFLAGS'} || "");
     }