From 595cb946d6c16ddaef8f7752073933ebb43d7c3d Mon Sep 17 00:00:00 2001 From: MiguelBarro <45819833+MiguelBarro@users.noreply.github.com> Date: Mon, 13 Jun 2022 13:04:27 +0200 Subject: [PATCH] Fixing CMakeLists.txt to avoid using curl (#2749) * Refs 14849. Avoid using cURL from CMake to fix windows installer ci Signed-off-by: Miguel Barro * Refs 14849. Addressing reviewers comments Signed-off-by: Miguel Barro (cherry picked from commit 50de9b6d6f79beb1811bb162177d2f41f474187a) --- CMakeLists.txt | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb39c3e4e70..5b1409ea701 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -355,12 +355,6 @@ if(BUILD_DOCUMENTATION) endif() if(NOT CHECK_DOCUMENTATION) - find_program(CURL_EXE curl) - if(CURL_EXE) - message(STATUS "Found cURL: ${CURL_EXE}") - else() - message(FATAL_ERROR "curl is needed to build the documentation. Please install it correctly") - endif() find_program(UNZIP_EXE unzip) if(UNZIP_EXE) message(STATUS "Found Unzip: ${UNZIP_EXE}") @@ -405,12 +399,23 @@ if(BUILD_DOCUMENTATION) ### ReadTheDocs ######################## if(NOT CHECK_DOCUMENTATION) + + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/readthedocs_custom_template.cmake [=[ + + file(DOWNLOAD "https://fast-dds.docs.eprosima.com/_/downloads/en/v${PROJECT_VERSION}/htmlzip/" "eprosima-fast-rtps.zip") + # TODO: when windows ci CMake version surpasses 17 favor file() instead of UNZIP as in the next line + # file(ARCHIVE_EXTRACT INPUT "eprosima-fast-rtps.zip" DESTINATION "${PROJECT_BINARY_DIR}/doc/") + execute_process(COMMAND "${UNZIP_EXE}" "eprosima-fast-rtps.zip" -d "${PROJECT_BINARY_DIR}/doc/") + file(REMOVE_RECURSE "${PROJECT_BINARY_DIR}/doc/manual") + file(RENAME "${PROJECT_BINARY_DIR}/doc/eprosima-fast-rtps-v${PROJECT_VERSION}" "${PROJECT_BINARY_DIR}/doc/manual") + file(REMOVE "eprosima-fast-rtps.zip") + + ]=]) + + configure_file(${CMAKE_CURRENT_BINARY_DIR}/readthedocs_custom_template.cmake ${CMAKE_CURRENT_BINARY_DIR}/readthedocs_custom.cmake) + add_custom_target(readthedocs - COMMAND "${CURL_EXE}" "https://fast-dds.docs.eprosima.com/_/downloads/en/v${PROJECT_VERSION}/htmlzip/" "--silent" "--output" "eprosima-fast-rtps.zip" - COMMAND "${UNZIP_EXE}" "eprosima-fast-rtps.zip" -d "${PROJECT_BINARY_DIR}/doc/" - COMMAND ${CMAKE_COMMAND} -E remove_directory "${PROJECT_BINARY_DIR}/doc/manual" - COMMAND ${CMAKE_COMMAND} -E rename "${PROJECT_BINARY_DIR}/doc/eprosima-fast-rtps-v${PROJECT_VERSION}" "${PROJECT_BINARY_DIR}/doc/manual" - COMMAND ${CMAKE_COMMAND} -E remove "eprosima-fast-rtps.zip" + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/readthedocs_custom.cmake ) add_dependencies(readthedocs docdirs)