Brilliant! your suggestion has worked!
Thank you so much Edo On Wed, Sep 4, 2019 at 11:23 AM Eric Doenges <doen...@mvtec.com> wrote: > On 04.09.2019 11:55, Edoardo Pasca wrote: > > Dear all, > > I'm using ExternalProjectAdd to build an external package. > > On the CONFIGURE_COMMAND I have to pass some variables to the configure > script in this form: > > configure CPPFLAGS="-I/dir/include -L/dir/lib" > > To do this I use > > CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${CMAKE_BINARY_DIR}/configure > CPPFLAGS="-I/dir/include -L/dir/lib" > > However, when cmake issues that command (you can see that with make > VERBOSE=1) it wraps the CPPFLAGS parameters with quotation marks (as below) > and the configure script fails > > configure "CPPFLAGS=\"-I/dir/include -L/dir/lib\"" > > Below you can find a minimal CMakeLists.txt to test this. > > I'd appreciate any help on how I'd remove those quotation marks. > > Thanks > > Edo > > > What I do is let CMake handle this itself by defining a (list) variable > for the configure command: > > set(cmd "${CMAKE_BINARY_DIR}/configure") > list(APPEND cmd "CPPFLAGS=-I/dir/include -L/dir/lib") > ExternalProject_Add(... > CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${cmd} > ...) > > Since cmd is a list, CMake knows that the -L/dir/lib belongs to the > CPPFLAGS=-I/dir/include part, and puts double quotes around the entire > thing, e.g. the actual command line will look something like this: > > <xxx>/configure "CPPFLAG=-Idir/include -L/dir/lib" > This works with GNU autoconf. I've found that in general, dealing with > quoting in ExternalProject_Add is a gigantic pain, so if the method above > is not sufficient, I use configure_file or file(WRITE) to generate a shell > script (Linux) or batch file (Windows) with the correct parameters and call > that instead. > > With kind regards, > Eric Dönges > > *Dr. Eric Dönges * > Senior Software Engineer > > MVTec Software GmbH | Arnulfstr. 205 | 80634 Munich | Germany > doen...@mvtec.com | Tel: +49 89 457 695-0 | www.mvtec.com > > Sign up <http://www.mvtec.com/newsletter> for our MVTec Newsletter! > > Geschäftsführer: Dr. Wolfgang Eckstein, Dr. Olaf Munkelt > Amtsgericht München HRB 114695 > > > [image: MVTec Software GmbH Logo] > -- > > 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: > https://cmake.org/mailman/listinfo/cmake > -- Edo I know you think you understand what you thought I said, but I'm not sure you realize that what you heard is not what I meant (prob. Alan Greenspan) :wq
-- 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: https://cmake.org/mailman/listinfo/cmake