In find-package mode, cmake executes Modules/CMakeFindPackage.cmake,
which calls find_package(), and this is then evaluated in cmake.cxx,
which prints an appropriate message to stdout, so it can be used
e.g. in a normal Makefile:
$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
-DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=EXIST
JPEG found.
$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
-DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE
$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
-DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=LINK
-rdynamic -ljpeg
Alex
A common mistake when using custom commands is to list the output of a
command in multiple targets that may build in parallel. Warn against
this case in the documentation and suggest a better approach.
8555c2b Look for VCExpress as a possible build tool as well as devenv.
ed0075b Use relative paths for custom command inputs.
38368d5 Revert "With very long file names, VS 2010 was unable to compile files."
8cd66dc Use devenv instead of msbuild for vs2010.
For source files we use full paths. This allows for longer directory
names with VS2010. However, the use of full paths causes the GUI
to not display the custom commands.
As discussed, this adds a switch CMAKE_DISABLE_FIND_PACKAGE_<name>,
which, when set to TRUE, keeps the find_package() command from executing.
When the package is REQUIRED at the same time, an error is generated.
Alex
The workaround added by commit 7e92f0b4 (Hack to make echo command work
properly in mingw32-make, 2006-10-05) and updated by commit 69356d8a
(Juse use cmake -E echo instead of the native echo, 2006-10-13) no
longer seems necessary with modern mingw32-make. Furthermore it slows
performance due to the time spent loading a cmake process instead of
plain echo.
Do not require the C language to be enabled to do lib->lib64 conversion.
The check was originally added by commit a5825cd1 (check in new find
stuff, 2006-03-02) to ensure that CMAKE_SIZEOF_VOID_P is set. Since
commit 3fdf1411 (FIND_LIBRARY should not require CMAKE_SIZEOF_VOID_P,
2008-02-11) the code following the check does not fail when the variable
is not set, so just remove the original check. This allows conversion
for any language that is enabled so long as the address size is known.
Reported-by: Christoph Höger <choeger@cs.tu-berlin.de>