[CMake] Checking Variables in a tool-chain file

Craig Scott craig.scott at crascit.com
Thu Jan 31 15:10:17 EST 2019


This is precisely the scenario that the CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
<https://cmake.org/cmake/help/latest/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES.html>
variable
is meant for. It allows a toolchain file to specify additional variables
that should be passed along to try_compile().


On Fri, Feb 1, 2019 at 6:36 AM Shoaib Meenai <smeenai at fb.com> wrote:

> We have a somewhat similar problem with LLVM's toolchain file for
> cross-compiling to Windows, and we solve it there by saving and restoring
> cache variables from the environment inside the toolchain file itself. See
> https://reviews.llvm.org/diffusion/L/browse/llvm/trunk/cmake/platforms/WinMsvc.cmake;352783$88-102?as=source&blame=off
> and the subsequent calls to init_user_prop.
>
> On 1/31/19, 12:19 AM, "CMake on behalf of Torsten at Robitzki.de" <
> cmake-bounces at cmake.org on behalf of Torsten at Robitzki.de> wrote:
>
>     Hi Sergei,
>
>     > Am 31.01.2019 um 08:42 schrieb Sergei Nikulov <
> sergey.nikulov at gmail.com>:
>     >
>     > Just guessing maybe better use $ENV{ARM_GCC_TOOL_PATH} ?
>     > https://cmake.org/cmake/help/latest/variable/ENV.html?highlight=env
>
>     Well, but this would mean, I had to configure CMake not only with
> Cache variables:
>
>     cmake
> -DARM_GCC_TOOL_PATH=/usr/local/gcc-arm-none-eabi-7-2018-q2-update
> -DBINDING=nrf52 -DCMAKE_TOOLCHAIN_FILE=../cmake/gcc-arm-none-eabi.cmake
> -DNRF5_SDK_ROOT=~/CMSIS/nRF5_SDK_14-2/ ..
>
>     But also with environment variables:
>     ARM_GCC_TOOL_PATH=/usr/local/gcc-arm-none-eabi-7-2018-q2-update cmake
> -DBINDING=nrf52 -DCMAKE_TOOLCHAIN_FILE=../cmake/gcc-arm-none-eabi.cmake
> -DNRF5_SDK_ROOT=~/CMSIS/nRF5_SDK_14-2/ ..
>
>     Thanks for the pointer, I will think about it.
>
>     kind regards,
>     Torsten
>

-- 
Craig Scott
Melbourne, Australia
https://crascit.com

Get the hand-book for every CMake user: Professional CMake: A Practical
Guide <https://crascit.com/professional-cmake/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20190201/d3033fe2/attachment.html>


More information about the CMake mailing list