download cgal using cmake

This commit is contained in:
alemuntoni 2022-10-29 14:39:48 +02:00
parent 5b008e41cd
commit 61aab29f3d
4 changed files with 44 additions and 28 deletions

View File

@ -6,13 +6,5 @@ $EXTERNAL_PATH = Join-Path $SCRIPTS_PATH ..\..\src\external
cd $EXTERNAL_PATH
Invoke-WebRequest -Uri "https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip" -OutFile "CGAL-5.2.1.zip"
Expand-Archive -Path CGAL-5.2.1.zip -DestinationPath .\
Remove-Item CGAL-5.2.1.zip
Invoke-WebRequest -Uri "https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip" -OutFile "CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip"
Expand-Archive -Path CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip -DestinationPath .\CGAL-5.2.1\ -Force
Remove-Item CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip
#going back to original location
cd $DIR

View File

@ -5,11 +5,3 @@ SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
EXTERNAL_PATH=$SCRIPTS_PATH/../../src/external
cd $EXTERNAL_PATH
wget https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip
unzip CGAL-5.2.1.zip
rm CGAL-5.2.1.zip
wget https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip
unzip -o CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip -d CGAL-5.2.1/
rm CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip

View File

@ -7,7 +7,6 @@ option(MESHLAB_ALLOW_SYSTEM_BOOST "Allow use of system-provided boost" ON)
find_package(Boost COMPONENTS thread)
if(MESHLAB_ALLOW_SYSTEM_BOOST AND TARGET Boost::boost)
message(STATUS "- Boost - using system-provided library")
add_library(external-boost INTERFACE)
@ -15,22 +14,22 @@ if(MESHLAB_ALLOW_SYSTEM_BOOST AND TARGET Boost::boost)
if (TARGET Boost::thread)
target_link_libraries(external-boost INTERFACE Boost::thread)
endif()
elseif(MESHLAB_ALLOW_DOWNLOAD_SOURCE_BOOST )
elseif(MESHLAB_ALLOW_DOWNLOAD_SOURCE_BOOST)
set(BOOST_DIR ${CMAKE_CURRENT_LIST_DIR}/boost_1_75_0)
set(BOOST_ZIP ${CMAKE_CURRENT_LIST_DIR}/boost_1_75_0.zip)
if (NOT EXISTS "${BOOST_DIR}/boost/version.hpp")
message("Downloading Boost....")
message("Downloading Boost...")
set(BOOST_LINK https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.zip)
file(DOWNLOAD ${BOOST_LINK} ${CMAKE_CURRENT_LIST_DIR}/boost_1_75_0.zip)
file(DOWNLOAD ${BOOST_LINK} ${BOOST_ZIP})
message("Boost downloaded.")
message("Extracting Boost archive...")
file(ARCHIVE_EXTRACT
INPUT ${CMAKE_CURRENT_LIST_DIR}/boost_1_75_0.zip
INPUT ${BOOST_ZIP}
DESTINATION ${CMAKE_CURRENT_LIST_DIR})
message("Boost archive extracted.")
file(REMOVE ${CMAKE_CURRENT_LIST_DIR}/boost_1_75_0.zip)
file(REMOVE ${BOOST_ZIP})
endif()
message(STATUS "- Boost - using downloaded source")

View File

@ -1,18 +1,51 @@
# Copyright 2019, 2021, Collabora, Ltd.
# Copyright 2019, 2021, Visual Computing Lab, ISTI - Italian National Research Council
# SPDX-License-Identifier: BSL-1.0
option(ALLOW_BUNDLED_CGAL "Allow use of bundled CGAL source" ON)
option(ALLOW_SYSTEM_CGAL "Allow use of system-provided CGAL" ON)
option(MESHLAB_ALLOW_DOWNLOAD_SOURCE_CGAL "Allow download and use of bundled CGAL source" ON)
option(MESHLAB_ALLOW_SYSTEM_CGAL "Allow use of system-provided CGAL" ON)
find_package(Threads REQUIRED)
find_package(CGAL)
set(CGAL_DIR "${CMAKE_CURRENT_LIST_DIR}/CGAL-5.2.1")
if(ALLOW_SYSTEM_CGAL AND TARGET CGAL::CGAL)
if(MESHLAB_ALLOW_SYSTEM_CGAL AND TARGET CGAL::CGAL)
message(STATUS "- CGAL - using system-provided library")
add_library(external-cgal INTERFACE)
target_link_libraries(external-cgal INTERFACE CGAL::CGAL Threads::Threads)
elseif(ALLOW_BUNDLED_CGAL AND EXISTS "${CGAL_DIR}/include/CGAL/version.h")
elseif(MESHLAB_ALLOW_DOWNLOAD_SOURCE_CGAL)
set(CGAL_DIR "${CMAKE_CURRENT_LIST_DIR}/CGAL-5.2.1")
if (NOT EXISTS "${CGAL_DIR}/include/CGAL/version.h")
message("Downloading CGAL...")
set(CGAL_LINK https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip)
set(CGAL_ZIP ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.2.1.zip)
file(DOWNLOAD ${CGAL_LINK} ${CGAL_ZIP})
message("CGAL downloaded.")
message("Extracting CGAL archive...")
file(ARCHIVE_EXTRACT
INPUT ${CGAL_ZIP}
DESTINATION ${CMAKE_CURRENT_LIST_DIR})
message("CGAL archive extracted.")
file(REMOVE ${CGAL_ZIP})
if (WIN32)
message("Downloading CGAL auxiliary libraries (gmp and mpfr)...")
set(CGAL_AUX_LINK https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip)
set(CGAL_AUX_LINK_ZIP ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.2.1-win64-auxiliary-libraries-gmp-mpfr.zip)
file(DOWNLOAD ${CGAL_AUX_LINK} ${CGAL_AUX_LINK_ZIP})
message("CGAL auxiliary libraries downloaded.")
message("Extracting CGAL auxiliary libraries archive...")
file(ARCHIVE_EXTRACT
INPUT ${CGAL_AUX_LINK_ZIP}
DESTINATION ${CGAL_DIR})
message("CGAL auxiliary libraries archive extracted.")
file(REMOVE ${CGAL_AUX_LINK_ZIP})
endif()
endif()
message(STATUS "- CGAL - using bundled source")
add_library(external-cgal INTERFACE)
target_include_directories(external-cgal INTERFACE "${CGAL_DIR}/include/")