[projects/cleanbuild] qt5 related cmake find improvements

glen glen at pld-linux.org
Sat Oct 3 10:23:23 CEST 2015


commit e785e639f4784adcc8308217ddc6584ad5f49bf3
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sat Oct 3 11:22:30 2015 +0300

    qt5 related cmake find improvements

 findbr | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 60 insertions(+), 3 deletions(-)
---
diff --git a/findbr b/findbr
index 9c20cbe..a4aaa12 100755
--- a/findbr
+++ b/findbr
@@ -303,7 +303,7 @@ while ( $_ = shift @lines ) {
 		) {
 		my $pkg = $1;
 		warn "Looking for package $pkg\n";
-		poldek_file( "/usr/lib*/pkgconfig/$pkg.pc" );
+		poldek_file( "/usr/lib*/pkgconfig/$pkg.pc", "/usr/share/pkgconfig/$pkg.pc" );
 	}
 
 	if (/^ocamlfind: Package `(\S+)' not found - required by/
@@ -434,6 +434,10 @@ while ( $_ = shift @lines ) {
 		add_br( "iconv" );
 	}
 
+	if (m{rst2man \(python-docutils\) is required to build man pages}) {
+		add_br("docutils");
+	}
+
 	if ( m{ (\S+) does not appear in AM_CONDITIONAL$} ) {
 		my $macro = $1;
 		warn "Looking for autotools macro $macro\n";
@@ -457,7 +461,7 @@ while ( $_ = shift @lines ) {
 		$check_config_log = 1 unless defined $check_config_log;
 	}
 
-	if ( m{^CMake Error at (?:\S+/)?(\S+?)\.cmake:(\d+) } ) {
+	if ( m{^CMake (?:Error|Warning) at (?:\S+/)?(\S+?)\.cmake:(\d+) } ) {
 		my ( $module, $line ) = ( lc $1, $2 );
 		my $br;
 		if ( $module eq "findqt4" ) {
@@ -505,12 +509,23 @@ while ( $_ = shift @lines ) {
 				add_br( $br );
 				$cmake_get_call = 0;
 			}
+		} elsif (m{Can not use "(.+)" module which has not yet been found}
+			or m{Could not find a package configuration file provided by "(.+)"}) {
+			my $cmake = $1;
+
+			warn "Looking for cmake file: $cmake\n";
+			poldek_file(
+				"/usr/*/cmake/*/$cmake.cmake",
+				"/usr/*/cmake/*/${cmake}Config.cmake",
+				"/usr/*/cmake/*/${cmake}-config.cmake",
+			);
+			$cmake_get_call = 0;
 		}
 	}
 	if ( m{^-- WARNING: you are using the obsolete 'PKGCONFIG' macro} ) {
 		add_br( "pkgconfig" );
 	}
-	if ( m{QT_(QT\S+)_LIBRARY \(ADVANCED\)} 
+	if ( m{QT_(QT\S+)_LIBRARY \(ADVANCED\)}
 			or m{X11_(\S+)_LIB \(ADVANCED\)}
 			or m{Qt (\S+) library not found} ) {
 		my $find = $1;
@@ -549,6 +564,48 @@ while ( $_ = shift @lines ) {
 		}
 	}
 
+	# CMake Error at CMakeLists.txt:86 (find_package):
+	#  By not providing "FindQt5LinguistTools.cmake" in CMAKE_MODULE_PATH this
+	#  project has asked CMake to find a package configuration file provided by
+	#  "Qt5LinguistTools", but CMake did not find one.
+	#
+	#  Could not find a package configuration file provided by "Qt5LinguistTools"
+	#  with any of the following names:
+	#
+	#    Qt5LinguistToolsConfig.cmake
+	#    qt5linguisttools-config.cmake
+	#
+	#  Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
+	#  set "Qt5LinguistTools_DIR" to a directory containing one of the above
+	#  files.  If "Qt5LinguistTools" provides a separate development package or
+	#  SDK, be sure it has been installed.
+	# ---
+	#CMake Warning at /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:273 (find_package):
+	#  Could not find a package configuration file provided by "Qt5Network" with
+	#  any of the following names:
+	#
+	#    Qt5NetworkConfig.cmake
+	#    qt5network-config.cmake
+	#
+	#  Add the installation prefix of "Qt5Network" to CMAKE_PREFIX_PATH or set
+	#  "Qt5Network_DIR" to a directory containing one of the above files.  If
+	#  "Qt5Network" provides a separate development package or SDK, be sure it has
+	#  been installed.
+	#   Can not use "Network" module which has not yet been found.
+
+	if (m{By not providing "Find(.+)\.cmake" in CMAKE_MODULE_PATH}
+		or m{Could not find a package configuration file provided by "(.+)"
+		}) {
+		my $cmake = $1;
+
+		warn "Looking for cmake file: $cmake\n";
+		poldek_file(
+			"/usr/*/cmake/*/$cmake.cmake",
+			"/usr/*/cmake/*/${cmake}Config.cmake",
+			"/usr/*/cmake/*/${cmake}-config.cmake",
+		)
+	}
+
 	if ( m{^configure:\d+: checking for (?:"(\S+)"|(\S+))$} ) {
 		my $exec = $1 || $2;
 		if ( @lines and $lines[0] =~ m{^configure:\d+: result: no$} ) {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/cleanbuild.git/commitdiff/829e8e55c81a491e60f66cf9fbfdc19069556169



More information about the pld-cvs-commit mailing list