Author Topic: Offers and ideas to help codeblocks  (Read 4607 times)

Offline hanetzer

  • Single posting newcomer
  • *
  • Posts: 4
Offers and ideas to help codeblocks
« on: April 19, 2019, 03:54:15 am »
So, I have three ideas which codeblocks may want to implement, and I'm willing to do the legwork
needed for them if the codeblocks team are interested in it.

  • Move to mesonbuild.
    Mesonbuild is a pure python build configuration tool (it is analogous to autotools) which generates ninja build scripts (which is analogous to make and Makefiles)
    As a general rule both the configure and build stage are by and far faster using meson/ninja than configure/make, which could really speed up development flow
    once you're used to the build flow
  • Get newer mingw-w64 compilers for windows.
    As it currently stands codeblocks ships with gcc 5.1, while 8.3 is the current release. It would be nice to at least get to 7.3 as a default, as at least my current college
    requires that any and all projects submitted for the class be able to run in the codeblocks they have installed and they don't do any after-tweaking to use a different
    toolchain, so it limits the more enterprising students' options. I was thinking to pull the packages from msys2's toolchain packages (they produce native windows
    binaries without a dep on cygwin.dll or the like) and adjusting the compiler xml file to use it.
  • Move from svn to git.
    Just throwing this out there. I can do the conversion if desired but would require some help from the prior developers as svn only stores the author's username
    (foobar) and git requires a name and email (foobar <foo@bar.net>). I can just use "foobar <foobar@codeblocks.org>" for existing authors if so desired.

Offline sodev

  • Regular
  • ***
  • Posts: 497
