[CMake] ExternalProject question

vadtec vadtec at vadtec.net
Sun Feb 7 00:47:06 EST 2016


I'm using ExternalProject to build external dependencies. curl provides a cmake build process, but I cannot figure out how to pass options such as:

--disable-manual --disable-shared --without-librtmp --without-libidn --without-winidn --without-winssl --disable-ldap --disable-ldaps --enable-ipv6 --enable-threaded-resolver --enable-cookies --enable-static


to the build process. The only way I've found to get it to work is to use a custom CONFIGURE_COMMAND and related steps. I would prefer to use the cmake build process.


This is what I have that works:


ExternalProject_Add(
    CURL
    DEPENDS OPENSSL ZLIB OPENSSH
    SOURCE_DIR ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/
    PREFIX ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/
    DOWNLOAD_COMMAND tar xvjf ${PROJECT_BINARY_DIR}/deps/curl-7.43.0.tar.bz2
    DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/deps/
    CONFIGURE_COMMAND cd ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/ && ./configure --prefix=${PROJECT_BINARY_DIR}/deps/binary/linux/ --disable-manual --disable-shared --without-librtmp --without-libidn --without-winidn --without-winssl --disable-ldap --disable-ldaps --enable-ipv6 --enable-threaded-resolver --enable-cookies --enable-static
    BUILD_COMMAND cd ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/ && make
    INSTALL_COMMAND ""
)



I want to use this, so that cmake can do its thing while still giving me the specific variant of curl I want:


ExternalProject_Add(
    CURL
    DEPENDS OPENSSL ZLIB OPENSSH
    SOURCE_DIR ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/
    PREFIX ${PROJECT_BINARY_DIR}/deps/curl-7.43.0/
    DOWNLOAD_COMMAND tar xvjf ${PROJECT_BINARY_DIR}/deps/curl-7.43.0.tar.bz2
    DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/deps/
    CMAKE_ARGS
        -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/deps/binary/linux/
        -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
        -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
        -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
        -DCMAKE_MOUDLE_PATH=${MAKE_MOUDLE_PATH}
    INSTALL_COMMAND ""
)


Vadtecvadtec at vadtec.net




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160206/d5e638a1/attachment.html>


More information about the CMake mailing list