News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

SDK refactoring for non UI builds

Started by oBFusCATed, September 02, 2012, 02:32:59 PM

Previous topic - Next topic

killerbot

#15
jenkins is running in such a way that it does not have an X-server in its profile ==> non gui version required then

MortenMacFly

#16
Quote from: killerbot on September 03, 2012, 12:56:10 PM
jenkins is running in such a way that it does not have an X-server in its profile ==> non gui version required then
OK - but Jenkins (and probably others, too) seems to be available for UI platforms, too (including Windows):
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins#InstallingJenkins-WindowsInstallation

So why make it extra-hard? For me it still looks one is creating a problem here where actually there isn't... ???
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

#17
Quote from: MortenMacFly on September 03, 2012, 01:00:54 PM
So why make it extra-hard? For me it still looks one is creating a problem here where actually there isn't... ???
To make myself more clear: Do we really want to do such major re-factoring just to support those 5-10 guys in the world that insist to use C::B with a non-UI OS? Or are these so many that it becomes relevant to us?

Jens' approach with minimal (?) effort using #defines seems enough for me.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

killerbot

#18
I am not taking the "how it is done" into account at this time.

Having CB as a build system is extremely good, since it can easily cope with different compilers, so when doing multi platform code (win/linux/embedded ports), CB is so much easier.
I have a project for my library, and per "platform" 2 targets (debug versus release build). And building the CB project ==> all is build. When keeping this in makefiles (and let's assume the generated ones, so I don't have to manage dependencies/includes twice) it becomes more complicated and more possibilities for errors.
On the other hand, the cbp makefile gen plug-in :
- is great
- is not part of contrib (we should add it)
- should be run automatically

Meaning you need to run CB in headless mode in order to have it run the makefile gen plug-in. :-(

And the use cases I already mentioned above, having a dedicated target that is the invocation of :
- doxygen
- valgrind
- cppcheck
- cccc
- ...
will be another super feature (@Jens : when do you think you will have the cppcheck invocation ready ;-)   )

So on the feature level, I think this is a really powerful feature.

On the how, the best would be that core code is completely separated from the user interface code (a good design strategy anyway [maintenance, testability, ..)) , but ifdef can be a first step.

What do you think ?

oBFusCATed

#19
Quote from: MortenMacFly on September 03, 2012, 01:03:41 PM
To make myself more clear: Do we really want to do such major re-factoring just to support those 5-10 guys in the world that insist to use C::B with a non-UI OS? Or are these so many that it becomes relevant to us?
I want to do it, because this is how I feel it should be done and because I feel this will make the SDK better.
Solving the non-ui issue will be a bonus. We will see if I have the time and motivation to do it :)

Quote from: MortenMacFly on September 03, 2012, 01:03:41 PM
Jens' approach with minimal (?) effort using #defines seems enough for me.
Probably his approach is just a hard to maintain hack, I've not looked at it, putting defines all over the place will always be harder to maintain, then writing the code in a better way.

p.s. can you extract these last post in another topic, as they are pretty much off topic here.
(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!]

MortenMacFly

Quote from: oBFusCATed on September 03, 2012, 09:34:31 PM
I want to do it, because this is how I feel it should be done and because I feel this will make the SDK better.
Solving the non-ui issue will be a bonus. We will see if I have the time and motivation to do it :)
OK with me, as long as you don't break C::B completely. ;-)

Quote from: oBFusCATed on September 03, 2012, 09:34:31 PM
p.s. can you extract these last post in another topic, as they are pretty much off topic here.
Done.

BTW: In case you wonder why all messages are edited: It seems our forum software cannot change the topic's name if you split by selected messages. (In contrast to when you split "from, including all following" - there it works. ::))
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]