premake / premake/premake-core
PR 829 broke the ability to edit generated vcxproj files in Visual Studio
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 3.6k
- Forks
- 654
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 13
Description
Brought this issue over from the forums since that is apparently dead.
I'm trying to understand why this change was made?
Old premake prior to this change:
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/ZW /EHsc %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/ZW /EHsc %(AdditionalOptions)</AdditionalOptions>
New premake
<AdditionalOptions>/ZW /EHsc %(AdditionalOptions)</AdditionalOptions>
(Assuming that there are only Debug and Release configurations)
Although visual studio can certainly build with settings made this way (with reduced Conditional configurations), the IDE does not know how to actually EDIT these settings.
I know, your question would be - "you're using a project generation took like premake, so why would you need to edit the settings in Visual Studio"? Well, one off changes to experiment before going into premake to hard bake something are a normal part of operation. We always aim for full compatibility with Visual Studio.
In the forums, Tom mentioned that this was done for using premake "at scale". Is this a filesize optimization? Can someone explain the logic behind this change? The PR mentions nothing about any of this.
I would like to see an option added to "maintain read/write compatibility". Specifically, it should be possible to have premake generate a project file that will not get modified by the target environment on load (and immediately require a save), and will allow full compatibility with that target environment.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing PR 829 and comparing the old and new generated vcxproj snippets in Visual Studio. Determine how an option could preserve read/write compatibility without the target environment modifying the project on load. Done means generated projects remain editable in Visual Studio and support the requested compatibility behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- xml
- Domain
- build-system, developer-experience
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100