docs/182833: [porters-handbook]: document QMake usage, update Qt section

Max Brazhnikov makc at FreeBSD.org
Tue Oct 8 15:40:01 UTC 2013


>Number:         182833
>Category:       docs
>Synopsis:       [porters-handbook]: document QMake usage, update Qt section
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 08 15:40:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Max Brazhnikov
>Release:        FreeBSD 9.2-PRERELEASE amd64
>Organization:
>Environment:
>Description:
Document new USES= qmake
Remove Qt 3.x stuff

http://people.freebsd.org/~makc/patches/ph-qmake.diff
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: en_US.ISO8859-1/books/porters-handbook/book.xml
===================================================================
--- en_US.ISO8859-1/books/porters-handbook/book.xml	(revision 42890)
+++ en_US.ISO8859-1/books/porters-handbook/book.xml	(working copy)
@@ -6539,15 +6539,6 @@
 	  <tgroup cols="2">
 	    <tbody>
 	      <row>
-		<entry><makevar>USE_QT_VER</makevar></entry>
-		<entry>The port uses the Qt toolkit.  The only
-		  possible value is <literal>3</literal>.
-		  Appropriate parameters are passed to
-		  <command>configure</command> script and
-		  <command>make</command>.</entry>
-	      </row>
-
-	      <row>
 		<entry><makevar>USE_QT4</makevar></entry>
 		<entry>Specify tool and library dependencies for ports
 		  that use Qt 4.  See
@@ -6648,19 +6639,7 @@
 	  </tgroup>
 	</table>
 
-	<para>When <makevar>USE_QT_VER</makevar> is set to
-	  <literal>3</literal>, some useful settings are passed to the
-	  <command>configure</command> script:</para>
-
-	<programlisting>CONFIGURE_ARGS+=	--with-qt-includes=${QT_PREFIX}/include \
-			--with-qt-libraries=${QT_PREFIX}/lib \
-			--with-extra-libs=${LOCALBASE}/lib \
-			--with-extra-includes=${LOCALBASE}/include
-CONFIGURE_ENV+=	MOC="${MOC}" LIBS="${QTCFGLIBS}" \
-		QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
-CPPFLAGS+=	${QTCPPFLAGS}</programlisting>
-
-	<para>If <makevar>USE_QT4</makevar> is set, the following
+	<para>When <makevar>USE_QT4</makevar> is set, the following
 	  settings are deployed:</para>
 
 	<programlisting>CONFIGURE_ARGS+=	--with-qt-includes=${QT_INCDIR} \
@@ -6677,7 +6656,7 @@
       </sect2>
 
       <sect2 id="qt4-components">
-	<title>Component Selection (Qt 4.x Only)</title>
+	<title>Component Selection</title>
 
 	<para>Individual Qt 4 tool and library dependencies must be
 	  specified in the <makevar>USE_QT4</makevar> variable.  Every
@@ -6847,29 +6826,60 @@
 	</example>
       </sect2>
 
-      <sect2 id="qt-additional">
-	<title>Additional Considerations</title>
+      <sect2 id="using-qmake">
+	<title>Using <command>qmake</command></title>
 
+	<table frame="none">
+	  <title>Variables for Ports That Use
+	    <command>qmake</command></title>
+
+	  <tgroup cols="2">
+	    <thead>
+	      <row>
+		<entry>Variable</entry>
+		<entry>Means</entry>
+	      </row>
+	    </thead>
+
+	    <tbody>
+	      <row>
+		<entry><makevar>QMAKE_ARGS</makevar></entry>
+		<entry>Port specific <application>QMake</application>
+		  flags to be passed to the <command>qmake</command>
+		  binary.</entry>
+	      </row>
+
+	      <row>
+		<entry><makevar>QMAKE_ENV</makevar></entry>
+		<entry>Environment variables to be set for
+		  <command>qmake</command> binary.  Default is
+		  <literal>${CONFIGURE_ENV}</literal>.</entry>
+	      </row>
+
+	      <row>
+		<entry><makevar>QMAKE_PRO</makevar></entry>
+		<entry>Name of the project <filename>.pro</filename> file.
+		  Default is empty (using autodetection).</entry>
+	      </row>
+	    </tbody>
+	  </tgroup>
+	</table>
+
 	<para>If the application does not provide a
-	  <filename>configure</filename> file but a
+	  <filename>configure</filename> script but a
 	  <filename>.pro</filename> file, you can use the
 	  following:</para>
 
-	<programlisting>HAS_CONFIGURE=	yes
+	<programlisting>USES=	qmake
+USE_QT4=	qmake_build</programlisting>
 
-do-configure:
-	@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
-		${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} texmaker.pro</programlisting>
+	<para><literal>USES= qmake</literal> instructs the port to
+	  use <command>qmake</command> for configuring.
+	  Note that <literal>USES= qmake</literal> does not imply
+	  dependency on Qt 4 <command>qmake</command>, thus
+	  <literal>USE_QT4</literal> has to be populated with
+	  <literal>qmake_build</literal> component.</para>
 
-	<para>Note the similarity to the <command>qmake</command> line
-	  from the provided <filename>BUILD.sh</filename> script.
-	  Passing <makevar>CONFIGURE_ENV</makevar> ensures
-	  <command>qmake</command> will see the
-	  <makevar>QMAKESPEC</makevar> variable, without which it
-	  cannot work.  <command>qmake</command> generates standard
-	  Makefiles, so it is not necessary to write our own
-	  <maketarget>build</maketarget> target.</para>
-
 	<para>Qt applications often are written to be cross-platform
 	  and often X11/Unix is not the platform they are developed
 	  on, which in turn often leads to certain loose ends,
@@ -6885,8 +6895,8 @@
 	      the include and library search paths via the command
 	      line, for example:</para>
 
-	    <programlisting>${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} INCLUDEPATH+=${LOCALBASE}/include \
-	LIBS+=-L${LOCALBASE}/lib sillyapp.pro</programlisting>
+	    <programlisting>QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \
+	LIBS+=-L${LOCALBASE}/lib</programlisting>
 	  </listitem>
 
 	  <listitem>
Index: en_US.ISO8859-1/books/porters-handbook/uses.xml
===================================================================
--- en_US.ISO8859-1/books/porters-handbook/uses.xml	(revision 42890)
+++ en_US.ISO8859-1/books/porters-handbook/uses.xml	(working copy)
@@ -179,6 +179,15 @@
 </row>
 
 <row>
+  <entry><literal>qmake</literal></entry>
+  <entry>(none), <literal>norecursive</literal></entry>
+
+  <entry>The port will use <application>QMake</application> for
+    configuring.  For more information see
+    <xref linkend="using-qmake"/>.</entry>
+</row>
+
+<row>
   <entry><literal>readline</literal></entry>
   <entry>(none), port</entry>
   <entry>Implies that the port uses


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-doc mailing list