[CMake] How to set environment variables with spaces in commands
Attila Krasznahorkay
attila.krasznahorkay at gmail.com
Thu Dec 10 00:52:57 EST 2015
Hi QP,
Probably not the intended solution, but what I’m doing in such cases is that in a patch step I create a shell script that does the configuration for me. With all the environment settings and everything. Like:
PATCH_COMMAND ${CMAKE_COMMAND} -E echo “cd someDir/; CC=\”something\” ./configure” > configure.sh
CONFIGURE_COMMAND sh configure.sh
Unfortunately this makes the code quite unportable, as it will only work on POSIX platforms like this. But I guess that’s the case anyway once you start setting environment variables.
Cheers,
Attila
P.S. I often create build.sh and install.sh scripts as well in additional patch commands.
> On Dec 10, 2015, at 5:35 AM, Qingping Hou <dave2008713 at gmail.com> wrote:
>
> Hi all,
>
> I am trying to setup an ExternalProject in cmake but got stuck in the
> configuration step. I am using ccache to speed up the compilation:
>
> ```
> ExternalProject_Add(
> ...
> CONFIGURE_COMMAND CC="ccache arm-linux-gnueabihf-gcc" ./configure
> ...
> )
> ```
>
> However, when cmake generates the Makefile, it moves the quotes around
> and breaks the command:
>
> ```
> "CC=ccache arm-linux-gnueabihf-gcc" ./configure
> ```
>
> I have tried various escaping method to try to get it work properly
> without any luck. Is this a bug or an unintended feature?
>
> Thanks,
> QP
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
More information about the CMake
mailing list