# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. cmake_minimum_required(VERSION 3.5) if(EXISTS "@hgclone_stampfile@" AND EXISTS "@hgclone_infofile@" AND "@hgclone_stampfile@" IS_NEWER_THAN "@hgclone_infofile@") message(STATUS "Avoiding repeated hg clone, stamp file is up to date: " "'@hgclone_stampfile@'" ) return() endif() execute_process( COMMAND ${CMAKE_COMMAND} -E rm -rf "@source_dir@" RESULT_VARIABLE error_code ) if(error_code) message(FATAL_ERROR "Failed to remove directory: '@source_dir@'") endif() execute_process( COMMAND "@hg_EXECUTABLE@" clone -U "@hg_repository@" "@src_name@" WORKING_DIRECTORY "@work_dir@" RESULT_VARIABLE error_code ) if(error_code) message(FATAL_ERROR "Failed to clone repository: '@hg_repository@'") endif() execute_process( COMMAND "@hg_EXECUTABLE@" update @hg_tag@ WORKING_DIRECTORY "@work_dir@/@src_name@" RESULT_VARIABLE error_code ) if(error_code) message(FATAL_ERROR "Failed to checkout tag: '@hg_tag@'") endif() # Complete success, update the script-last-run stamp file: # execute_process( COMMAND ${CMAKE_COMMAND} -E copy "@hgclone_infofile@" "@hgclone_stampfile@" RESULT_VARIABLE error_code ) if(error_code) message(FATAL_ERROR "Failed to copy script-last-run stamp file: '@hgclone_stampfile@'") endif()