C::B already support many kinds of Visual studio compilers, I intent to close this tickets because there are many kind of question and answers on how to use Visual C++ compilers, did you set them correctly?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My guess would be the lacking projects importer as it isn't even close to import .vcxproj files properly (or .sln files as you won't be able to compile out of the box, nor are the options close to the ones VS or MSBuild would use, so C::B is pretty much useless here)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
to tell the truth, that's actually a modified version of my patch xD
I didn't think you guys actually keep track on these patches.. as they're quite old by now
Though I've made some improvements in the mean while and will likely have to rewrite it as my previous "rewrite" might be lacking major features. For example the "Condition" attribute only really supports stuff like Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" even though it could be a more complex condition with && and ||
This means that even my patch doesn't support some .vcxproj files I use myself (yet also VS might have a hard time manipulating them as they're hand made)
Also I'm sorry that my patch didn't follow Code::Blocks coding style... it isn't even following my latest coding style xD (at that time, code with spaces was harder to read for me.. now I'm growing old and code without spaces is harder to read...)
So I could offer to hack into it further and update it to support the stuff I currently know about .vcxproj files. Which will actually require to parse the Import tags and maybe also to parse the system's default import files so Code::Blocks can use the correct defaults and not just some "guessed" ones (in case it finds them, otherwise it'll use the known/guessed defaults so it'll still work without MSVC)
And by "system's default import files" I mean those .props in C:\Program Files\MSBuild\Microsoft.Cpp\v4.0
-
Another thing on my wishlist for CB is a projects exporter.. so people can really work with .vcxproj files out of the box (as to support the freedom of choice which IDE to use... while others might still use Visual Studio)
But that one is again rather complicated.. as it must try to keep the previous project file intact (as VS does even if the syntax is a bit different) and only change those changed values without messing up with all the conditions... Not sure why Microsoft created such an overcomplicated project file format...
Last edit: White-Tiger 2015-11-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Such as? It isn't very clear what you want :P Especially since you're always writing "Visual Studio"
Yet Code::Blocks currently only detects Microsoft Visual C++ 2010 out of the box. There's no default detection for 2012, 2013 or 2015 (though one could easily change it to be "universal" by looping over some year numbers xD For example)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for the comments.
My guess would be to add just Visual Studio 2012 (Microsoft Visual C++) detection to be a little more up to date but have not too many features.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
C::B already support many kinds of Visual studio compilers, I intent to close this tickets because there are many kind of question and answers on how to use Visual C++ compilers, did you set them correctly?
No answer and works for me just fine - Closing.
My guess would be the lacking projects importer as it isn't even close to import .vcxproj files properly (or .sln files as you won't be able to compile out of the box, nor are the options close to the ones VS or MSBuild would use, so C::B is pretty much useless here)
Diff:
You can try with the patch attached. Report back if it is working better or not. I just didn't find the time to fully test this.
to tell the truth, that's actually a modified version of my patch xD
I didn't think you guys actually keep track on these patches.. as they're quite old by now
Though I've made some improvements in the mean while and will likely have to rewrite it as my previous "rewrite" might be lacking major features. For example the "Condition" attribute only really supports stuff like
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
even though it could be a more complex condition with&&
and||
This means that even my patch doesn't support some .vcxproj files I use myself (yet also VS might have a hard time manipulating them as they're hand made)
Also I'm sorry that my patch didn't follow Code::Blocks coding style... it isn't even following my latest coding style xD (at that time, code with spaces was harder to read for me.. now I'm growing old and code without spaces is harder to read...)
So I could offer to hack into it further and update it to support the stuff I currently know about .vcxproj files. Which will actually require to parse the
Import
tags and maybe also to parse the system's default import files so Code::Blocks can use the correct defaults and not just some "guessed" ones (in case it finds them, otherwise it'll use the known/guessed defaults so it'll still work without MSVC)And by "system's default import files" I mean those .props in C:\Program Files\MSBuild\Microsoft.Cpp\v4.0
-
Another thing on my wishlist for CB is a projects exporter.. so people can really work with .vcxproj files out of the box (as to support the freedom of choice which IDE to use... while others might still use Visual Studio)
But that one is again rather complicated.. as it must try to keep the previous project file intact (as VS does even if the syntax is a bit different) and only change those changed values without messing up with all the conditions... Not sure why Microsoft created such an overcomplicated project file format...
Last edit: White-Tiger 2015-11-18
Helpful might be as well just predefined properties for Visual Studio 2012 in the compiler settings.
Such as? It isn't very clear what you want :P Especially since you're always writing "Visual Studio"
Yet Code::Blocks currently only detects Microsoft Visual C++ 2010 out of the box. There's no default detection for 2012, 2013 or 2015 (though one could easily change it to be "universal" by looping over some year numbers xD For example)
Thanks for the comments.
My guess would be to add just Visual Studio 2012 (Microsoft Visual C++) detection to be a little more up to date but have not too many features.