mirror of https://github.com/microsoft/vcpkg.git
88 lines
3.0 KiB
CMake
88 lines
3.0 KiB
CMake
# 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)
|
|
fix-imgui-combo-getter.patch # imgui 1.92.7 changed Combo/ListBox getter callback signature
|
|
)
|
|
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")
|