[GTK][CMAKE] Too verbose build output
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Mar 2014 15:48:13 +0000 (15:48 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Mar 2014 15:48:13 +0000 (15:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=130076

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsGTK.cmake: Generate a script which does the actual build. This
works around an issue where cmake --build doesn't support ninja's pretty printing.

Tools:

Instead of building with cmake --build which isn't smart about pretty printing and
colors, we build with a script which calls the proper build command.

* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject): For GTK+ call the script that we generate during
the CMake configuration pass.

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

ChangeLog
Source/cmake/OptionsGTK.cmake
Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

index bcd3299..565ee75 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2014-03-12  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK][CMAKE] Too verbose build output
+        https://bugs.webkit.org/show_bug.cgi?id=130076
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Source/cmake/OptionsGTK.cmake: Generate a script which does the actual build. This
+        works around an issue where cmake --build doesn't support ninja's pretty printing.
+
 2014-03-10  Mario Sanchez Prada  <mario.prada@samsung.com>
 
         [GTK] Add support for Geoclue2
index f239965..a6974e1 100644 (file)
@@ -299,3 +299,13 @@ macro(ADD_WHOLE_ARCHIVE_TO_LIBRARIES _list_name)
     endforeach ()
     set(${_list_name} "${${_list_name}_TMP}")
 endmacro()
+
+build_command(COMMAND_LINE_TO_BUILD)
+file(WRITE
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build.sh
+    "#!/bin/sh\n"
+    "${COMMAND_LINE_TO_BUILD} $@"
+)
+file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build.sh
+  DESTINATION ${CMAKE_BINARY_DIR}
+  FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)
index 2983237..f338a4b 100644 (file)
@@ -1,3 +1,17 @@
+2014-03-12  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK][CMAKE] Too verbose build output
+        https://bugs.webkit.org/show_bug.cgi?id=130076
+
+        Reviewed by Carlos Garcia Campos.
+
+        Instead of building with cmake --build which isn't smart about pretty printing and
+        colors, we build with a script which calls the proper build command.
+
+        * Scripts/webkitdirs.pm:
+        (buildCMakeGeneratedProject): For GTK+ call the script that we generate during
+        the CMake configuration pass.
+
 2014-03-11  Martin Robinson  <mrobinson@igalia.com>
 
         [CMake] Newer versions of CMake cannot find older versions of Freetype
index ce37f5d..a9b17ac 100755 (executable)
@@ -2046,13 +2046,23 @@ sub buildCMakeGeneratedProject($)
     if (! -d $buildPath) {
         die "Must call generateBuildSystemFromCMakeProject() before building CMake project.";
     }
+
+    my $command = "cmake";
     my @args = ("--build", $buildPath, "--config", $config);
     push @args, ("--", $makeArgs) if $makeArgs;
 
+    # GTK uses a build script to preserve colors and pretty-printing.
+    if (isGtk()) {
+        chdir "$buildPath" or die;
+        $command = "$buildPath/build.sh";
+        @args = ($makeArgs);
+    }
+
     # We call system("cmake @args") instead of system("cmake", @args) so that @args is
     # parsed for shell metacharacters. In particular, $makeArgs may contain such metacharacters.
     my $wrapper = join(" ", jhbuildWrapperPrefixIfNeeded()) . " ";
-    return system($wrapper . "cmake @args");
+    return system($wrapper . "$command @args");
+
 }
 
 sub cleanCMakeGeneratedProject()