Community
Participate
Working Groups
Build ID: I20090522-1710 Steps To Reproduce: 1. Create a C/C++ project (debug configuration is set to active configuration by default). 2. Set the release configuration to be active configuration. 3. Delete the project from Workspace (do not delete project contents on disk). 4. Import project back into workspace 5. Check configurations and find active configuration is set to the Debug configuration instead of the Release configuration. More information:
*** Bug 349903 has been marked as a duplicate of this bug. ***
There is some discussion about that in bug 340219 comment 5 and below. There are good points in there to count "active configuration" to be user preference rather than essential property of a project, and not to be considered during project migration. In particular, it triggers source control to create a new revision of project settings as developers switch active configuration while testing. What are the arguments in favor of storing this attribute with the project other than it might be expected by some users?
From our experience, this is clearly not a critical issue, but it can lead to some confusion with new CDT users, pretty not aware of how it works... Use case: * users A & B want to share a project (e.g. in SCM) * user A creates it, works on a given build config (e.g. the "Debug" one), and leaves one or more unchanged (e.g. the "Release" one) * when newbie user B imports the project, (and even each time a developer will want to setup his development environment, by re-fetching the project from the SCM), it will firstly find a project which doesn't build (because the active build configuration may be Release instead of Debug). I agree that tuning the project to avoid this is not complicated. Actually it's just a matter of "ease of use".
I think there should be a way to define which configuration is the initial active one (Default?) when the project is first opened and that could be persisted in the project. That would set the initial user preference and only the preference would be used after that.