Author Topic: PATCH: MSVC import and compiler flags  (Read 15145 times)

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
PATCH: MSVC import and compiler flags
« on: February 26, 2014, 05:23:21 pm »
hello all, I've recently fixed the project importer a bit to actually do what it's supposed to do.
for MSVC 10+ projects, it should now import them with almost all config values so that you can import and compile right away (without the need to set up anything manually)
This was previously not given as it basically only imported files but no flags at all (debug wasn't debug, UNICODE not defined, no optimizations, missing libs etc.)

Sadly this patch is quite huge and changed almost everything, and some might not be happy with it at all :P Since I've only updated the msvc10loader not the 7 one... (as I don't care about that one and have no projects to test with anyway)
So the importer for 10+ is quite different to the 7 one.. (you guys tried to keep it in sync...)

Here's a list of actual changes compared to before:
  • Import and understand every possible flag for the ability to compile right away. (not perfect, but works so far)
       such as: charset, obj dir, out dir, release/debug, lib name, optimization, runtime, warning level, disabled warnings, output file (also Console and StaticLibrary project types)
  • Not only add compiler/linker flags, also add pre/post compile commands
  • Ability to differentiate between global and target flags, also better parsing of values
  • Macro replacement improved, it now uses the actual Workspace path for $(SolutionDir) etc.
  • Adding some default shit for MSVC (libs, pdb file name etc.)
  • Actually being able to parse MSVC 12+ files
  • Small code cleanup, improvements and bug fixes


For msvc compiler flags:
  • changed /DEBUG to lowercase
  • I guess "check against "/NDEBUG"" should have been the define: "/DNDEBUG" (couldn't find /NDEBUG as an option and only know about NDEBUG as define)
  • added option "Name .pdb same as output file" (which is necessary since the pdb files will otherwise be named after the VC version)
  • added character set options such as UNICODE and deprecated MultiByte
  • added missing linker warning parsing (caused me once a lot of troubles) also allow exclamation marks in paths (I know it's normally not used, but I use them from time to time, and it doesn't hurt to properly allow it ;) They are valid characters after all)
  • added missing runtime library to known ones (static multi-threaded debug)

Also added exclamation marks (!) to global warning/error regexs
Code: patch
Index: options_common_re-gf.xml
===================================================================
--- options_common_re-gf.xml (revision 9661)
+++ options_common_re-gf.xml (working copy)
@@ -6,7 +6,7 @@
            msg="4"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Preprocessor error"
            type="error"
@@ -13,7 +13,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
     </RegEx>
     <RegEx name="Compiler warning"
            type="warning"
@@ -20,7 +20,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Compiler error (2)"
            type="error"
@@ -27,7 +27,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
     </RegEx>
     <RegEx name="Compiler error (3)"
            type="error"
@@ -38,7 +38,7 @@
            type="warning"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Linker error"
            type="error"
@@ -45,19 +45,19 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
     </RegEx>
     <RegEx name="Linker error (2)"
            type="error"
            msg="2"
            file="1">
-        <![CDATA[[][{}() \t#%$~[:alnum:]&_:+/\.-]+\(.text\+[0-9A-Za-z]+\):([ \tA-Za-z0-9_:+/\.-]+):[ \t](.*)]]>
+        <![CDATA[[][{}() \t#%$!~[:alnum:]&_:+/\.-]+\(.text\+[0-9A-Za-z]+\):([ \tA-Za-z0-9_:+/\.-]+):[ \t](.*)]]>
     </RegEx>
     <RegEx name="Linker error (3)"
            type="error"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):(.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):(.*)]]>
     </RegEx>
     <RegEx name="Linker error (lib not found)"
            type="error"
@@ -75,7 +75,7 @@
            type="error"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t](undefined reference.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):[ \t](undefined reference.*)]]>
     </RegEx>
     <RegEx name="General warning"
            type="warning"
Index: options_common_re.xml
===================================================================
--- options_common_re.xml (revision 9661)
+++ options_common_re.xml (working copy)
@@ -10,7 +10,7 @@
            type="info"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+([iI]n ([cC]lass|[cC]onstructor|[dD]estructor|[fF]unction|[mM]ember [fF]unction).*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):[ \t]+([iI]n ([cC]lass|[cC]onstructor|[dD]estructor|[fF]unction|[mM]ember [fF]unction).*)]]>
     </RegEx>
     <RegEx name="'Skipping N instantiation contexts' info (2)"
            type="info"
@@ -17,7 +17,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
     </RegEx>
     <RegEx name="'Skipping N instantiation contexts' info"
            type="info"
