Author Topic: SDK refactoring for non UI builds  (Read 14786 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5529
Re: SDK refactoring for non UI builds
« Reply #15 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
« Last Edit: September 03, 2012, 09:50:21 pm by MortenMacFly »

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9723
Re: SDK refactoring for non UI builds
« Reply #16 on: September 03, 2012, 01:00:54 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... ???
« Last Edit: September 03, 2012, 09:50:14 pm by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9723
Re: SDK refactoring for non UI builds
« Reply #17 on: September 03, 2012, 01:03:41 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.
« Last Edit: September 03, 2012, 09:50:08 pm by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5529
Re: SDK refactoring for non UI builds
« Reply #18 on: September 03, 2012, 01:55:12 pm »
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 ?
« Last Edit: September 03, 2012, 09:50:00 pm by MortenMacFly »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: SDK refactoring for non UI builds
« Reply #19 on: September 03, 2012, 09:34:31 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 :)

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.
« Last Edit: September 03, 2012, 09:49:53 pm by MortenMacFly »
(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!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9723
Re: SDK refactoring for non UI builds
« Reply #20 on: September 03, 2012, 09:54:11 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. ;-)

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: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