[CMake] FIND_* search paths
Filipe Sousa
filipe at ipb.pt
Wed Jan 4 13:59:33 EST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Bill Hoffman wrote:
> There is a problem in cmake with FIND_LIBRARY,
> FIND_PATH, and FIND_FILE searching paths.
>
> Currently they search like this:
>
> FIND_PATH:
> 1. The list of paths specified in the call to the command.
> 2. CMAKE_INCLUDE_PATH environment variable
> 3. PATH environment variable
> 4. Mac Framework directories (on apple)
>
> FIND_LIBRARY:
> 1. CMAKE_LIBRARY_PATH environment variable
> 2. LIB environment variable
> 3. PATH environment variable
> 4. The list of paths specified in the call to the command
> 5. some compiler specific paths for borland and visual studio
> 6. Mac Framework directories (on apple)
>
> FIND_FILE:
> 1. The list of paths specified in the call to the command.
> 2. CMAKE_LIBRARY_PATH environment variable
> 3. PATH environment variable
>
> I would like to propose a change to clean things up.
> I suggest creating some variables that are set in the Platform
> files.
>
> CMAKE_SYSTEM_INCLUDE_DIRECTORIES
> CMAKE_SYSTEM_LIB_DIRECTORIES
>
> These would be set based on the OS and compiler being used.
> Then I would like to make the list of paths specified in the call
> to the FIND_* command always come first. Then you would refer
> to the variables above for search paths.
>
> FIND_LIBRARY(FOO_LIB foo
> ${CMAKE_SYSTEM_LIB_DIRECTORIES} /my/special/path)
> FIND_PATH(FOO_INCLUDE_DIR foo.h
> ${CMAKE_SYSTEM_INCLUDE_DIRECTORIES} /my/special/include/path)
>
> Or if you wanted to search your special stuff first you could do this:
> FIND_PATH(FOO_INCLUDE_DIR foo.h
> /my/special/include/path ${CMAKE_SYSTEM_INCLUDE_DIRECTORIES} )
>
> So, the order for all of them would be:
>
> 1. The list of paths specified in the call to the command, and
> people would use the system ones, that would include frameworks on the Mac,
> or any special compiler paths.
> 2. CMAKE_*_PATH environment variable
> 3. PATH environment variable
> 4. (for FIND_LIBRARY only) The compiler specific paths that we searched in the past, this
> is around only for backwards compatibility in the FIND_LIBRARY command,
> and those paths will be duplicated in the CMAKE_SYSTEM_LIB_DIRECTORIES
> variable.
>
>
> How does this sound?
Sounds great. But what about FIND_PROGRAM? We could have
CMAKE_SYSTEM_BIN_DIRECTORIES.
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFDvBsVbQdNYqwwwCwRAsrvAJ46+2CLEAP0MMjlMOXZZ8LeWpfOPQCcCBry
v0bU44LBYgijDb5Fa8WowoY=
=AO+5
-----END PGP SIGNATURE-----
More information about the CMake
mailing list