I am getting crashes in all RunExposrtXXX() methods, even if I comment the inner code.
The problem is wxMenuItems generate wxEVT_MENU events, not wxEVT_COMMAND_TOOL_CLICKED, and the connected method receives a reference to wxCommandEvent.
Connect(ID_Menu_AutotoolsExport, wxEVT_MENU, (wxObjectEventFunction)&ProjectExporter::RunExportAutotools);
...
void ProjectExporter::RunExportAutotools(wxCommandEvent& event)
(repeat for all methods)
Using a small project, for autotools I get:
AM_OPTIONS_WXCONFIG
AM_PATH_WXCONFIG(3.1.0, wxWin=1)
if test "$wxWin" != 1; then
AC_MSG_ERROR([
wxWidgets must be installed on your system.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' or 'wx-config --static --libs' command)
is in LD_LIBRARY_PATH or equivalent variable and
wxWindows version is 3.1.0 or above.
])
fi
Autotools build system created
For Bakefile I get 4 identical asserts:
arrstr(558) iIndex != -1 failed in Remove()
and then a .bkl file is created in the project's home page (but there should be an informative message).
EDIT: this asserts are generated in EmitFlags(), calling wxArrayString::Remove() asserts if the string does not exist.
Premake shows two messages:
Premake script exported
Premake script exported
and a .lua file is created in the project's home page (but there should be an informative message).
CMake shows this:
RunExportCMake started
RunExportCMake started completed
but does not create anything.
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.
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.
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.