Age | Commit message (Collapse) | Author | Files | Lines |
|
When finding the Qt compilation tools (moc, uic, rcc, lrelease), the
version strings contain a trailing newline character. This results in a
stray newline in the meson log:
Detecting Qt5 tools
Program /usr/lib64/qt5/bin/moc found: YES 5.14.2
(/usr/lib64/qt5/bin/moc)
Program /usr/lib64/qt5/bin/uic found: YES 5.14.2
(/usr/lib64/qt5/bin/uic)
Program /usr/lib64/qt5/bin/rcc found: YES 5.14.2
(/usr/lib64/qt5/bin/rcc)
Program /usr/lib64/qt5/bin/lrelease found: YES 5.14.2
(/usr/lib64/qt5/bin/lrelease)
Strip the version to avoid this, resulting in a cleaner log:
Detecting Qt5 tools
Program /usr/lib64/qt5/bin/moc found: YES 5.14.2 (/usr/lib64/qt5/bin/moc)
Program /usr/lib64/qt5/bin/uic found: YES 5.14.2 (/usr/lib64/qt5/bin/uic)
Program /usr/lib64/qt5/bin/rcc found: YES 5.14.2 (/usr/lib64/qt5/bin/rcc)
Program /usr/lib64/qt5/bin/lrelease found: YES 5.14.2 (/usr/lib64/qt5/bin/lrelease)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The compilers_detect function is only used in the qt module, which
checks every time before using a specific compiler, if it is found.
e.g.
meson.build:10:6: ERROR: MOC sources specified and couldn't find moc-qt5, please check your qt5 installation
In fact, the current check means we never even hit this error to begin
with, because we previously died on the uninformative error:
meson.build:10:6: ERROR: Program(s) ['moc'] not found or not executable
which doesn't actually tell the user why this matters, and is all around
a waste of time.
Fixes #5582
|
|
Improve logs by making it clear when the program is found but has
wrong version.
|
|
it really doesn't make sense to put this in the ExternalDependency
class. It doesn't rely on any of the state of that class, and it's
generically useful inside meson.
|
|
This is a holdover from before we had the DependencyFactory. It should
have already been refactored into the initializer, but wasn't for some
reason.
|
|
|
|
Now follows ios and other platform directory layouts. Moves from
separate android_$arch directories to every library containing a _$arch
suffix. e.g. libQt5Core_x86.a in a single directory.
|
|
`b_vscrt` has existed forever, and is the canonical source for
which CRT to link to, and hence whether to use the debug libraries
or not.
|
|
|
|
Sometimes qt can be installed not as framework on MacOS. One way to
achieve this behaviour is to use conan package manager.
Allow falling back to simple library search if framework was
not found. In addition, allow to find the debug version of qt debug
libraries which have "_debug" suffix added to them.
Fixes #5091
|
|
Fixes #6564
|
|
|
|
so set the language field appropriately
|
|
There is a comment saying we do it because we used to do it. But it's
wrong and lead to using system library when cross compiling.
Factor out the code we use to find pkg-config, because it is the same
use-case.
|
|
|
|
|
|
|
|
Currently PkgConfig takes language as a keyword parameter in position 3,
while the others take it as positional in position 2. Because most
dependencies don't actually set a language (they use C style linking),
using a positional argument makes more sense. ExtraFrameworkDependencies
is even more different, and duplicates some arguments from the base
ExternalDependency class.
For later changes I'm planning to make having all of the dependencies
use the same signature is really, really helpful.
|
|
I want to use this in a new class as well, that doesn't descend from
Dependency.
|
|
Don't fail with 'KeyError: QMAKE_XSPEC' if `qmake -query` doesn't report
QMAKE_XSPEC. (Seen with 4.8.7)
|
|
|
|
We might be using the 32-bit bits of the VulkanSDK on Windows on x64
Windows, so we still need to pass in the compiler items to detect what
architecture we are building for, so that we link to the correct Vulkan
libraries.
We might want to look into this again if Microsoft will allow ARM/ARM64
versions of the Vulkan drivers and SDK, since post-basic OpenGL and
any Vulkan are not supported on Windows-on-ARM.
|
|
|
|
In most cases instead pass `for_machine`, the name of the relevant
machines (what compilers target, what targets run on, etc). This allows
us to use the cross code path in the native case, deduplicating the
code.
As one can see, environment got bigger as more information is kept
structured there, while ninjabackend got a smaller. Overall a few amount
of lines were added, but the hope is what's added is a lot simpler than
what's removed.
|
|
Cache compilers.compile() in coredata
|
|
|
|
|
|
|
|
When building for iOS, the Qt binaries only contain static libraries
and headers. No framework.
With this, Meson can successfully compile and link to Qt on iOS
|
|
We used to look for the QMAKE env var in earlier versions of Meson,
start looking for it again.
|
|
Instead of only doing a naive filesystem search, also run the linker
so that it can tell us whether the -F path specified actually contains
the framework we're looking for.
Unfortunately, `extraframework` searching is still not 100% correct in
the case when since we want to search in either /Library/Frameworks or
in /System/Library/Frameworks but not in both. The -Z flag disables
searching in those prefixes and would in theory allow this, but then
you cannot force the linker to look in those by manually adding -F
args, so that doesn't work.
|
|
More programming errors exposed by not ignoring all exceptions.
|
|
|
|
|
|
|
|
Fixes #4641
|
|
Since 0.46.1 pkg-config detection has been broken using the qt from homebrew,
due to a bug in homebrew (I think). Tested with qt 5.12.0 on Mojave.
|
|
We previously didn't require it so we shouldn't silently start doing so.
Fixes #4654
|
|
Fixes: #4527
|
|
|
|
This more generic method will also be used to check a config file for
binary information.
|
|
Don't check the build machine to determine a dependency whose availability
is static property of the host machine
|
|
On Arch Linux the wxgtk3 package doesn't provide wx-config.
|
|
|
|
Make us report 'system' and 'framework' when we tried those methods to
locate the dependency.
|
|
A mistake in 82bdf07a
|
|
Also use a more consistent format for qmake details, and adjust a test case
which relies on the specific output
|
|
Windows (#2327)
|
|
Consistently use None to store an unknown dependency version (rather than
'none', 'unknown' or some made up version)
|
|
This is a typo in 82bdf07a
|