Quick Init for CODE::BLOCKS IDE.
Posted 05-19-2015 at 07:16 PM by rainbowsally
Updated 05-20-2015 at 11:07 AM by rainbowsally (possible memory leak fixed)
Updated 05-20-2015 at 11:07 AM by rainbowsally (possible memory leak fixed)
[Revised May 20, 2015. Deleted "outfile" string list at end of main(), fixed bug in 'srcdir=<dir>' automatic files loader]
Note: Currently still testing. Likely to add switches to include target options, such as the output from wx-config --cflags, pkg-config <blah> --libs, and so forth.
Today's amazing feat of Computer Mad Science is the creation of a commandline utility that will quickly create a relocatable codeblocks project file right where you want it, right when you need it.
Code Blocks is a pretty decent programming editor and IDE and we don't know how much longer kdevelop3 will be usable with things changing all the time, so let's get ready! :-)
Features:
The debugger of choice is still kdbg, by a mile, however. But that can be added as a custom tool later, probably. But codeblocks has support for the smith wxWidgets stuff, which is looking pretty interesting. More on that later.
Note: This has only been tested for c/c++ executables so far, but it should also make c and c++ libs, including c++ static libs which codeblocks doesn't do without playing some games. For simple, quick testing this should come in handy. The codeblocks launcher in this file set was created with the application it builds. There may be future generations of this app that use preset compiler and linker flags for various kinds of builds, similar to mc2 templates.
We're over the space limit again here, so we'll have to pack it up, but this is the codeblocks launcher this app created. It's also in the packed up file set.
Copy/paste this as new.codeblocks.cbp to see just the ide part. You'll need codeblocks, of course. Then extract the fileset and use codeblocks to create the very thing that built the app.
file: new.codeblocks.cbp
purpose: This is what we make with the new.codeblocks app. Run 'new.codeblocks --help' for more.
Here's the packed up fileset in a self extracting script.
file: new.codeblocks.sfxz
purpose: self extractor for creating the app that creates the app. :-)
-The Computer Mad Science Team
:-)
Note: Currently still testing. Likely to add switches to include target options, such as the output from wx-config --cflags, pkg-config <blah> --libs, and so forth.
Today's amazing feat of Computer Mad Science is the creation of a commandline utility that will quickly create a relocatable codeblocks project file right where you want it, right when you need it.
Code Blocks is a pretty decent programming editor and IDE and we don't know how much longer kdevelop3 will be usable with things changing all the time, so let's get ready! :-)
Features:
- No more wizards. Well, you probably won't need 'em.
- Doesn't make those annoying duplicate project paths, just puts the ide where you want it. Namely PWD.
- Similar to mc2.def builds in that it automatically adds all source files in the SRCDIR to the project. If it adds too much, it's MUCH easier to remove than to add files to the project.
- Switchable between Debug and Release builds, and by default creates either one in the BINDIR. How often do you need both?
The debugger of choice is still kdbg, by a mile, however. But that can be added as a custom tool later, probably. But codeblocks has support for the smith wxWidgets stuff, which is looking pretty interesting. More on that later.
Note: This has only been tested for c/c++ executables so far, but it should also make c and c++ libs, including c++ static libs which codeblocks doesn't do without playing some games. For simple, quick testing this should come in handy. The codeblocks launcher in this file set was created with the application it builds. There may be future generations of this app that use preset compiler and linker flags for various kinds of builds, similar to mc2 templates.
We're over the space limit again here, so we'll have to pack it up, but this is the codeblocks launcher this app created. It's also in the packed up file set.
Copy/paste this as new.codeblocks.cbp to see just the ide part. You'll need codeblocks, of course. Then extract the fileset and use codeblocks to create the very thing that built the app.
file: new.codeblocks.cbp
purpose: This is what we make with the new.codeblocks app. Run 'new.codeblocks --help' for more.
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <CodeBlocks_project_file> <FileVersion major="1" minor="6" /> <Project> <Option title="new.codeblocks" /> <Option pch_mode="2" /> <Option compiler="gcc" /> <Build> <Target title="Debug"> <Option output="./new.codeblocks" /> <Option object_output="o/" /> <Option type="1" /> <Option compiler="gcc" /> <Compiler> <Add option="-Wall" /> <Add option="-g" /> </Compiler> </Target> <Target title="Release"> <Option output="./new.codeblocks" /> <Option object_output="o/" /> <Option type="1" /> <Option compiler="gcc" /> <Compiler> <Add option="-Wall" /> <Add option="-O2" /> </Compiler> <Linker> <Add option="-s" /> </Linker> </Target> </Build> <Unit filename="src/new.codeblocks.cpp" /> <Unit filename="src/objlist.cpp" /> <Unit filename="src/slist.cpp" /> <Unit filename="src/write_codeblocks.cpp" /> <Unit filename="src/flagdefs.h" /> <Unit filename="src/objlist.h" /> <Unit filename="src/slist.h" /> <Unit filename="src/write_codeblocks.h" /> <Extensions> <code_completion /> <envvars /> <lib_finder disable_auto="1" /> <debugger /> </Extensions> </Project> </CodeBlocks_project_file>
Here's the packed up fileset in a self extracting script.
file: new.codeblocks.sfxz
purpose: self extractor for creating the app that creates the app. :-)
Code:
# new.codeblocks application for quick-o generation of an ide launcher # anywhere. And it will be relocatable without breaking the build. (Well, # unless you use the ide to add files, maybe. But that can be fixed... later. # Version 1.0.1 (automatic source file loading fixed) cat << _eof | base64 -d > tmp.tar.xz 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 Z/sCAAAAAARZWg== tar xaf tmp.tar.xz rm tmp.tar.xz
-The Computer Mad Science Team
:-)
Total Comments 0