-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add manifold port #42347
base: master
Are you sure you want to change the base?
Add manifold port #42347
Conversation
@microsoft-github-policy-service agree |
I was able to build locally. manifold builds files into Initial error due to warnings: https://dev.azure.com/vcpkg/public/_build/results?buildId=109648&view=logs&j=878666d5-db33-5b27-9e7d-b0c7ee352005&t=69176ca8-c93b-5311-0f74-6cb12a2b3f92&l=8209 After adding the ignore fixes: https://dev.azure.com/vcpkg/public/_build/results?buildId=109649&view=logs&j=878666d5-db33-5b27-9e7d-b0c7ee352005&t=69176ca8-c93b-5311-0f74-6cb12a2b3f92&l=8184 This is my first commit to vcpkg. It'd be great if I can get advice on how to handle these kinds of warnings for it to be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is my first commit to vcpkg. It'd be great if I can get advice on how to handle these kinds of warnings for it to be merged.
Usually these kinds of problems require patching upstream's build system, or moving around bits in portfile.cmake.
Do you have specific questions about the warnings? They seem pretty explicit in what the problem is to me, but then again, I wrote most of the messages 😅
Repeating the errors here so that the logs aren't lost when the build gets purged in a few days:
D:\a_work\1\s\ports\manifold\portfile.cmake: warning: ${CURRENT_PACKAGES_DIR}/debug/include should not exist. To suppress this message, add set(VCPKG_POLICY_ALLOW_DEBUG_INCLUDE enabled)
note: If this directory was created by a build system that does not allow installing headers in debug to be disabled, delete the duplicate directory with file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
D:\a_work\1\s\ports\manifold\portfile.cmake: warning: This port installs the following CMake files in places CMake files are not expected. CMake files should be installed in ${CURRENT_PACKAGES_DIR}/share/${PORT}. To suppress this message, add set(VCPKG_POLICY_SKIP_MISPLACED_CMAKE_FILES_CHECK enabled)
D:\p\manifold_x86-windows: note: the files are relative to ${CURRENT_PACKAGES_DIR} here
note: lib/cmake/manifold/manifoldConfig.cmake
note: lib/cmake/manifold/manifoldConfigVersion.cmake
note: lib/cmake/manifold/manifoldTargets-release.cmake
note: lib/cmake/manifold/manifoldTargets.cmake
note: debug/lib/cmake/manifold/manifoldConfig.cmake
note: debug/lib/cmake/manifold/manifoldConfigVersion.cmake
note: debug/lib/cmake/manifold/manifoldTargets-debug.cmake
note: debug/lib/cmake/manifold/manifoldTargets.cmake
D:\a_work\1\s\ports\manifold\portfile.cmake: warning: This port creates ${CURRENT_PACKAGES_DIR}/lib/cmake and/or ${CURRENT_PACKAGES_DIR}/debug/lib/cmake, which should be merged and moved to ${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake. Please use the helper function vcpkg_cmake_config_fixup() from the port vcpkg-cmake-config. To suppress this message, add set(VCPKG_POLICY_SKIP_LIB_CMAKE_MERGE_CHECK enabled)
D:\a_work\1\s\ports\manifold\portfile.cmake: warning: Found 3 post-build check problem(s). These are usually caused by bugs in portfile.cmake or the upstream build system. Please correct these before submitting this port to the curated registry.
error: building manifold:x86-windows failed with: POST_BUILD_CHECKS_FAILED
add set(VCPKG_POLICY_ALLOW_DEBUG_INCLUDE enabled) | ||
set(VCPKG_POLICY_SKIP_MISPLACED_CMAKE_FILES_CHECK enabled) | ||
add set(VCPKG_POLICY_SKIP_LIB_CMAKE_MERGE_CHECK enabled) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't merge ports which fail these kinds of post-build checks into the curated registry. You will need to fix these problems in the build system.
The warnings are very clear to me! I'll fix the issues in the next day or two |
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO elalish/manifold | ||
REF v3.0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
REF v3.0.0 | |
REF v${VERSION} |
SHA512 881d3b0e3ff03794ce66b09c4a7be675e5dcd5d5b269d62ad5c5de177e76a01460f6f0fb55a2973a92abda3bf32b8a08bafdff5c0b379ae095d9806eb5669022 | ||
) | ||
|
||
# Configure the project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Configure the project |
|
||
# Configure the project | ||
vcpkg_cmake_configure( | ||
SOURCE_PATH ${SOURCE_PATH} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SOURCE_PATH ${SOURCE_PATH} | |
SOURCE_PATH "${SOURCE_PATH}" |
-DMANIFOLD_TEST=OFF # Disable tests to avoid overhead | ||
-DMANIFOLD_CROSS_SECTION=ON # Enable cross-section support | ||
-DMANIFOLD_CBIND=ON # Enable C bindings | ||
-DMANIFOLD_PYBIND=OFF # Enable Python bindings | ||
-DMANIFOLD_JSBIND=OFF # Disable JS bindings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-DMANIFOLD_TEST=OFF # Disable tests to avoid overhead | |
-DMANIFOLD_CROSS_SECTION=ON # Enable cross-section support | |
-DMANIFOLD_CBIND=ON # Enable C bindings | |
-DMANIFOLD_PYBIND=OFF # Enable Python bindings | |
-DMANIFOLD_JSBIND=OFF # Disable JS bindings | |
-DMANIFOLD_TEST=OFF | |
-DMANIFOLD_CROSS_SECTION=ON | |
-DMANIFOLD_CBIND=ON | |
-DMANIFOLD_PYBIND=OFF | |
-DMANIFOLD_JSBIND=OFF |
OPTIONS_RELEASE | ||
-DMANIFOLD_DEBUG=OFF |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OPTIONS_RELEASE | |
-DMANIFOLD_DEBUG=OFF |
# Build and install | ||
vcpkg_cmake_build() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Build and install | |
vcpkg_cmake_build() |
|
||
# Build and install | ||
vcpkg_cmake_build() | ||
vcpkg_cmake_install() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should resolve the issue with lib/cmake. Please use the actual path.
vcpkg_cmake_install() | |
vcpkg_cmake_install() | |
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/manifold) |
The package manifold provides CMake targets: | ||
|
||
find_package(manifold CONFIG REQUIRED) | ||
target_link_libraries(main PRIVATE manifold::manifold) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting as printed by the heuristics:
The package manifold provides CMake targets: | |
find_package(manifold CONFIG REQUIRED) | |
target_link_libraries(main PRIVATE manifold::manifold) | |
manifold provides CMake targets: | |
find_package(manifold CONFIG REQUIRED) | |
target_link_libraries(main PRIVATE manifold::manifold) |
If the heuristics has the same output, a usage file is redundant.
find_package
calls are REQUIRED, are satisfied byvcpkg.json
's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.vcpkg.json
matches what upstream says.vcpkg.json
matches what upstream says../vcpkg x-add-version --all
and committing the result.