Skip to content

Commit

Permalink
Fix compile_commands.json output location when generator_output is No…
Browse files Browse the repository at this point in the history
…ne (#239)

* Fix compile_commands.json output location when generator_output is None

Followup to #238

* Fix lint

* Update pylib/gyp/generator/compile_commands_json.py

Co-authored-by: Christian Clauss <[email protected]>

* Update pylib/gyp/generator/compile_commands_json.py

Co-authored-by: Christian Clauss <[email protected]>

---------

Co-authored-by: Christian Clauss <[email protected]>
  • Loading branch information
segevfiner and cclauss authored Apr 2, 2024
1 parent de0e1c9 commit daf8fa0
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions pylib/gyp/generator/compile_commands_json.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,14 @@ def GenerateOutput(target_list, target_dicts, data, params):
cwd = os.path.dirname(build_file)
AddCommandsForTarget(cwd, target, params, per_config_commands)

output_dir = None
try:
# generator_output can be `None` on Windows machines
output_dir = params["options"].generator_output or os.getcwd()
except (AttributeError, KeyError):
output_dir = params["generator_flags"].get("output_dir", "out")
# generator_output can be `None` on Windows machines, or even not
# defined in other cases
output_dir = params.get("options").generator_output
except AttributeError:
pass
output_dir = output_dir or params["generator_flags"].get("output_dir", "out")
for configuration_name, commands in per_config_commands.items():
filename = os.path.join(output_dir, configuration_name, "compile_commands.json")
gyp.common.EnsureDirExists(filename)
Expand Down

0 comments on commit daf8fa0

Please sign in to comment.