@@ -24,13 +24,13 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+(\[[ \t]+[Ss]kipping [0-9]+ instantiation contexts[ \t]+\])]]>
     </RegEx>
     <RegEx name="'In instantiation' warning"
            type="warning"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+([Ii]n [Ii]nstantiation.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):[ \t]+([Ii]n [Ii]nstantiation.*)]]>
     </RegEx>
     <RegEx name="'Required from' warning"
            type="warning"
@@ -37,7 +37,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Rr]equired from.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Rr]equired from.*)]]>
     </RegEx>
     <RegEx name="'Instantiated from' info (2)"
            type="info"
@@ -44,7 +44,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Ii]nstantiated from .*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]+([Ii]nstantiated from .*)]]>
     </RegEx>
     <RegEx name="'Instantiated from' info"
            type="info"
@@ -51,7 +51,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+([Ii]nstantiated from .*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]+([Ii]nstantiated from .*)]]>
     </RegEx>
     <RegEx name="Resource compiler error"
            type="error"
@@ -58,7 +58,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[windres.exe:[ \t]([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
+        <![CDATA[windres.exe:[ \t]([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
     </RegEx>
     <RegEx name="Resource compiler error (2)"
            type="error"
@@ -70,7 +70,7 @@
            msg="4"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Compiler note (2)"
            type="info"
@@ -77,7 +77,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Nn]ote:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Nn]ote:[ \t].*)]]>
     </RegEx>
     <RegEx name="Compiler note"
            type="info"
@@ -84,7 +84,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Nn]ote:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Nn]ote:[ \t].*)]]>
     </RegEx>
     <RegEx name="General note"
            type="info"
@@ -96,7 +96,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
     </RegEx>
     <RegEx name="Compiler warning (2)"
            type="warning"
@@ -103,7 +103,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Compiler warning"
            type="warning"
@@ -110,7 +110,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Undefined reference (2)"
            type="error"
@@ -117,7 +117,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[[][{}() \t#%$~[:alnum:]&_:+/\.-]+\.o:([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](undefined reference.*)]]>
+        <![CDATA[[][{}() \t#%$!~[:alnum:]&_:+/\.-]+\.o:([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](undefined reference.*)]]>
     </RegEx>
     <RegEx name="Compiler error (2)"
            type="error"
@@ -124,7 +124,7 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
     </RegEx>
     <RegEx name="Compiler error"
            type="error"
@@ -131,13 +131,13 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[ \t](.*)]]>
     </RegEx>
     <RegEx name="Linker warning"
            type="warning"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):[ \t]([Ww]arning:[ \t].*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):[ \t]([Ww]arning:[ \t].*)]]>
     </RegEx>
     <RegEx name="Linker error"
            type="error"
@@ -144,19 +144,19 @@
            msg="3"
            file="1"
            line="2">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):([0-9]+):[0-9]+:[ \t](.*)]]>
     </RegEx>
     <RegEx name="Linker error (2)"
            type="error"
            msg="2"
            file="1">
-        <![CDATA[[][{}() \t#%$~[:alnum:]&_:+/\.-]+\(.text\+[0-9A-Za-z]+\):([ \tA-Za-z0-9_:+/\.-]+):[ \t](.*)]]>
+        <![CDATA[[][{}() \t#%$!~[:alnum:]&_:+/\.-]+\(.text\+[0-9A-Za-z]+\):([ \tA-Za-z0-9_:+/\.-]+):[ \t](.*)]]>
     </RegEx>
     <RegEx name="Linker error (3)"
            type="error"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):(.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):\(\.text\+[0-9a-fA-FxX]+\):(.*)]]>
     </RegEx>
     <RegEx name="Linker error (lib not found)"
            type="error"
@@ -191,7 +191,7 @@
            type="error"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t](undefined reference.*)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):[ \t](undefined reference.*)]]>
     </RegEx>
     <RegEx name="General error"
            type="error"
@@ -212,6 +212,6 @@
            type="warning"
            msg="2"
            file="1">
