find_package(Foo REQUIRED)

Brad King brad.king at kitware.com
Wed Jun 17 15:15:18 CEST 2009


Allen Winter wrote:
> Maybe this should be a feature of cmake itself.. but I wish for
> find_package(Foo REQUIRED) to print a nicer message 
> if Foo is not found.
> 
> We have the macro_log_feature() stuff for the optional packages
> which creates the nice summary at the end of the cmake run,
> but when required FOO is not found all we get is a terse error and quit.
> 
> I wonder.. can we overload find_package() with a COMMENT option?
> i.e. 
> find_package(Foo REQUIRED COMMENT "Foo is a critical library and this software
> cannot be build without it. Please install Foo <http://www.foo.org> version 2.9 or higher")
> 
> and have the COMMENT printed on termination?

In this case you're talking about improving the message using
information specific to the call site.  You can just do this:

   find_package(Foo QUIET)
   if(NOT Foo_FOUND)
     message(FATAL_ERROR
       "Foo is a critical library and this software cannot be build without it.  "
       "Please install Foo <http://www.foo.org> version 2.9 or higher.")
   endif()

-Brad


More information about the Kde-buildsystem mailing list