Fix CGAL unknown version issue
CGAL is not advertising its version if configured as a header only library.
This commit is contained in:
parent
f3327adf49
commit
5fb0858677
11
deps/CGAL/CGAL.cmake
vendored
11
deps/CGAL/CGAL.cmake
vendored
@ -15,6 +15,17 @@ include(GNUInstallDirs)
|
|||||||
# If this file is not present, it will not consider the stored absolute path
|
# If this file is not present, it will not consider the stored absolute path
|
||||||
ExternalProject_Add_Step(dep_CGAL dep_CGAL_relocation_fix
|
ExternalProject_Add_Step(dep_CGAL dep_CGAL_relocation_fix
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E remove CGALConfig-installation-dirs.cmake
|
COMMAND ${CMAKE_COMMAND} -E remove CGALConfig-installation-dirs.cmake
|
||||||
WORKING_DIRECTORY "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL"
|
WORKING_DIRECTORY "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Again, for whatever reason, CGAL thinks that its version is not relevant if
|
||||||
|
# configured as a header only library. Fixing it by placing a cmake version file
|
||||||
|
# besides the installed config file.
|
||||||
|
ExternalProject_Add_Step(dep_CGAL dep_CGAL_version_fix
|
||||||
|
DEPENDEES install
|
||||||
|
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy cgal/CGALConfigVersion.cmake "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL/CGALConfigVersion.cmake"
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
|
||||||
|
)
|
||||||
|
37
deps/CGAL/cgal/CGALConfigVersion.cmake
vendored
Normal file
37
deps/CGAL/cgal/CGALConfigVersion.cmake
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# This is a basic version file for the Config-mode of find_package().
|
||||||
|
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||||
|
# to create a version-file which can be installed along a config.cmake file.
|
||||||
|
#
|
||||||
|
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||||
|
# the requested version string are exactly the same and it sets
|
||||||
|
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
|
||||||
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
set(PACKAGE_VERSION "5.0.0")
|
||||||
|
|
||||||
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# if the installed project requested no architecture check, don't perform the check
|
||||||
|
if("FALSE")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||||
|
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
||||||
|
math(EXPR installedBits "8 * 8")
|
||||||
|
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||||
|
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||||
|
endif()
|
Loading…
Reference in New Issue
Block a user