aboutsummaryrefslogtreecommitdiff
path: root/cmake/ThirdParty.cmake
blob: 8e5b1cc62d4514ca21be603743dc705ec20313fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function(download_third_party path url archive hash_type hash)

  if(NOT EXISTS ${CMAKE_SOURCE_DIR}/third-party/${path})

    if(NOT EXISTS ${CMAKE_BINARY_DIR}/${archive})
      message("${CMAKE_BINARY_DIR}/${archive} missing")
      message("Downloading ${url}...")
      file(DOWNLOAD ${url} ${CMAKE_BINARY_DIR}/${archive}
          TIMEOUT 60 TLS_VERIFY ON
          EXPECTED_HASH ${hash_type}=${hash})
    endif()

    file(ARCHIVE_EXTRACT INPUT ${CMAKE_BINARY_DIR}/${archive}
        DESTINATION ${CMAKE_SOURCE_DIR}/third-party)
  endif()

endfunction()