[CMake] external project CONFIGURE_COMMAND adds quotation to arguments
Edoardo Pasca
edo.paskino at gmail.com
Wed Sep 4 05:55:23 EDT 2019
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
cmake_minimum_required(VERSION 3.9.0)
project(libACE)
include(ExternalProject)
#create a configure script
file(WRITE ${CMAKE_SOURCE_DIR}/configure
"
#! /bin/bash
echo $0 received $# parameters
for arg
do echo $arg
done
")
file(COPY ${CMAKE_SOURCE_DIR}/configure
DESTINATION ${CMAKE_BINARY_DIR}
FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ)
ExternalProject_Add(
external_test
GIT_REPOSITORY https://github.com/paskino/libace-conda
GIT_TAG origin/master
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${CMAKE_BINARY_DIR}/configure
NVCCFLAGS="-Idir -Ldir" CPPFLAGS="-Idirc -Ldirl"
BUILD_COMMAND ""
INSTALL_COMMAND ""
LOG_INSTALL 1
BINARY_DIR ${CMAKE_BINARY_DIR}/build/
INSTALL_DIR ${CMAKE_BINARY_DIR}/install
STAMP_DIR ${CMAKE_BINARY_DIR}/stamp
TMP_DIR ${CMAKE_BINARY_DIR}/tmp
DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/download
SOURCE_DIR ${CMAKE_BINARY_DIR}/source
)
--
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20190904/bd471acb/attachment.html>
More information about the CMake
mailing list