-        <![CDATA[([][{}() \t#%$~[:alnum:]&_:+/\.-]+):[ \t]+(duplicate section.*has different size)]]>
+        <![CDATA[([][{}() \t#%$!~[:alnum:]&_:+/\.-]+):[ \t]+(duplicate section.*has different size)]]>
     </RegEx>
 </CodeBlocks_compiler_options>
(could only attach 2 attachments... so inline....)

PS: does anyone know how to case insensitively replace stuff? wxString.Replace doesn't seem to be able to... wxRegEx is able to, but I cannot use backslashes (\) in my "replace with" string... but in this case I need paths xD Bad to replace those backslashes with double backslash or slash prior to replace...
Those MSVC macros are not case sensitive.. so it's bad to have the projects importer to handle them that way only because wxWidgets sucks...
I wish they had adopted this 12 years old patch: http://trac.wxwidgets.org/ticket/5422
« Last Edit: February 26, 2014, 05:31:20 pm by White-Tiger »
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #1 on: October 12, 2017, 10:48:27 am »
@White-Tiger
would this patch still work today??

Because I follow many groups and they all of course use MS Visual Studios..
two of them use VS 2015 and the rest idk...


but installing VS is a mess.. because it auto steals ALL of my programming FILE TYPE associations
I had to redo them all.. meh...

plus the Project Importer  could maybe be updated to work with importing up to and including VS 2017
O-o  please.. O_o X_x hmm...
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
Re: PATCH: MSVC import and compiler flags
« Reply #2 on: October 12, 2017, 03:11:59 pm »
well... more or less it should... it's possible that I had to do some modifications as Code::Blocks changed code.
Though it's not entirely superior yet. IIRC I couldn't compile the full Miranda NG source base just by importing, still had to change one or two things.

Though, I'm currently not working on Miranda NG and thus my interest is quite low.. especially since there wasn't much feedback about it at all... I would like to complete Code::Blocks MSVC / VS support including an easy project import/export feature so that projects can provide GCC and MSVC / VS support, but that's quite some work. (in this regard, T-Clock also uses cross-IDE project files and sometimes I forget to keep them in sync... + I have to do so manually and on multiple files)

I suspect you won't be able to compile it yourself? I could upload you a nightly so you can try it out and compare the changes^^ Though it would also include lots of other changes like improved Doxygen parser and some reverted Code::Blocks commits.. (mainly the toggle comment handling + compiler output auto column size)
« Last Edit: October 12, 2017, 03:13:55 pm by White-Tiger »
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #3 on: October 12, 2017, 03:58:12 pm »
I have... MinGW (v4.8.1) Downgraded from v5.3.0 because it was causing the only other program I compile to crash  when it use to run fine..

I also have another folder of MinGW with the latest and greatest (v6.3.0).. yeah I did tha tupdate yesterday so I haven't used or tested at all..

idk.... I have a local repo of C::B and I have compiled before...

if you want.. I just haven't worked up the nerve to do the compel myself yet...
because I did a few simple mods to the project files.. to

replaced - <Variable name="WX_SUFFIX" value="u" />
with        - <Variable name="WX_SUFFIX" value="ud" />
for debugging version of Wx...
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: PATCH: MSVC import and compiler flags
« Reply #4 on: October 12, 2017, 08:27:43 pm »
@White-Tiger: These two patches are in my immediate todo list; If you update them to be compatible with current sources it will be a lot easier for me to apply them.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #5 on: October 12, 2017, 08:42:18 pm »
aside from what his two patches do...
adding in VS 2015 & 2017 would be great too... if even possible.. O_o ;)

if I could only do an ADMIN install (ie dump loose files) only works with msi installer files =/
I could u VS without installing it and messing up my system..



plus I started a new support ticket for this..
https://sourceforge.net/p/codeblocks/tickets/566/
« Last Edit: October 12, 2017, 08:47:13 pm by Melchior »
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
Re: PATCH: MSVC import and compiler flags
« Reply #6 on: October 13, 2017, 02:21:58 pm »
@White-Tiger: These two patches are in my immediate todo list; [...]
well.. in that case I'd like to recheck them and maybe split them up a bit... maybe even extend them by also trying to test newer MSVC versions. So it's in a proper state to work with.

[...]
I also have another folder of MinGW with the latest and greatest (v6.3.0).. [...]
I take this with a grain of salt... because I'm using GCC 7.2.0 xD
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #7 on: October 13, 2017, 04:41:11 pm »
[...]
I also have another folder of MinGW with the latest and greatest (v6.3.0).. [...]
I take this with a grain of salt... because I'm using GCC 7.2.0 xD

When I said latest and greatest... that as new as MinGW gas gotten so far...
He has not done a gcc v7 branch yet... :P ;)

plusat least of a few programs I might compile was failing on a newer version of MinGW.. for no apparent reason..
when it worked before..
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: PATCH: MSVC import and compiler flags
« Reply #8 on: October 13, 2017, 08:40:28 pm »
well.. in that case I'd like to recheck them and maybe split them up a bit... maybe even extend them by also trying to test newer MSVC versions. So it's in a proper state to work with.
This work would be appreciated...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
Re: PATCH: MSVC import and compiler flags
« Reply #9 on: October 13, 2017, 08:56:59 pm »
[...]
When I said latest and greatest... that as new as MinGW gas gotten so far...
He has not done a gcc v7 branch yet... :P ;)
[...]
Well... there are other compilations of GCC though... and I'm currently using those from MSYS2 as they're sometimes more up-to-date than those from MinGW-builds... Anyway, they're at least way easier to update :P

And sorry about the wait.. feel free to try it out and let me know if there's something missing... (the project in question is hopefully open source so I can try it myself if anything breaks. There's still stuff missing here and there)
Code::Blocks: https://www.dropbox.com/s/39blw666zh39fpl/CodeBlocks-11195.7z?dl=0
GCC 7.2.0 libs: https://www.dropbox.com/s/d354oorrncqcxqn/GCC-7.x-libs-32bit.7z?dl=0

Edit: it's possible that my local repository got messed up and almost nothing of my patch is actually there... have to look at it tomorrow. Dunno what my Git did xD (or I... Maybe I've messed up a previous conflict)
« Last Edit: October 13, 2017, 09:21:03 pm by White-Tiger »
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #10 on: October 13, 2017, 09:05:12 pm »
if you mean the one I linked
RPCS3 (PS3 Emulator)(Alpha State)
or
PCSX2 (PS2 Emulator)(stable)
yeah they are both on GitHub so yeah Open Source..
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
Re: PATCH: MSVC import and compiler flags
« Reply #11 on: October 13, 2017, 09:21:46 pm »
yeah... I've just looked into the issue you've posted^^
My build might be broken though... see my edit above...
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #12 on: October 13, 2017, 09:23:06 pm »
yeah... I've just looked into the issue you've posted^^
My build might be broken though... see my edit above...

ooh lol ;) :P ok I will try if it fails I will edit back...


FAILED.. XD
Quote
Importing F:\Dev-src\2Emulators\pcsx2-master\PCSX2_suite.sln:
Importing F:\Dev-src\2Emulators\pcsx2-master\pcsx2\windows\VCprojects\pcsx2.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\spu2-x\src\Windows\Spu2-X.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\GSdx\GSdx.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\soundtouch\SoundTouch.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\zlib\zlib.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\LilyPad\LilyPad.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\xpad\xpad.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\USBnull\Windows\USBnull.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\FWnull\Windows\FWnull.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\dev9null\Windows\DEV9null.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\common\build\x86emitter\x86emitter.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\common\build\Utilities\utilities.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\tools\bin2cpp\bin2c.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\libjpeg\libjpeg.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\cdvdGigaherz\src\Windows\cdvdGigaherz.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\portaudio\build\msvc\portaudio.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\USBqemu\Win32\USBqemu.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\plugins\dev9ghzdrk\Win32\DEV9ghzdrk.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\opencl\opencl.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\wxwidgets3.0\build\msw\wx30_config.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\wxwidgets3.0\build\msw\wx30_base.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\wxwidgets3.0\build\msw\wx30_adv.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\wxwidgets3.0\build\msw\wx30_core.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\libpng\projects\vstudio\libpng\libpng.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\pthreads4w\build\pthreads4w.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\unfree\baseclasses\baseclasses.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\freetype\builds\windows\freetype.vcxproj:
Importing F:\Dev-src\2Emulators\pcsx2-master\3rdparty\xz\liblzma.vcxproj:

Another issue is this test build didn't seem to load my settings... from the default locations in or otherwise.. not sure
C:\Users\UserProfile\AppData\Roaming\codeblocks
nvm I moved the default settings file from AppData a long time ago into the exe folder... so  I just needed to copy it...
still fails.. XD
« Last Edit: October 13, 2017, 09:39:26 pm by Melchior »
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)

Offline White-Tiger

  • Multiple posting newcomer
  • *
  • Posts: 83
Re: PATCH: MSVC import and compiler flags
« Reply #13 on: November 01, 2017, 06:15:00 pm »
@Melchior

well... I've got bad news. It's possible that your two projects are way too complex for proper support...
They're using a lot MSVC extensions and seem to be deeply integrated into QtCreator, so it might not really be possible to use them without Visual Studio.

Though, a major part that's currently missing is support for ImportGroup/Import directives. Adding those shouldn't be too complicated...
Anyway, Code::Block actually includes my patch already. It's been commited in r10717 on 1/28/2016 by mortenmacfly.

I might work on adding more support, especially for import directives (which I'm using in one of my projects as well) and full "Condition" support but that'll require quite some rewrites... more than I did in my previous patch.

What exactly do you want to achieve with Code::Blocks and those projects you're trying to import?
Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

Offline Melchior

  • Multiple posting newcomer
  • *
  • Posts: 64
  • Sage of Life, Reason, and Time
Re: PATCH: MSVC import and compiler flags
« Reply #14 on: November 01, 2017, 07:12:59 pm »
hopefully to compile those VS/VC++ projects..

but at the very least just getting C::B up to date so it can import newer VS stuff.
if its not possible oh well that is why they have build bots lol ;) :P
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core  RAM: 32GB
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB  --  GFX Drivers: Nvidia v431.60
OS: Windows 7 Ultimate 64-bit SP1 (x64)