2017-05-15 08:59:33 -06:00
|
|
|
# Download Module for o2 Library Source
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# Copyright (c) March 2017, Boundless Spatial
|
|
|
|
# Author: Larry Shaffer <lshaffer (at) boundlessgeo (dot) com>
|
|
|
|
#
|
|
|
|
# Official o2 project source code repository: https://github.com/pipacs/o2
|
|
|
|
#
|
|
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
|
2019-10-25 21:51:21 +02:00
|
|
|
# NOTE: These is a temporary source code commit checkout, until a release with
|
2017-05-15 08:59:33 -06:00
|
|
|
# recent commits is available via common platform packaging
|
|
|
|
set(_o2_commit 31ceafb3f0c3b605110ddd20aeebd3288504ee1f)
|
|
|
|
set(_o2_url "https://github.com/pipacs/o2/archive/${_o2_commit}.tar.gz")
|
|
|
|
set(_o2_dl_file "${CMAKE_BINARY_DIR}/o2-${_o2_commit}.tar.gz")
|
|
|
|
set(_o2_dl_sha1 94236af3c373927d778349cdbe89ff6112343cc9)
|
|
|
|
set(_o2_dl_timeout 45)
|
|
|
|
set(_o2_dl_inactive_timeout 30)
|
|
|
|
|
|
|
|
set(_o2_prefix "${CMAKE_BINARY_DIR}/o2-${_o2_commit}")
|
|
|
|
|
|
|
|
message(STATUS "Downloading or verifying o2 library source archive...")
|
|
|
|
|
|
|
|
file(DOWNLOAD ${_o2_url} ${_o2_dl_file}
|
|
|
|
INACTIVITY_TIMEOUT ${_o2_dl_inactive_timeout}
|
|
|
|
TIMEOUT ${_o2_dl_timeout}
|
|
|
|
STATUS _o2_dl_status
|
|
|
|
LOG _o2_dl_log
|
|
|
|
#SHOW_PROGRESS
|
|
|
|
EXPECTED_HASH SHA1=${_o2_dl_sha1}
|
|
|
|
TLS_VERIFY on
|
|
|
|
#TLS_CAINFO file
|
|
|
|
)
|
|
|
|
|
|
|
|
list(GET _o2_dl_status 0 _o2_dl_status_code)
|
|
|
|
list(GET _o2_dl_status 1 _o2_dl_status_string)
|
|
|
|
|
|
|
|
if(NOT "${_o2_dl_status_code}" STREQUAL "0")
|
|
|
|
set(_o2_dl_log_file ${CMAKE_BINARY_DIR}/o2-download.log)
|
|
|
|
set(_o2_dl_log_title "Error downloading or verifying o2 library source archive")
|
|
|
|
set(_o2_dl_log_msg "${_o2_dl_log_title}
|
|
|
|
from url=${_o2_url}
|
|
|
|
to file =${_o2_dl_file}
|
|
|
|
timeout =${_o2_dl_timeout} seconds
|
|
|
|
status code: ${_o2_dl_status_code}
|
|
|
|
status string: ${_o2_dl_status_string}
|
|
|
|
connection log:
|
|
|
|
${_o2_dl_log}
|
|
|
|
")
|
|
|
|
file(WRITE ${_o2_dl_file} "${_o2_dl_log_msg}")
|
|
|
|
message(FATAL_ERROR "${_o2_dl_log_title}
|
|
|
|
See log: ${_o2_dl_log_file}
|
|
|
|
")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT EXISTS ${_o2_dl_file})
|
|
|
|
message(FATAL_ERROR "Download file does not exist")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${_o2_dl_file})
|
|
|
|
|
|
|
|
# These match variables set by FindO2.cmake
|
|
|
|
set(O2_INCLUDE_DIR "${_o2_prefix}/src" CACHE INTERNAL "Path to o2 library headers" FORCE)
|
|
|
|
set(O2_LIBRARY "" CACHE INTERNAL "Path to o2 built shared library" FORCE)
|
|
|
|
set(O2_LIBRARY_STATIC "" CACHE INTERNAL "Path to o2 built static library" FORCE)
|
|
|
|
set(O2_FOUND TRUE CACHE INTERNAL "Whether O2 has been found" FORCE)
|