Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Packages » packages, sub packages and big projects
packages, sub packages and big projects [message #22077] Tue, 16 June 2009 20:46 Go to next message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
Hello all,

I want to know how you manage very big package because i don't have found satisfactory solution with theide

First i tried to put all source files in the same package. No problem with this solution but from my side i think its difficult to organize a huge workspace with "separators". A tree-representation for the workspace would be a great solution. What do you think about it ?

In a second time i tried to split the package in sub-packages. No more problems to organize files in the workspace. I have a lot of entries in the package organizer (compiler options, flags, ... ). All these configurations are common to all the big parent package and for the moment i must redefine all in all sub-package.
Would it be possible to have an inheritance of package organizer settings in sub-packages to solve this problem ?

Maybe, i have'nt understand how to use theide in an efficent way, or perhaps there is some new functionnalities to add.

Thanks for your answer.

cocob
Re: packages, sub packages and big projects [message #22089 is a reply to message #22077] Wed, 17 June 2009 11:49 Go to previous messageGo to next message
mr_ped is currently offline  mr_ped
Messages: 825
Registered: November 2005
Location: Czech Republic - Praha
Experienced Contributor
There's the "FLAG" system in TheIDE builder.

See menu: Project / Main package configuration

There you can add as many possible configurations as you wish for the main package. (if you are building several version from the same source)

Press right click into list to add/edit/delete configuration, then into Flags you can add custom flags like for example:
"GUI MT MYFLAG .MYFLAG2" (eventually giving it custom name like "production")

in source code you can now use:
#ifdef flagMYFLAG
#ifndef flagMYFLAG2


The dot difference between MYFLAG and .MYFLAG2 does change the visibility of flag, MYFLAG (g++ -D flagMYFLAG) will be set for all packages used by main package, the dot one .MYFLAG2 is set only during compilation of main package, other packages are compiled with "GUI MT MYFLAG" flags only.

Many project build settings can be then connected to certain flags, see Package organizer and "when" column. Check for example configuration of "Core" package to get some idea about possibilities.

--

I think you have also different kind of problem, like including in every package some library...
In some cases it may be better to set up those directly in Setup / Build methods, or maybe reorganize your sub-packages so those special options are not globally needed. (like "Draw" does hide all sort of X11/GTK/GDI and other packages don't have to deal with those, they build simply against "Draw")

So I'm not sure if I did help, I hope at least a bit.. Smile
Re: packages, sub packages and big projects [message #22091 is a reply to message #22077] Wed, 17 June 2009 12:33 Go to previous messageGo to next message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
I know how works package organizer and main configuration and i like it.

My problems is when i have a lot of entries in it for example

library(!WIN32 && GCC && OPENMP) gomp;

options(MSC8 || MSC8X64) -D_CRT_SECURE_NO_DEPRECATE;

options(MSC9 || MSC9X64) -D_CRT_SECURE_NO_WARNINGS;

options(GCC) "-Wall -Werror";

options(MSC) /WX;

options(GCC && DLL) "-fvisibility=hidden -fPIC";

options(GCC && OPENMP) -fopenmp;

options(MSC && OPENMP) /openmp;


I must defined these on all subpackage and it is not really handy.

Do you have any solution ?

cocob
Re: packages, sub packages and big projects [message #22195 is a reply to message #22077] Tue, 23 June 2009 20:08 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cocob wrote on Tue, 16 June 2009 14:46

Hello all,

I want to know how you manage very big package because i don't have found satisfactory solution with theide

First i tried to put all source files in the same package. No problem with this solution but from my side i think its difficult to organize a huge workspace with "separators". A tree-representation for the workspace would be a great solution. What do you think about it ?

In a second time i tried to split the package in sub-packages. No more problems to organize files in the workspace. I have a lot of entries in the package organizer (compiler options, flags, ... ).



Well, now this is sort of surprising. I have done quite some big projects in U++, but I do not remember having "a lot of" compiler options or flags there.

Can you put examples?

Mirek
Re: packages, sub packages and big projects [message #22196 is a reply to message #22091] Tue, 23 June 2009 20:09 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cocob wrote on Wed, 17 June 2009 06:33

I know how works package organizer and main configuration and i like it.

My problems is when i have a lot of entries in it for example

library(!WIN32 && GCC && OPENMP) gomp;

options(MSC8 || MSC8X64) -D_CRT_SECURE_NO_DEPRECATE;

options(MSC9 || MSC9X64) -D_CRT_SECURE_NO_WARNINGS;

options(GCC) "-Wall -Werror";

options(MSC) /WX;

options(GCC && DLL) "-fvisibility=hidden -fPIC";

options(GCC && OPENMP) -fopenmp;

options(MSC && OPENMP) /openmp;


I must defined these on all subpackage and it is not really handy.

Do you have any solution ?

cocob


Ahh, well, typically, I put these into Build method.

Mirek
Re: packages, sub packages and big projects [message #22213 is a reply to message #22077] Wed, 24 June 2009 16:56 Go to previous message
cocob is currently offline  cocob
Messages: 156
Registered: January 2008
Experienced Member
Ok, but build method is not saved with the project and each time i build in a new host i must edit it. And Ce cannot have conditionnal flags like this one in build method.

options(GCC && OPENMP) -fopenmp;

OPENMP is defined in my main configuration

cocob

[Updated on: Wed, 24 June 2009 16:56]

Report message to a moderator

Previous Topic: Filtering packages problem?
Next Topic: Application stub template
Goto Forum:
  


Current Time: Fri Mar 29 00:48:00 CET 2024

Total time taken to generate the page: 0.01809 seconds