scripts: Scan CWD in object tracker generator.
authorJamie Madill <jmadill@chromium.org>
Wed, 20 Dec 2017 19:45:11 +0000 (14:45 -0500)
committerTobin Ehlis <tobine@google.com>
Thu, 21 Dec 2017 16:20:17 +0000 (09:20 -0700)
This makes it more easy to locate a header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.

Also reset the CWD after the header is found to keep the build intact.

This is similar to the change to the parameter validation generator.

scripts/object_tracker_generator.py

index 9bcfb8b..e9109e5 100644 (file)
@@ -238,6 +238,9 @@ class ObjectTrackerOutputGenerator(OutputGenerator):
         self.valid_vuids = set()       # Set of all valid VUIDs
         self.vuid_file = None
         # Cover cases where file is built from scripts directory, Lin/Win, or Android build structure
+        # Set cwd to the script directory to more easily locate the header.
+        previous_dir = os.getcwd()
+        os.chdir(os.path.dirname(sys.argv[0]))
         vuid_filename_locations = [
             './vk_validation_error_messages.h',
             '../layers/vk_validation_error_messages.h',
@@ -251,6 +254,7 @@ class ObjectTrackerOutputGenerator(OutputGenerator):
         if self.vuid_file == None:
             print("Error: Could not find vk_validation_error_messages.h")
             sys.exit(1)
+        os.chdir(previous_dir)
     #
     # Check if the parameter passed in is optional
     def paramIsOptional(self, param):