Fixes cross-compiling from macos to linux.
see #997 for background.
I had to make a couple of extra changes to support this:
Setting CMAKE_SYSTEM_NAME manually causes CMAKE_SYSTEM_PROCESSOR to not be set. This breaks some builds that expect this variable to be set like libjpeg-turbo.
I made it so that the above variables are only set when cross-compilation is detected so that rules_foreign_cc only takes on responsibility of setting them when necessary.
The macros utilise bazel "transitions" to set the `make` toolchain used
in the configure_make(), cmake() or make() rules to
a given make variant toolchain, e.g. preinstalled_nmake.
Note that the msvc constraint was removed from the
`exec_compatible_with` attribute of `preinstalled_nmake_toolchain` as
the condition is not actually met even when building with msvc. See
https://github.com/bazelbuild/bazel/issues/7730.
This will be tested in PR#729
* Fix tool_prefix for CMake.
Set the prefix before the first CMake invocation (where all the extra
flags are passed), and don't set the prefix for the `--build` and
`--install` invocations of CMake.
Fixes #685.
* Update test/cmake_text_tests.bzl
Co-authored-by: UebelAndre <github@uebelandre.com>
* Added a new `platform_info` target to the foreign_cc framework
* Update foreign_cc/private/framework/platform.bzl
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
Co-authored-by: James Sharpe <james.sharpe@zenotech.com>
* Enable more tests for RBE
* Turn off gn build for RBE
* Fix to make_simple example
* Turn off configure_with_bazel_transitive due to an issue with toolchain configuration
* Add CMAKE_MAKE_PROGRAM to generate_args
* Set CMP0074 policy for cmake to use the ZLIB_ROOT entry
* Disable libpng build on rbe
* Disable bison build on RBE
* Disable cmake_android example on RBE
* Fix typo in ZLIB_ROOT
* Reenable libpng build
* Address review comments
* Added `targets` API to all existing build rules
* Updated examples
* Restore making the make toolchain always available.
* Add support for generator cmake parsing and setting CMAKE_MAKE_PROGRAM
* Cleaned up duplicate generator arguments
* Fixed cmake tests
* Updated docs
* Addressed PR feedback
* Fixed missing and incorrect generators
* Fixed `generate_args` name