blob: 4593d9f709ec046cb67d99a4a6e9553e3309add2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# This triplet option enables building an actual binary library.
# Despite the name (which follows upstream's choice), it respects
# the triplet's library linkage for non-Windows targets.
# Missing symbols - i.e. explicit template instantiations -
# must be added to the implementation files (and upstreamed),
# cf. https://libigl.github.io/static-library/
if(NOT DEFINED LIBIGL_USE_STATIC_LIBRARY)
set(LIBIGL_USE_STATIC_LIBRARY OFF)
endif()
if(NOT LIBIGL_USE_STATIC_LIBRARY)
set(VCPKG_BUILD_TYPE release) # header-only
elseif(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libigl/libigl
REF "v${VERSION}"
SHA512 7c6ae5b94020a01df5d6d0a358592293595d8d8bf04bf42e6acc09bcd6ed012071069373a71ed6f24ce878aa79447dd189b42bc8a3a70819ef05dccc60a2cf68
HEAD_REF master
PATCHES
dependencies.patch
imgui-impl.diff
install-extra-targets.patch
instantiations.diff # Fix size_t and ptrdiff_t issues in 32 bit builds (arm32, x86)
)
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/recipes")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cgal LIBIGL_COPYLEFT_CGAL
copyleft LIBIGL_COPYLEFT_CORE
embree LIBIGL_EMBREE
glfw LIBIGL_GLFW
imgui LIBIGL_IMGUI
opengl LIBIGL_OPENGL
xml LIBIGL_XML
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
${FEATURE_OPTIONS}
-DCMAKE_POLICY_DEFAULT_CMP0167=NEW # boost used by cgal
-DHUNTER_ENABLED=OFF
-DLIBIGL_BUILD_TESTS=OFF
-DLIBIGL_BUILD_TUTORIALS=OFF
-DLIBIGL_INSTALL=ON
-DLIBIGL_USE_STATIC_LIBRARY=${LIBIGL_USE_STATIC_LIBRARY}
# cf. cmake/recipes/external/cgal.cmake
-DCGAL_CMAKE_EXACT_NT_BACKEND=BOOST_BACKEND
-DCGAL_DISABLE_GMP=ON
# Permissive modules
-DLIBIGL_PREDICATES=OFF
-DLIBIGL_SPECTRA=OFF
# Copyleft modules
-DLIBIGL_COPYLEFT_COMISO=OFF
-DLIBIGL_COPYLEFT_TETGEN=OFF
# Restricted modules
-DLIBIGL_RESTRICTED_MATLAB=OFF
-DLIBIGL_RESTRICTED_MOSEK=OFF
-DLIBIGL_RESTRICTED_TRIANGLE=OFF
MAYBE_UNUSED_VARIABLES
CGAL_CMAKE_EXACT_NT_BACKEND
CGAL_DISABLE_GMP
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/igl)
vcpkg_copy_pdbs()
if(LIBIGL_USE_STATIC_LIBRARY)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
else()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
endif()
set(comment "")
if(LIBIGL_COPYLEFT_CORE)
set(comment "GPL-2.0 terms apply to include/igl/copyleft/marching_cubes_tables.h.")
endif()
vcpkg_install_copyright(COMMENT "${comment}" FILE_LIST "${SOURCE_PATH}/LICENSE.MPL2")
|