diff options
Diffstat (limited to 'coin/instructions/README.md')
-rw-r--r-- | coin/instructions/README.md | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/coin/instructions/README.md b/coin/instructions/README.md index aaefe3696f..f366642395 100644 --- a/coin/instructions/README.md +++ b/coin/instructions/README.md @@ -18,3 +18,61 @@ the ability to build and run tests for ``qemu`` cross-compiling configurations. * ``coin_module_test_template_v3`` changed the run test instructions to not ignore the exit code and thus enforce that tests pass in the CI. + +# Environment variable description and usage + +The following environment variables are used in Coin instructions when building Qt, tests, etc: + +`CONFIGURE_ARGS` - contains platform-specific ``configure-style`` arguments + (e.g. `-shared`), that will be passed to a qtbase configure call +`CMAKE_ARGS` - contains platform-specific ``CMake-style`` arguments + (e.g. `-DOPENSSL_ROOT_DIR=Foo`) that will be passed to a qtbase + configure call +`NON_QTBASE_CONFIGURE_ARGS` - contains platform-specific ``configure-style`` arguments + that will be passed to a non-qtbase qt-configure-module call +`NON_QTBASE_CMAKE_ARGS` - contains platform-specific ``CMake-style`` arguments + that will be passed to a non-qtbase qt-configure-module call +`COMMON_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in + `prepare_building_env.yaml` that apply to qtbase configurations + only. +`COMMON_NON_QTBASE_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in + `prepare_building_env.yaml` that apply to + configuration of repos other than qtbase +`COMMON_TEST_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in + `prepare_building_env.yaml` that apply to configuration of + all standalone tests + +All of the above apply to host builds only. + +There is a a set of environment variables that apply to target builds when cross-compiling which +mirror the ones above. They are: + +`TARGET_CONFIGURE_ARGS` +`TARGET_CMAKE_ARGS` +`NON_QTBASE_TARGET_CONFIGURE_ARGS` +`NON_QTBASE_TARGET_CMAKE_ARGS` + +`COMMON_TARGET_CMAKE_ARGS` +`COMMON_NON_QTBASE_TARGET_CMAKE_ARGS` +`COMMON_TARGET_TEST_CMAKE_ARGS` + +Currently, there are no common ``configure-style`` variables for configuring +repos or tests, only ``CMake-style` ones. + + +`COIN_CMAKE_ARGS` contains the final set of cmake args that is passed to +`configure` / `qt-configure-module`, it is built up from the variables above + any additional values added +by custom instructions, like specification of `CMAKE_INSTALL_PREFIX` etc. + +`INSTALL_DIR_SUFFIX` is used to append either `/host` or `/target` suffixes to install paths in +instructions when cross-building. + +`CONFIGURE_EXECUTABLE` contains a platform-specific path to `configure` / `qt-configure-module` +or `cmake`/ `qt-cmake` depending on whether `UseConfigure` feature is enabled. + +`CONFIGURE_ENV_PREFIX` contains the value of either `ENV_PREFIX` or `TARGET_ENV_PREFIX` depending on +whether it's a cross-build configure call. The values are used when configuring and building, to ensure +that things like compilers are found correctly. + +We use `unixPathSeparators` to pass an install prefix with forward slashes even on Windows, +to avoid escaping issues when using configure. |