[GTK] [CMake] build-webkit-options.txt is not generated during a fresh build
authorberto@igalia.com <berto@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Mar 2014 13:44:28 +0000 (13:44 +0000)
committerberto@igalia.com <berto@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Mar 2014 13:44:28 +0000 (13:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=130388

Reviewed by Sergio Villar Senin.

* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): make sure that the build directory
exists before attempting to create a file in it.

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

Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

index 180dcc1..faee981 100644 (file)
@@ -1,3 +1,14 @@
+2014-03-18  Alberto Garcia  <berto@igalia.com>
+
+        [GTK] [CMake] build-webkit-options.txt is not generated during a fresh build
+        https://bugs.webkit.org/show_bug.cgi?id=130388
+
+        Reviewed by Sergio Villar Senin.
+
+        * Scripts/webkitdirs.pm:
+        (shouldRemoveCMakeCache): make sure that the build directory
+        exists before attempting to create a file in it.
+
 2014-03-18  Robert Plociennik  <r.plociennik@samsung.com>
 
         [EFL] fontconfig-2.8.0 is not compliant with C++11 leading to a build break
index eecc6e8..2875456 100755 (executable)
@@ -1933,9 +1933,11 @@ sub shouldRemoveCMakeCache(@)
     }
 
     # We check this first, because we always want to create this file for a fresh build.
-    my $optionsCache = File::Spec->catdir(baseProductDir(), configuration(), "build-webkit-options.txt");
+    my $productDir = File::Spec->catdir(baseProductDir(), configuration());
+    my $optionsCache = File::Spec->catdir($productDir, "build-webkit-options.txt");
     my $joinedBuildArgs = join(" ", @buildArgs);
     if (isCachedArgumentfileOutOfDate($optionsCache, $joinedBuildArgs)) {
+        File::Path::mkpath($productDir) unless -d $productDir;
         open(CACHED_ARGUMENTS, ">", $optionsCache);
         print CACHED_ARGUMENTS $joinedBuildArgs;
         close(CACHED_ARGUMENTS);