Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: ollydbg on November 09, 2025, 12:31:00 am

Title: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on November 09, 2025, 12:31:00 am
Hi, guys, what do you think about this?

gd_on (https://forums.codeblocks.org/index.php?action=profile;u=2422) has work on this in github repo:

codeblocks_gd_cbps (https://github.com/gerard-durand/codeblocks_gd_cbps)

I think this is the direction we should do.

Any comments?
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on February 21, 2026, 04:23:14 am
Any developer has some options about this topic?

I think the recent changes in the C::B should fully support this, see discussion here:

Re: special handling of the macro replacement ""? (https://forums.codeblocks.org/index.php/topic,26234.msg178412/topicseen.html#msg178412)

Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: MortenMacFly on February 21, 2026, 07:49:07 am
I see the benefits from this, however, usually (at least for me) its not only the wx version that matters but also 32/64 bit and maybe a special old compiler for compatibility. For those cases it would not work unless yo very everything in the wx variable which is a bit weird. Would be great if Gerard (@gd_on) could join this conversation...

Still, it improves the situation already as it is, so I am open...
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Wkerry on February 21, 2026, 10:17:46 am
Check out https://sourceforge.net/p/codeblocks/tickets/1332/
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: gd_on on February 21, 2026, 11:30:01 am
Hi,
I wrote a first unified workspace and cbp, already 4 years ago and adapted it when there was important changes in the build process of C::B (new plugins, new settings for some of them...). It's an adaptation of a previous work done by AndrewCot. It works only on Windows, just because I have not linux installed, but it should be adaptable.

Everything is available on a git (https://github.com/gerard-durand/codeblocks_gd_cbps (https://github.com/gerard-durand/codeblocks_gd_cbps)) or a svn (https://sourceforge.net/p/codeblocks-gd-cbps/svn/HEAD/tree/ (https://sourceforge.net/p/codeblocks-gd-cbps/svn/HEAD/tree/)) repository. See also as mentionned above https://sourceforge.net/p/codeblocks/tickets/1332/ (https://sourceforge.net/p/codeblocks/tickets/1332/).
It uses global environment variables where you can choose the wxwidgets version, the wxWidgets 32/64 bit version, cpp_flags. The choice of 32/64 bit compiler is simply made by your general compiler setting. If you want to change something, you have only to change some global variables.
Apparently, a few guys use this build system and are happy with. Of course, as you need to set global variables, it needs some knowledge and manual setting the first time you set them. But, if you follow the "Env_vars" docs carefully, it's not so difficult.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Wkerry on February 22, 2026, 04:19:41 am
Did some google searching and these may be of some use, but they are old:
https://github.com/jordiwave/CodeBlocks_Unofficial_Testing/tree/master/src
https://github.com/stahta01/CodeBlocks_Unofficial_Testing/tree/master/src

Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on February 23, 2026, 07:04:02 am
We can have several steps:
1, keep the old(existing) cbps and add the new unified windows cbps to the svn repo.
2, wait for several months.
3, finally those old cbps should be removed.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on March 01, 2026, 03:47:04 am
Hi, guys, I have committed the unified cbps to our svn repo, revision 13804. Thanks for the contribution, @gd_on.

Also, if you see some issues, you can report here, we can discuss and adjust. Thanks.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: gd_on on March 01, 2026, 12:10:49 pm
Thanks for this publication.
Just a small remark: why almost all these cbp have linux end lines (LF). That's not a problem, but as they are for Windows, my original work has windows endlines (CR LF).

More, I think there is a problem with FortanProject plugin, beacuse as it's located outside C::B svn repository, it causes a problem when I try to update my svn synchro.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on March 01, 2026, 01:28:41 pm
Thanks for this publication.
Just a small remark: why almost all these cbp have linux end lines (LF). That's not a problem, but as they are for Windows, my original work has windows endlines (CR LF).
I use "git svn" command. I mean I first add the cbp to the git repo, and later I use the git svn dcommit to push the changes to the remote svn server. I'm not sure how to fix this issue.


Quote
More, I think there is a problem with FortanProject plugin, because as it's located outside C::B svn repository, it causes a problem when I try to update my svn synchro.

So, the way it to "remove" the FortanProject plugin's cbp file from the svn trunk?
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: gd_on on March 01, 2026, 02:30:23 pm
Quote
So, the way it to "remove" the FortanProject plugin's cbp file from the svn trunk?
Probably, but add the cbp to the original repos and restore the link to this repository.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 01, 2026, 04:57:04 pm
I have just added FortranProject_cbsvn_Windows.cbp to the FortranProject repository, please remove the folder and the CBP from the C::B repository so they do not clash (i.e., revert this)

Code
add 	/trunk/src/plugins/contrib/FortranProject
add /trunk/src/plugins/contrib/FortranProject/FortranProject_cbsvn_Windows.cbp
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 07:42:30 pm
What can I do about this error?
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 01, 2026, 08:29:26 pm
You can revert the change by ollydbg indicated in my previous message: Change to the plugins/contrib folder and run

Code
svn delete FortranProject
svn commit
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 08:57:07 pm
What can I do about this error?
Neither TortoiseSVN nor svn will let me do that.
Code
PS F:\usr\Proj\cbDevel328WrkCC> cd .\trunk\
PS F:\usr\Proj\cbDevel328WrkCC\trunk> svn delete FortranProject
svn: E200005: Use --force to override this restriction (local modifications may be lost)
svn: E200005: 'F:\usr\Proj\cbDevel328WrkCC\trunk\FortranProject' is not under version control
PS F:\usr\Proj\cbDevel328WrkCC\trunk>

And a clean update gets the error.
Code
PS F:\usr\Proj\cbDevel328WrkCC\trunk> svn update
Updating '.':

Fetching external item into 'src\plugins\contrib\FortranProject':
svn: warning: W155035: The external 'https://svn.code.sf.net/p/fortranproject/code/trunk' defined in svn:externals at 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib' cannot be checked out because 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib\FortranProject' is already a versioned path.

At revision 13804.
svn: E205011: Failure occurred processing one or more externals definitions
PS F:\usr\Proj\cbDevel328WrkCC\trunk>

Even using --force does not work.
Code
PS F:\usr\Proj\cbDevel328WrkCC\trunk> svn delete FortranProject --force
svn: E125001: 'F:\usr\Proj\cbDevel328WrkCC\trunk\FortranProject' does not exist
PS F:\usr\Proj\cbDevel328WrkCC\trunk> svn update
Updating '.':

Fetching external item into 'src\plugins\contrib\FortranProject':
svn: warning: W155035: The external 'https://svn.code.sf.net/p/fortranproject/code/trunk' defined in svn:externals at 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib' cannot be checked out because 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib\FortranProject' is already a versioned path.

At revision 13804.
svn: E205011: Failure occurred processing one or more externals definitions
PS F:\usr\Proj\cbDevel328WrkCC\trunk>
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 01, 2026, 09:20:13 pm
In the first code tag the path is incorrect, FortranProject is not in trunk but in trunk/src/plugins/contrib
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 09:51:15 pm
I completely delete trunk.
I do a clean chieckout
F:\usr\Programs\TortoiseSVN\bin\svn.exe checkout https://svn.code.sf.net/p/codeblocks/code/trunk
I get the error:
Code
Fetching external item into 'trunk\src\plugins\contrib\FortranProject':
svn: warning: W155035: The external 'https://svn.code.sf.net/p/fortranproject/code/trunk' defined in svn:externals at 'F:\usr\Proj\cbDevel328WrkCC\trunk\trunk\src\plugins\contrib' cannot be checked out because 'F:\usr\Proj\cbDevel328WrkCC\trunk\trunk\src\plugins\contrib\FortranProject' is already a versioned path.

Checked out revision 13804.
svn: E205011: Failure occurred processing one or more externals definitions


I cd to the contrib directory and delete fortran project. It seem to do it.

Code
cd .\trunk\src\plugins\contrib\
F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib> F:\usr\Programs\TortoiseSVN\bin\svn.exe delete .\FortranProject\
D         FortranProject
D         FortranProject\FortranProject_cbsvn_Windows.cbp

I cd back to trunk and do an update.
I still get the update error.

Code
 F:\usr\Programs\TortoiseSVN\bin\svn.exe update
Updating '.':

Fetching external item into 'src\plugins\contrib\FortranProject':
svn: warning: W155035: The external 'https://svn.code.sf.net/p/fortranproject/code/trunk' defined in svn:externals at 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib' cannot be checked out because 'F:\usr\Proj\cbDevel328WrkCC\trunk\src\plugins\contrib\FortranProject' is already a versioned path.

At revision 13804.
svn: E205011: Failure occurred processing one or more externals definitions
F:\usr\Proj\cbDevel328WrkCC\trunk>
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 01, 2026, 09:53:26 pm
You forgot the second part of my message:
Code
svn commit
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 10:04:29 pm
You forgot the second part of my message:
Code
svn commit

Doesn't that mean I'm committing to the main repo. I thought whoever did the change in the first place would have committed a fix.

Does everyone checking out the main repo have to do this.
There must be something I'm not understanding.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 01, 2026, 10:15:18 pm
Yes, you are modifying the main repo. Ollydbg or you can do this, I cannot because I do not have access currently to my computer.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 10:18:41 pm
Yes, you are modifying the main repo. Ollydbg or you can do this, I cannot because I do not have access currently to my computer.

Ok, I'll do another clean checkout, and follow your directions.
I just didn't want to modify something I didn't understand.
Thanks.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Pecan on March 01, 2026, 10:28:57 pm
Yes, you are modifying the main repo. Ollydbg or you can do this, I cannot because I do not have access currently to my computer.

Code
Deleting       FortranProject
Committing transaction...
Committed revision 13805

I also got a clean update from externals.

Thanks for your patients.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: ollydbg on March 02, 2026, 06:24:05 am
Good work guys.

BTW. I nener known that we(or some cb dev) can access the Fortran plugin snv repo.
Title: Re: unified workspace and cbp under Windows for different wxWidgets versions
Post by: Miguel Gimenez on March 02, 2026, 09:34:50 am
Quote
BTW. I nener known that we(or some cb dev) can access the Fortran plugin snv repo.

Some of us can (see the commit log there), but usually we avoid the Fortran-specific part.