I have an external project, which needs several commands to build:
ExternalProject_Add(
xmlrpc_build
PREFIX ${XMLRPC_ROOT}
SOURCE_DIR ${XMLRPC_ROOT}
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ""
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND export CFLAGS=`${CURL_CONFIG} --cflags` COMMAND make -j8
INSTALL_COMMAND ""
)
Unfortunately, cmake escapes `, so the command is ill-formed:
export "CFLAGS=\`/xxx/curl-config" "--cflags\`"
I tired putting it in "", but no luck:
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND "export CFLAGS=`${CURL_CONFIG} --cflags`" COMMAND make -j8
export "CFLAGS=\`/xxx/curl-config" "--cflags\`"
Combinations with using $() instead of `` don't help either:
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND "export CFLAGS=$(${CURL_CONFIG} --cflags)" COMMAND make -j8
"export CFLAGS=\$(/xxx/curl-config --cflags)"
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND export CFLAGS=$(${CURL_CONFIG} --cflags) COMMAND make -j8
export "CFLAGS=\$" "(" /xxx/curl-config --cflags ")"
Is there a way to get a result from a subprocess and assign it to a variable?
EDIT: Tried solutions from another question and still no luck:
set(blah "`${CURL_CONFIG} --cflags`")
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND export CFLAGS=${blah} COMMAND make -j8
export "CFLAGS=\`/xxx/curl-config --cflags\`"
or:
BUILD_COMMAND ./configure --enable-curl-client CURL_CONFIG=${CURL_CONFIG} COMMAND [=[export CFLAGS=`${CURL_CONFIG} --cflags`]=] COMMAND make -j8
"export CFLAGS=\`\${CURL_CONFIG} --cflags\`"