Automatic recording of required packages...

Maciej Mrozowski reavertm at gmail.com
Mon Nov 1 23:29:33 CET 2010


On Monday 01 of November 2010 21:11:54 Alexander Neundorf wrote:
> On Monday 01 November 2010, Michael Jansen wrote:
> > On Monday 01 November 2010 20:05:58 Alexander Neundorf wrote:
> > > On Monday 01 November 2010, you wrote:
> > > > > Also, I'd like us to stay as close to normal cmake behaviour as
> > > > > possible, and to use as few own cmake modules as possible (...I
> > > > > know I know). And the behaviour we are using with
> > > > > macro_log_feature() would never be accepted into upstream cmake.
> > > > > It works around the assumptions built into cmake.
> > > > 
> > > > Then cmake is fundamentally broken and refuses to fix it. When
> > > > checking for dependencies check for all of them and tell me the
> > > > results all at once.
> > > > 
> > > > This annoying missing dependency ping pong i used to play annoyed the
> > > > hell out of me and many frustrated wannabe devs trying to compile
> > > > kde.
> > > > 
> > > > 1. call cmake with a long line of options. It complains of missing
> > > > dependency a.
> > > 
> > > Seriously, I don't know why a long line of options should be necessary.
> > > 
> > > To help finding stuff, set the env.var CMAKE_PREFIX_PATH.
> > > To change the buildtype, you can run "cmake-gui ." in the build dir
> > > later on. What you usually want is a custom CMAKE_INSTALL_PREFIX. You
> > > can set this via -D or via cmake-gui.
> > > 
> > > What else ?
> > 
> > Something along the lines:
> > 
> > cmake /home/mjansen/kde/trunk/src/KDE/kdelibs
> > 
> > 	-DCMAKE_SHARED_LINKER_FLAGS=' -Wl,-rpath-link,/kde/local/lib64 -Wl,-
> > 
> > rpath-link,/kde/trunk/support/lib64'
> > 
> > 	-DCMAKE_MODULE_LINKER_FLAGS=' -Wl,-rpath-link,/kde/local/lib64 -Wl,-
> > 
> > rpath-link,/kde/trunk/support/lib64'
> > 
> > 	 -DCMAKE_EXE_LINKER_FLAGS=' -Wl,-rpath-link,/kde/local/lib64 -Wl,-rpath-
> > 
> > link,/kde/trunk/support/lib64'
> > 
> > 	-DCMAKE_VERBOSE_MAKEFILE='1'
> > 	
> > 	 -DLIB_SUFFIX='64'
> > 	 -DCMAKE_BUILD_TYPE='Debug'
> > 	 -DCMAKE_CXXFLAGS='-Wall -pipe -O0'
> > 	 -DCMAKE_INSTALL_PREFIX=/kde/trunk/kde 2>&1
> 
> This is mostly 64bit stuff.
> Why do you need to specify it ?
> I can vaguely remember there was maybe a discussion maybe 3 months ago, but
> I forgot the details.
> In short, this shouldn't be necessary.
> Was there a reason why we didn't fix it ?
> 
> Beside those flags, this leaves
> 
> > -DCMAKE_VERBOSE_MAKEFILE='1'
> 
> Ok, if you really want it, you have to do it.
> I assume you know that you can also set the environment variable VERBOSE to
> 1 and have the same effect ?
> I.e. VERBOSE=1 make
> or also make VERBOSE = 1
> 
> > 	 -DCMAKE_BUILD_TYPE='Debug'
> 
> Ok. You can also use "make edit_cache" or "cmake-gui ." to change it to
> Debug.
> 
> > 	 -DCMAKE_CXXFLAGS='-Wall -pipe -O0'
> 
> DebugFull also has no -O switch. It doesn't have -pipe.
> You can also set the environment variable CXX flags at initial cmake time,
> cmake will pick CFLAGS and CXXFLAGS up and use them.
> 
> 
> To the missing required dependencies:
> maybe we should add a file README.dependencies or README.requirements or
> README.compiling at the top level of each module and list the requirements
> there. Or improve the "INSTALL" file a bit.
> Currently it has
> 
> "Build instructions can be found at
> http://techbase.kde.org/Getting_Started/Build/KDE4"
> 
> Also recommended flags etc.
> This sounds actually like something we really should do.
> I.e. instead of waiting what the configure-process will tell you, you can
> look beforehand what you need.
> This is something I actually expect when I install e.g. some web
> application, I want to see what it needs.
> We should have that too.

Hmm, this proposal to bring buildsystem closer upstream CMake (and effectively 
abandon macro_log_feature and friends) doesn't really look more attractive 
than maintaining status quo imho for now.

Especially when there were ideas[1] that resulted from[2], related to 
displaying information about runtime-only dependencies in CMake output.

1. http://lists.kde.org/?l=kde-buildsystem&m=128268134926091&w=2
2. http://lists.kde.org/?l=kde-buildsystem&m=128260048421343&w=2

-- 
regards
MM
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20101101/ff054d6f/attachment.sig 


More information about the Kde-buildsystem mailing list