[CMake] [PATCH] FindQt4: do not prepend CMake root path when searching the mkspecs directory

clinton at elemtech.com clinton at elemtech.com
Mon Dec 30 15:43:25 EST 2013



----- Original Message -----
> When searching for the mkspecs directory, FindQT4 uses the find_path()
> function, but it doesn't pass the NO_CMAKE_FIND_ROOT_PATH, which means
> that all paths are interpreted relatively to the CMAKE_FIND_ROOT_PATH.
> 
> However, both the ${qt_mkspecs_dirs} and ${qt_cross_paths} variable
> that are passed as hints are already absolute paths, and do not need
> to be prepended by the CMAKE_FIND_ROOT_PATH.
> 
> Due to this problem, FindQT4 was unable to find qconfig.pri, and
> QT_MKSPECS_DIR was left defined to "NOTFOUND".
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  Modules/FindQt4.cmake | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
> index 28b8454..0b8ce92 100644
> --- a/Modules/FindQt4.cmake
> +++ b/Modules/FindQt4.cmake
> @@ -760,7 +760,7 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
>      endforeach()
>      set(QT_MKSPECS_DIR NOTFOUND)
>      find_path(QT_MKSPECS_DIR NAMES qconfig.pri
> -      HINTS ${qt_cross_paths} ${qt_mkspecs_dirs}
> +      HINTS ${qt_cross_paths} ${qt_mkspecs_dirs} NO_CMAKE_FIND_ROOT_PATH
>        DOC "The location of the Qt mkspecs containing qconfig.pri")
>    endif()
>  

Thanks!  However, this patch doesn't look complete.  You are doing this for the mkspecs part, but not the plugins and imports part.
To be consistent, can you check those other 2 places too?

Clint


More information about the CMake mailing list