Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development
Alpha's Project exporter - added "working" CMAKE POC
Miguel Gimenez:
I made some changes to the Alpha's part addressing my findings, and was planning to make a PR in your Github on Saturday (I have never created one).
You have moved the code, how can I send patches or PR now?
AndrewCot:
Miguel,
For the time being do not worry about which repo or branch to apply the PR to as I can manually make the changes at worst case and make sure they get applied. I remember my first PR was a complete disaster (it a number of updates to get only the files I wanted in the PR and then a few more to get the version I wanted and then it was not on the right branch etc etc), so you should do allot better than me. If you do the PR today/tonight your time even if it is not finished it will help me tomorrow as I will be working on the updates/fixes then. I have finished doing anything more for today.
Eventually you should/will need to clone/fork the https://github.com/acotty/codeblocks_sfmirror/tree/ProjectExporter branch as it will allow you to compare the changes against the SF source to see what has changed to get the plugin building for the different builds.
Since my last post I have checked that the Debian build completes and produces the DEB files, but unfortunately I cannot check the resulting files as they will overwrite my currently install C::B and I do not want to do this at this point in time.
Miguel Gimenez:
These are the files I have changed, basically they remove the crash (I do not know why you did not get it...), take care of translations and unify the logging (removing duplicated messages).
Your CBP file using variables is the way to go, but meanwhile I have created two MSW projects similar to the rest.
AndrewCot:
Miguel, Thanks for the zip file. So you have a way of making formatting changes that you have done (exclude the wxt _ etc changes) without manually making the changes? If you do can you let me know how you do it and the config files so I can ensure that the source code is the same.
I have made more CMake fixes/updates/enhancements and the resulting CMake ouput from the CodeBlocks_Windows.cbp I use is shown below. The updated code now outputs a top level CMakeLists.txt file that now references the target's in the CBP file. It still has a way to go, but it is progressing in the right direction.
--- Code: ---andrew@DESKTOP-5700G MINGW64 /D/Andrew_Development/Z_Testing_Apps/CB_SRC/build
$ cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Andrew_Development/Z_Testing_Apps/CB_SRC/build
andrew@DESKTOP-5700G MINGW64 /D/Andrew_Development/Z_Testing_Apps/CB_SRC/build
$ cmake ..
-- Building for: Ninja
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Andrew_Development/Z_Testing_Apps/CB_SRC/build
andrew@DESKTOP-5700G MINGW64 /D/Andrew_Development/Z_Testing_Apps/CB_SRC/build
$ cmake --build .
[1/470] Building CXX object base/tinyxml/CMakeFiles/tinyXML.dir/tinystr.cpp.obj
[2/470] Building CXX object base/tinyxml/CMakeFiles/tinyXML.dir/tinyxmlerror.cpp.obj
[3/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdaux.cpp.obj
[4/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdsystem.cpp.obj
[5/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdio.cpp.obj
[6/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdstring.cpp.obj
[7/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdrex.cpp.obj
[8/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdblob.cpp.obj
[9/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdstream.cpp.obj
[10/470] Building CXX object base/tinyxml/CMakeFiles/tinyXML.dir/tinyxmlparser.cpp.obj
[11/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqmem.cpp.obj
[12/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqdebug.cpp.obj
[13/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqclass.cpp.obj
[14/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/__/sqstdlib/sqstdmath.cpp.obj
[15/470] Building CXX object base/tinyxml/CMakeFiles/tinyXML.dir/tinyxml.cpp.obj
[16/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqtable.cpp.obj
[17/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqbaselib.cpp.obj
[18/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqlexer.cpp.obj
[19/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqfuncstate.cpp.obj
[20/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexA68k.cxx.obj
[21/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqapi.cpp.obj
[22/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqstate.cpp.obj
[23/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAPDL.cxx.obj
[24/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqcompiler.cpp.obj
[25/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexASY.cxx.obj
[26/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqobject.cpp.obj
[27/470] Building CXX object base/tinyxml2/CMakeFiles/tinyXML2.dir/tinyxml2.cpp.obj
[28/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAVE.cxx.obj
[29/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAU3.cxx.obj
[30/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAVS.cxx.obj
[31/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAbaqus.cxx.obj
[32/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAsn1.cxx.obj
[33/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBatch.cxx.obj
[34/470] Linking CXX static library base\tinyxml\libtinyXML.a
[35/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBullant.cxx.obj
[36/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBash.cxx.obj
[37/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCOBOL.cxx.obj
[38/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCLW.cxx.obj
[39/470] Linking CXX static library base\tinyxml2\libtinyXML2.a
[40/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCSS.cxx.obj
[41/470] Building CXX object sdk/scripting/squirrel/CMakeFiles/Squirrel.dir/sqvm.cpp.obj
[42/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCaml.cxx.obj
[43/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAda.cxx.obj
[44/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCmake.cxx.obj
[45/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexConf.cxx.obj
[46/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCrontab.cxx.obj
[47/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCoffeeScript.cxx.obj
[48/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCsound.cxx.obj
[49/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBibTeX.cxx.obj
[50/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexDMIS.cxx.obj
[51/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexDMAP.cxx.obj
[52/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexDiff.cxx.obj
[53/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexAsm.cxx.obj
[54/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBasic.cxx.obj
[55/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexEDIFACT.cxx.obj
[56/470] Building CXX object build_tools/autorevision/CMakeFiles/AutoRevision.dir/autorevision.cpp.obj
[57/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexEScript.cxx.obj
[58/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexEiffel.cxx.obj
[59/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexBaan.cxx.obj
[60/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexForth.cxx.obj
[61/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexErrorList.cxx.obj
[62/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexFlagship.cxx.obj
[63/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexErlang.cxx.obj
[64/470] Linking CXX static library sdk\scripting\squirrel\libSquirrel.a
[65/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexGAP.cxx.obj
[66/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexGui4Cli.cxx.obj
[67/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexFortran.cxx.obj
[68/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexIndent.cxx.obj
[69/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexInno.cxx.obj
[70/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexHex.cxx.obj
[71/470] Building CXX object tools/ConsoleRunner/CMakeFiles/ConsoleRunner.dir/main.cpp.obj
[72/470] Linking CXX executable build_tools\autorevision\AutoRevision.exe
FAILED: build_tools/autorevision/AutoRevision.exe
cmd.exe /C "cd . && C:\msys64\mingw64\bin\c++.exe -Wall -std=gnu++17 -m64 -g -O0 -ggdb -pipe -fmessage-length=0 -fexceptions -Winvalid-pch -s -m64 build_tools/autorevision/CMakeFiles/AutoRevision.dir/autorevision.cpp.obj -o build_tools\autorevision\AutoRevision.exe -Wl,--out-implib,build_tools\autorevision\libAutoRevision.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LD:/Andrew_Development/Libraries/wxWidgets-3.2.0_win64/lib/gcc_dll -LD:/Andrew_Development/Z_Testing_Apps/CB_SRC/devel32_64 -lwxmsw32u -ltxml -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ltxml: No such file or directory
collect2.exe: error: ld returned 1 exit status
[73/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexKix.cxx.obj
[74/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexKVIrc.cxx.obj
[75/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexECL.cxx.obj
[76/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexLisp.cxx.obj
[77/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexD.cxx.obj
[78/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexLout.cxx.obj
[79/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexHTML.cxx.obj
[80/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexMMIXAL.cxx.obj
[81/470] Linking CXX executable tools\ConsoleRunner\ConsoleRunner.exe
[82/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexLua.cxx.obj
[83/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexLaTeX.cxx.obj
[84/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexMPT.cxx.obj
[85/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexHaskell.cxx.obj
[86/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexJSON.cxx.obj
[87/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/scintilla/lexers/LexCPP.cxx.obj
[88/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/ScintillaWX.cpp.obj
[89/470] Building CXX object sdk/wxscintilla/src/CMakeFiles/scintilla.dir/PlatWX.cpp.obj
ninja: build stopped: subcommand failed.
--- End code ---
The updated source is in the repo's.
I have updated the /src/plugins/contrib/ProjectExporter/Readme_Project_Exporter.md file to include all of the info and issues I could find along with a table for testing once it gets further down th road.
Miguel Gimenez:
These are the changes I made. Apart from fixing the event handlers, I added some _() (did not remove wxT) and fixed "RunExportCMake started completed" removing the "started"
EDIT: also fixed the Log entries for Premake, moving them to ProjectExporter.cpp and removing the duplicated call to Log().
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version