[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