From a9a314c289e8146c6dc23dada98066486656ad87 Mon Sep 17 00:00:00 2001 From: DmitryKuk Date: Wed, 6 Apr 2016 19:41:10 +0300 Subject: [PATCH 1/2] Qt5 support for Mac OS partially fixed --- src/tools/qt5.jam | 148 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 114 insertions(+), 34 deletions(-) diff --git a/src/tools/qt5.jam b/src/tools/qt5.jam index 464066da87..a3c71f6c7e 100644 --- a/src/tools/qt5.jam +++ b/src/tools/qt5.jam @@ -370,34 +370,73 @@ rule init ( prefix : version ? : condition * : namespace ? : infix ? : full_bin .infix_version = "5" ; } - lib QtCore : qtmain - : # requirements - Qt$(.infix_version)Core - $(target-requirements) - : # default-build - : # usage-requirements - QT_CORE_LIB - QT_NO_DEBUG - $(.incprefix)/QtCore - $(usage-requirements) - ; - - if $(.have_separate_debug) = TRUE - { - debug-message Configure debug libraries with suffix '$(.suffix_debug)' ; - - lib QtCore : $(main) + local host_os = [ modules.peek : OS ] ; + if $(host_os) = MACOSX + { + alias QtCore : qtmain : # requirements - Qt$(.infix_version)Core$(.suffix_debug) - debug + Qt$(.infix_version)Core $(target-requirements) : # default-build : # usage-requirements QT_CORE_LIB + QT_NO_DEBUG $(.incprefix)/QtCore + "-F$(.prefix)/lib" + "-framework QtCore" $(usage-requirements) ; } + else + { + lib QtCore : qtmain + : # requirements + Qt$(.infix_version)Core + $(target-requirements) + : # default-build + : # usage-requirements + QT_CORE_LIB + QT_NO_DEBUG + $(.incprefix)/QtCore + $(usage-requirements) + ; + } + + if $(.have_separate_debug) = TRUE + { + debug-message Configure debug libraries with suffix '$(.suffix_debug)' ; + + if $(host_os) = MACOSX + { + alias QtCore : qtmain + : # requirements + Qt$(.infix_version)Core$(.suffix_debug) + debug + $(target-requirements) + : # default-build + : # usage-requirements + QT_CORE_LIB + $(.incprefix)/QtCore + "-F$(.prefix)/lib" + "-framework $(lib-name)" + $(usage-requirements) + ; + } + else + { + lib QtCore : $(main) + : # requirements + Qt$(.infix_version)Core$(.suffix_debug) + debug + $(target-requirements) + : # default-build + : # usage-requirements + QT_CORE_LIB + $(.incprefix)/QtCore + $(usage-requirements) + ; + } + } } if [ glob $(.incprefix)/QtAngle ] @@ -683,6 +722,8 @@ rule add-static-library ( lib-name : depends-on * : usage-defines * : requiremen # - include non-canonical include path. The canonical path is $(.incprefix)/$(lib-name). rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requirements * : include ? ) { + local host_os = [ modules.peek : OS ] ; + if $(.bjam-qt) { # Import Qt module @@ -701,33 +742,72 @@ rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requi local real_name = [ MATCH ^Qt(.*) : $(lib-name) ] ; - lib $(lib-name) - : # sources - $(depends-on) - : # requirements - Qt$(version)$(real_name) - $(requirements) - : # default-build - : # usage-requirements - $(usage-defines) - $(.incprefix)/$(real_include) - ; - - if $(.have_separate_debug) = TRUE + if $(host_os) = MACOSX + { + alias $(lib-name) + : # sources + $(depends-on) + : # requirements + Qt$(version)$(real_name) + $(requirements) + : # default-build + : # usage-requirements + $(usage-defines) + $(.incprefix)/$(real_include) + "-F$(.prefix)/lib" + "-framework $(lib-name)" + ; + } + else { lib $(lib-name) : # sources $(depends-on) : # requirements - Qt$(version)$(real_name)$(.suffix_debug) + Qt$(version)$(real_name) $(requirements) - debug : # default-build : # usage-requirements $(usage-defines) $(.incprefix)/$(real_include) ; } + + if $(.have_separate_debug) = TRUE + { + if $(host_os) = MACOSX + { + alias $(lib-name) + : # sources + $(depends-on) + : # requirements + Qt$(version)$(real_name)$(.suffix_debug) + $(requirements) + debug + : # default-build + : # usage-requirements + $(usage-defines) + $(.incprefix)/$(real_include) + "-F$(.prefix)/lib" + "-framework $(lib-name)" + ; + } + else + { + lib $(lib-name) + : # sources + $(depends-on) + : # requirements + Qt$(version)$(real_name)$(.suffix_debug) + $(requirements) + debug + : # default-build + : # usage-requirements + $(usage-defines) + $(.incprefix)/$(real_include) + ; + } + } } # Make library explicit so that a simple qt5 will not bring in everything. From 599adcbcb5419d4af331303bdfbdd988f23b391e Mon Sep 17 00:00:00 2001 From: DmitryKuk Date: Wed, 6 Apr 2016 20:17:03 +0300 Subject: [PATCH 2/2] Code style fixed --- src/tools/qt5.jam | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tools/qt5.jam b/src/tools/qt5.jam index a3c71f6c7e..320583f9f1 100644 --- a/src/tools/qt5.jam +++ b/src/tools/qt5.jam @@ -370,8 +370,8 @@ rule init ( prefix : version ? : condition * : namespace ? : infix ? : full_bin .infix_version = "5" ; } - local host_os = [ modules.peek : OS ] ; - if $(host_os) = MACOSX + local host-os = [ modules.peek : OS ] ; + if $(host-os) = MACOSX { alias QtCore : qtmain : # requirements @@ -406,7 +406,7 @@ rule init ( prefix : version ? : condition * : namespace ? : infix ? : full_bin { debug-message Configure debug libraries with suffix '$(.suffix_debug)' ; - if $(host_os) = MACOSX + if $(host-os) = MACOSX { alias QtCore : qtmain : # requirements @@ -722,7 +722,7 @@ rule add-static-library ( lib-name : depends-on * : usage-defines * : requiremen # - include non-canonical include path. The canonical path is $(.incprefix)/$(lib-name). rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requirements * : include ? ) { - local host_os = [ modules.peek : OS ] ; + local host-os = [ modules.peek : OS ] ; if $(.bjam-qt) { @@ -742,7 +742,7 @@ rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requi local real_name = [ MATCH ^Qt(.*) : $(lib-name) ] ; - if $(host_os) = MACOSX + if $(host-os) = MACOSX { alias $(lib-name) : # sources @@ -775,7 +775,7 @@ rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requi if $(.have_separate_debug) = TRUE { - if $(host_os) = MACOSX + if $(host-os) = MACOSX { alias $(lib-name) : # sources