CMake: скачать и распаковать несколько файлов в ExternalProject_Add - PullRequest
0 голосов
/ 04 июля 2019

Я бы хотел автоматически скомпилировать OpenSSL в Windows, используя функции ExternalProject в CMake. В конфигурации я могу указать один URL для загрузки. Но мне нужно несколько дополнительных файлов, которые я хотел бы распаковать в один и тот же исходный каталог. Так что это намерение:

ExternalProject_Add ( ${CMAKE_PROJECT_NAME}    
    PREFIX              ${CMAKE_COMPILE_ROOT}/3rd/${CMAKE_PROJECT_NAME}
    URL                 //sw-storage/3rd/src/${OPENSSL_NAME}/jom.zip
    URL                 //sw-storage/3rd/src/${OPENSSL_NAME}/nasm-2.14.02-win64.zip
    URL                 //sw-storage/3rd/src/${OPENSSL_NAME}/strawberry-perl-5.30.0.1-64bit.zip
    URL                 //sw-storage/3rd/src/${OPENSSL_NAME}/openssl-1.1.1c.tar.gz
    CONFIGURE_COMMAND   perl Configure VC-WIN64A no-idea no-mdc2 no-rc5 --prefix=${INSTALL_DIR} --openssldir=${INSTALL_DIR}/ssl
    BUILD_IN_SOURCE     1
    BUILD_COMMAND       jom.exe
    INSTALL_COMMAND     jom.exe install

Это не представляется возможным. Указание нескольких записей URL приводит к следующему сообщению об ошибке:

CMake Error at C:/build/cmake-3.13.4/share/cmake-3.13/Modules/ExternalProject.cmake:2455 (message): 
At least one entry of URL is a path (invalid in a list)

Есть ли способ сделать это в CMake?

...