This does the following.
1. Fixes checking if the CXX compiler works on platforms other than windows.
2. Turns the error when the CXX compiler is missing or doesn't work into a warning.
3. Adds HAVE_CC and HAVE_CXX.
4. Only adds CC and CXX to config.mk when HAVE_CC or HAVE_CXX are true.
5. Disables Qt companion, Vulkan, CXX_BUILD and NEED_CXX_LINKER if HAVE_CXX is false.
6. Explicitly errors when the CXX compiler is broken or missing and Qt or vulkan support is enabled.
7. No longer explicitly links with the CXX compiler on windows since this should no longer be needed.
This also adds the function `check_enabled` to `qb/qb.lib.sh` which
can be used to dynamically disable any libraries that require C++
support.
This allows a user to use --datarootdir=PATH to configure the
share directory used for pixmaps, desktop files, man pages and assets.
By default this will be '/usr/local/share'. Assets and man page install
paths can still be configured with:
--with-man_dir=PATH
and
--with-assets_dir=PATH
Some operating systems like Haiku use unconventional install paths
and this should allow them to configure their build correctly.
Haiku really should use the configure flags provided, that is why they exists.
In this case.
./configure \
--global-config-dir=$PREFIX/settings
--with-assets_dir=$PREFIX/data
--with-mand_dir=$PREFIX/documentation/man
Changing the defaults just makes the script more complicated for no good reason.
This accomplishes two things for the fallback path without pkg-config.
1. If --disable-foo is passed to configure it will explicitly skip
check_val. This has the benefit of reducing checks in
qb/config.libs.sh which are easy to break due to human error.
2. When a fallback path exists and --enable-foo is passed to configure,
but fails due to the missing -lfoo check_val will now bail and print
a configure error. However --enable-foo will still be ignored if
there is no fallback path and pkg-config is not installed.
One issue with this is that if pkg-config is installed and the package
foo is not, it will still check if -lfoo works. As not all pkg-config
implemenations can be trusted to work even if they exist this seems
unavoidable.
adding artifact step
installing Cg
curl instead of wget
specifying the xcodeproject path
fixing path
troubleshooting
adding configure step
fixing configure step
adding submodule fetch step
disabling artifact step
using zip to upload just one file to artifacts
fine tuning build.zip
bugfix
undoing whitespace changes
fixing zip step