Content originally posted in LPCWare by cyberstudio on Tue Mar 25 10:26:05 MST 2014
Your help is very much appreciated!
I unchecked every checkbox in both the top level Project References and also the ones under Paths and Symbols. Now do a headless build. Of course there were failures because without the references the projects were built in the wrong order.
Then, I checked the checkboxes under Paths and Symbols and build again. After the build, the top level Project References are automatically checked, too.
I am now in a limbo. Like I explained in my original question why I didn't want to use the top level project references, I have many configurations for each project but unfortunately the top level "project references" feature only reference the active configuration.
Consider project A with config X and Y, and project B with config X and Y, and project A depends on project B. Let's say the active configuration of B is Y and the active configuration A is X. When I build project A, it builds configuration Y of project B, which is pointless and wrong. If X=Release and Y=Debug, then you could see how pointless it is to build project B's Debug configuration first. Project A's Release configuration can't even find the binary from Project B's Release configuration, which wasn't built at all.
The deep "Path and Symbols" references allowed me to precisely specify which configuration was depended upon, but the top level Project References were insistent on coming back in with its pointless behaviour.
If the behvaiour of the top level project references makes any sense, I would be more than happy to use it instead of the one in Paths and Symbols. Unfortunately what the top level project references do doesn't make any sense.
I was asking 2 questions actually, sorry if that confused you. So let's say the answer to my first question which was how to turn off automatic project references, and the answer was to not use Path and Symbols. Okay that's fine. Now to my second question, how do we make the top level Project References build the same configuration instead of whatever the active configuration happens to be? How about that one? Thanks.