You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
58 lines
1.7 KiB
if(TARGET CGAL::CGAL)
|
|
return()
|
|
endif()
|
|
|
|
message(STATUS "Third-party: creating target 'CGAL::CGAL'")
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
cgal
|
|
URL https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6-library.tar.xz
|
|
URL_MD5 793da2d1597f3a5c0e3524f73a0b4039
|
|
)
|
|
FetchContent_GetProperties(cgal)
|
|
if(cgal_POPULATED)
|
|
return()
|
|
endif()
|
|
FetchContent_Populate(cgal)
|
|
|
|
function(cgal_import_target)
|
|
macro(ignore_package NAME VERSION_NUM)
|
|
include(CMakePackageConfigHelpers)
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}/${NAME}Config.cmake "")
|
|
write_basic_package_version_file(
|
|
${CMAKE_CURRENT_BINARY_DIR}/${NAME}/${NAME}ConfigVersion.cmake
|
|
VERSION ${VERSION_NUM}
|
|
COMPATIBILITY AnyNewerVersion
|
|
)
|
|
set(${NAME}_DIR ${CMAKE_CURRENT_BINARY_DIR}/${NAME} CACHE PATH "")
|
|
set(${NAME}_ROOT ${CMAKE_CURRENT_BINARY_DIR}/${NAME} CACHE PATH "")
|
|
endmacro()
|
|
|
|
include(gmp)
|
|
include(mpfr)
|
|
include(boost)
|
|
|
|
ignore_package(GMP 5.0.1)
|
|
set(GMP_INCLUDE_DIR ${gmp_INCLUDE_DIR})
|
|
set(GMP_LIBRARIES gmp::gmp)
|
|
set(GMPXX_INCLUDE_DIR ${GMP_INCLUDE_DIR})
|
|
set(GMPXX_LIBRARIES ${GMP_LIBRARIES})
|
|
|
|
ignore_package(MPFR 3.0.0)
|
|
set(MPFR_INCLUDE_DIR "")
|
|
set(MPFR_LIBRARIES mpfr::mpfr)
|
|
|
|
ignore_package(Boost 1.71.0)
|
|
set(Boost_INCLUDE_DIRS "")
|
|
set(Boost_LIBRARIES Boost::thread Boost::system)
|
|
|
|
# Prefer Config mode before Module mode to prevent CGAL from loading its own FindXXX.cmake
|
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE)
|
|
|
|
# https://stackoverflow.com/a/71714947/148668
|
|
set(CGAL_DATA_DIR "unspecified")
|
|
find_package(CGAL CONFIG COMPONENTS Core PATHS ${cgal_SOURCE_DIR} NO_DEFAULT_PATH)
|
|
endfunction()
|
|
|
|
cgal_import_target()
|
|
|