[CMake] Re: Re: Re: Target flags depending on compilation ofanothertarget

Alan W. Irwin irwin at beluga.phys.uvic.ca
Fri Dec 21 20:03:14 EST 2007


On 2007-12-21 19:23-0200 Rodolfo Schulz de Lima wrote:

>> You are right. I was confusing cmake time with build time.  However, what 
>> is
>> to stop you building your own version of wxwidgets as an external project?
>> Then cmake; make, etc., would have to be run once to build wxwidgets and
>> once for your project.  If that turned out to be too complicated for your
>> users, you could put those commands in one overall script to simplify 
>> their
>> builds.
>
> Yes, I could do it, but I'm striving to make it simpler. Once my developer 
> gets in his machine, he would:
> 1) pull out sources from subversion, this would also download all external 
> dependencies (through property svn:externals, for the svn-inclined)
> 2) do cmake .
> 3) make -j2
> 4) ...
> 5) be rich and score some chicks
>
> I'm dealing with a lot of external libraries... boost, wxWidgets, freetype, 
> ftgl, openAL, lib3ds, libjpeg, glew, lua and luabind. Building those by hand 
> is a pain, and didn't I mention that it should work with Visual Studio, 
> mingw32 on Windows, mingw32 on Linux and good old gcc?
>
> Thanks to cmake my recipe is the same no matter the environment my developers 
> decides to use. So that's why I'm trying to do this way.

Understood, but repeating steps 2 and 3 (once for wxwidgets which your
developer just downloaded as part of the overall download and once for the
rest) doesn't complicate the build very much.  Of course, repeating step 5
might complicate your life... :-)

> With a script I'd 
> have to have at least 2, one for linux (bash, etc...) and for windows 
> (braindead batch processing).

No personal experience myself, but the PLplot bare windows (i.e., no Cygwin,
or MinGW) developers tell me there is a bash for windows that they can
install.  So ctest (which in our case runs shell scripts) is cross-platform
for PLplot iff the windows user has installed bash.  However, instead of
requiring bash on all platforms, just repeating steps 2 and 3 is probably
simpler in your case.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list