Timothy Pearson wrote:
> Fat-Zer wrote:
>> 2012/1/7 Darrell Anderson <humanreadable(a)yahoo.com>
>> Just add this to ConfigureChecks.cmake:
>>
>> if( WITH_SPEEX )
>> pkg_search_module( SPEEX speex )
>> if( NOT SPEEX_FOUND )
>> tde_message_fatal( "speex is required, but was not found on your
>> system" )
>> endif( NOT SPEEX_FOUND )
>> endif( WITH_SPEEX )
>>
>> # haven't tested but should work.
>> # and check the name of speex *.pc file in /usr/lib/pkgconfig.
> Why make it a fatal error when it can be
built without speex?
There should be a global flag defined
(WITH_SPEEX) if speex support is
desired. If that flag is not set then there will be no fatal error when
speex is not found.
To me, this is a drawback of cmake. You have to specify everything.
I'm not an expert in cmake, but with configure, you generally can do
--help and get a list of acceptable parameters. Most of the time it
also tells you if the dependency is (auto) or not, or what the default
is. For example, in kdegraphics-3.5.10, a simple ./configure gives:
checking for sane-config... not found
checking if doc should be compiled... yes
checking if kamera should be compiled... no
checking if kcoloredit should be compiled... yes
checking if kfax should be compiled... yes
checking if kgamma should be compiled... yes
checking if kghostview should be compiled... yes
checking if kiconedit should be compiled... yes
checking if kmrml should be compiled... yes
checking if kolourpaint should be compiled... yes
checking if kpdf should be compiled... yes
checking if kpovmodeler should be compiled... yes
checking if kruler should be compiled... yes
checking if ksnapshot should be compiled... yes
checking if ksvg should be compiled... yes
checking if kuickshow should be compiled... yes
checking if kview should be compiled... yes
checking if kviewshell should be compiled... yes
checking if libkscan should be compiled... no
checking if kfile-plugins should be compiled... yes
checking if kfaxview should be compiled... yes
checking if kdvi should be compiled... yes
checking if kooka should be compiled... no
But kdegraphics-3.5.13 requires:
cmake -DCMAKE_INSTALL_PREFIX=$TRINITY_PREFIX \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DQT_VERSION=3 \
-DCMAKE_CXX_FLAGS="-fpermissive" \
-DWITH_TIFF=ON \
-DWITH_PAM=ON \
-DBUILD_ALL=ON \
-DBUILD_KAMERA=OFF \
-DBUILD_KSVG=OFF \
-DBUILD_KUICKSHOW=OFF \
-DBUILD_LIBKSCAN=OFF \
-DBUILD_KOOKA=OFF \
-DBUILD_KGHOSTVIEW=OFF \
-DBUILD_KFILE_PLUGINS=OFF \
$KDEGRAPHICS
This is fine for a developer, but a lot more difficult for someone who
just wants to build the package once.
In TDE most modules have a -DBUILD_ALL flag that enables the "default"
build options without having to manually specify all of the individual
submodules to build.
It might be a good idea to add a -DBUILD_AUTO flag that causes any failing
checks to simply disable the associated functionality as Autotools does.
If you want to see this please file an enhancement bug report.
Thanks!
Tim