Re: Offers and ideas to help codeblocks
« Reply #1 on: April 19, 2019, 04:57:40 am »
  • Nope. If you really want to move to another build system use a more "standard" one. So far many open source projects use CMake, this is IMHO kind of the standard meta build system right now. And even Boost is moving to that one, enough said ;D. This won't be an easy task, CodeBlocks does a lot of extra stuff than compiling, you need to drive the package generators, seems like a lot of work.
  • I dont know if it is just me who is so old school and refuses to use a POSIX environment on Windows to build my stuff (hmm, actually the only reason to have a GCC toolchain on Windows for me is CodeBlocks... CodeBlocks, why you no can be compiled with MSVC :'(), but i just use the online installer of MinGW-w64 to download the toolchain. It's kind of one-click, set the path in CodeBlocks and i'm done, no editing XML or the like :o ::)
  • Fixing the eMails is the easiest task, you will have way more fun dealing with externals, fixing revision references in log messages and i don't know what else you will face. But i do like the move to git, no more patch files scattered around the forum, only nice PR's (ok, i know who won't like that  ;D)

Just for reference, i'm not associated with CodeBlocks in any way despite having fixed some things here and there in the past, so this is my personal opinion about these matters.

Offline hanetzer

  • Single posting newcomer
  • *
  • Posts: 4
Re: Offers and ideas to help codeblocks
« Reply #2 on: April 19, 2019, 05:46:47 am »
  • Nope. If you really want to move to another build system use a more "standard" one. So far many open source projects use CMake, this is IMHO kind of the standard meta build system right now. And even Boost is moving to that one, enough said ;D. This won't be an easy task, CodeBlocks does a lot of extra stuff than compiling, you need to drive the package generators, seems like a lot of work.
I just mean for building codeblocks itself, not codeblock's building projects made in codeblocks.

  • I dont know if it is just me who is so old school and refuses to use a POSIX environment on Windows to build my stuff (hmm, actually the only reason to have a GCC toolchain on Windows for me is CodeBlocks... CodeBlocks, why you no can be compiled with MSVC :'(), but i just use the online installer of MinGW-w64 to download the toolchain. It's kind of one-click, set the path in CodeBlocks and i'm done, no editing XML or the like :o ::)
No posix environment. Just raw windows executables.

  • Fixing the eMails is the easiest task, you will have way more fun dealing with externals, fixing revision references in log messages and i don't know what else you will face. But i do like the move to git, no more patch files scattered around the forum, only nice PR's (ok, i know who won't like that  ;D)
Yeah, but there are tools for that, just takes a bit of massaging.

Just for reference, i'm not associated with CodeBlocks in any way despite having fixed some things here and there in the past, so this is my personal opinion about these matters.
Fair enough, but hope I've addressed your concerns well enough :)

Offline hanetzer

  • Single posting newcomer
  • *
  • Posts: 4
Re: Offers and ideas to help codeblocks
« Reply #3 on: April 19, 2019, 08:20:57 am »
For anyone interested in how the git conversion would turn out, it is basically this:
https://github.com/hanetzer/codeblocks
I just used stand-in author@codeblocks.org authors for this conversion, but given the
correct info below I could do a more accurate conversion.
Code
afb = afb <afb@codeblocks.org>
alpha0010 = alpha0010 <alpha0010@codeblocks.org>
artoj = artoj <artoj@codeblocks.org>
biplab = biplab <biplab@codeblocks.org>
bluehazzard = bluehazzard <bluehazzard@codeblocks.org>
byo = byo <byo@codeblocks.org>
ceniza = ceniza <ceniza@codeblocks.org>
cyberkoa = cyberkoa <cyberkoa@codeblocks.org>
damienlmoore = damienlmoore <damienlmoore@codeblocks.org>
daniel2000 = daniel2000 <daniel2000@codeblocks.org>
d_anselmi = danselmi <danselmi@codeblocks.org>
danselmi = danselmi <danselmi@codeblocks.org>
dje = dje <dje@codeblocks.org>
dmoore = dmore <dmore@codeblocks.org>
fuscated = fuscated <fuscated@codeblocks.org>
jenslody = jenslody <jenslody@codeblocks.org>
killerbot = killerbot <killerbot@codeblocks.org>
loaden = loaden <loaden@codeblocks.org>
mandrav = mandrav <mandrav@codeblocks.org>
mariocupelli = mariocupelli <mariocupelli@codeblocks.org>
mortenmacfly = mortenmacfly <mortenmacfly@codeblocks.org>
ollydbg = ollydbg <ollydbg@codeblocks.org>
pecan = pecanh <pecanh@codeblocks.org>
pecanh = pecanh <pecanh@codeblocks.org>
rickg22 = rickg22 <rickg22@codeblocks.org>
thomas-denk = thomasdenk <thomasdenk@codeblocks.org>
thomasdenk = thomasdenk <thomasdenk@codeblocks.org>
tiwag = tiwag <tiwag@codeblocks.org>
tpetrov = tpetrov <tpetrov@codeblocks.org>
zlika = zlika <zlika@codeblocks.org>
(no author) = no_author <no_author@no_author>
httpd = httpd <httpd@httpd>
mhaggag = mhaggag <mhaggag@codeblocks.org>
byo_spoon = byo_spoon <byo_spoon@codeblocks.org>
mispunt = mispunt <mispunt@codeblocks.org>
sprat = sprat <sprat@codeblocks.org>

This is a full list based on my trial conversion.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Offers and ideas to help codeblocks
« Reply #4 on: April 20, 2019, 03:49:55 pm »
There is a git repo of codeblocks (unofically, and pull requests are ignored, but it is a git repo :) )
https://github.com/obfuscated/codeblocks_sf

I do not think the build system to build codeblocks is a problem. As soon as you have build codeblocks the first time you can use codeblocks to build codeblocks and for me this is a lot more convenient then any other build system.

If you are talking about adding support for other build environments to codeblocks, this would be a good idea... Patches and any work is highly welcome. If you do anything fundamental it would be good to first post your plan and some minimal example, prior to launch the big work...
But there is TONS of other work to do... Look at the bug tracker...

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: Offers and ideas to help codeblocks
« Reply #5 on: April 20, 2019, 04:52:31 pm »
as for now, our code is in svn and that works fine, so not many advantages for going to git, so we are fine where we are ;-)
We have internally discussed already a few times, and we stick to svn for the moment.

As for changing build systems, be careful this is probably not so easy, since we need to be able tio build it on windows, linux, macOS, ... amny dependencies ...

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Offers and ideas to help codeblocks
« Reply #6 on: April 20, 2019, 05:02:54 pm »
I do not think the build system to build codeblocks is a problem.
It is getting problematic for me. But I'm not sure cmake is the answer. I'll try porting some cb plugin to meson to see how it works. (I know cmake already, because we use it at work)
(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!]