[meshlib] add new port#50196
Conversation
| IF(MSVC) | ||
| add_definitions(-DUNICODE -D_UNICODE) | ||
| - add_definitions(-D_ITERATOR_DEBUG_LEVEL=0) | ||
| + add_definitions(-D_ITERATOR_DEBUG_LEVEL=$<IF:$<CONFIG:Debug>,2,0>) |
There was a problem hiding this comment.
| + add_definitions(-D_ITERATOR_DEBUG_LEVEL=$<IF:$<CONFIG:Debug>,2,0>) |
This is the default.
|
|
||
| IF(MSVC) | ||
| - add_subdirectory(${PROJECT_SOURCE_DIR}/laz-perf) | ||
| add_subdirectory(${PROJECT_SOURCE_DIR}/OpenCTM) |
There was a problem hiding this comment.
This line is also removed by disable-openctm; should these patches be merged?
There was a problem hiding this comment.
@BillyONeal
I merged these patches to devendoring.patch.
| -DMESHLIB_BUILD_MESHVIEWER=OFF | ||
| -DMESHLIB_BUILD_MRVIEWER=OFF | ||
| -DMESHLIB_BUILD_PYTHON_MODULES=OFF | ||
| -DMESHLIB_USE_VCPKG=ON |
There was a problem hiding this comment.
There should be a comment describing how this does not do vcpkg-in-vcpkg
|
|
||
| vcpkg_cmake_configure( | ||
| SOURCE_PATH "${SOURCE_PATH}" | ||
| DISABLE_PARALLEL_CONFIGURE |
There was a problem hiding this comment.
Can you speak to the failure that caused you to add this? Do the installed contents have correct release/debug settings in their build system bindings?
There was a problem hiding this comment.
This is needed to solve "No such file or directory" error:
https://github.com/MeshInspector/MeshLib/blob/master/source/MRMesh/CMakeLists.txt#L19
CMake Error at source/MRMesh/CMakeLists.txt:19 (configure_file):
No such file or directory
| "${CURRENT_PACKAGES_DIR}/debug/include" | ||
| ) | ||
| if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") | ||
| file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" |
There was a problem hiding this comment.
Did it build DLLs even though you asked for static or did something else happen? (I'm concerned that this reports "success" on the static targets but actually ends up installing nothing or something to that effect...)
There was a problem hiding this comment.
@BillyONeal
Sorry, it's my mistake.
Meshlib is dynamic library.
I forced to always build dynamic library.
| -add_subdirectory(./OpenCTM-git ./OpenCTM) | ||
|
|
||
| option(PHMAP_INSTALL "" ON) | ||
| add_subdirectory(./parallel-hashmap) |
There was a problem hiding this comment.
This seems also wrong given the parallel-hashmap dependency?
| PUBLIC | ||
| + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..> | ||
| + $<INSTALL_INTERFACE:${MR_INCLUDE_DIR}> | ||
| $<BUILD_INTERFACE:${MESHLIB_THIRDPARTY_DIR}/parallel-hashmap> |
There was a problem hiding this comment.
Probably needs to use the header path from the port rather than the third party directory?
| PATCHES | ||
| lazperf-cpp17.patch | ||
| ) | ||
| file(REMOVE_RECURSE "${SOURCE_PATH}/thirdparty/laz-perf") |
There was a problem hiding this comment.
Should the entire thirdparty directory be deleted?
There was a problem hiding this comment.
@BillyONeal
I need thirdparty/CMakeLists.txt which call find_package to find dependencies.
vicroms
left a comment
There was a problem hiding this comment.
I have a few questions about this port. Not requesting any changes yet.
| -IF(MESHLIB_USE_VCPKG) | ||
| +IF(TRUE) |
There was a problem hiding this comment.
Why not set this in the vcpkg_cmake_configure call? Why is this option explicitly disabled in the portfile?
vcpkg_cmake_configure(...
-DMESHLIB_USE_VCPKG=OFF
)
| +IF(MESHLIB_BUILD_EXTRA_IO_FORMATS) | ||
| + add_subdirectory(${PROJECT_SOURCE_DIR}/laz-perf) | ||
| +ENDIF() |
| -DMESHLIB_BUILD_MESHVIEWER=OFF | ||
| -DMESHLIB_BUILD_MRVIEWER=OFF | ||
| -DMESHLIB_BUILD_PYTHON_MODULES=OFF | ||
| -DMESHLIB_USE_VCPKG=OFF |
There was a problem hiding this comment.
Why is this disabled? If upstream's build system is already vcpkg-aware they might be willing to take some of the patches made in this PR.
| vcpkg_cmake_install() | ||
|
|
||
| vcpkg_fixup_pkgconfig() | ||
| vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/MeshLib) |
There was a problem hiding this comment.
we introduced a bunch of find_package that might be missing corresponding find_dependency calls
Owner-Projectform.vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGEvcpkg.jsonmatches what upstream says.vcpkg.jsonmatches what upstream says../vcpkg x-add-version --alland committing the result.https://meshlib.io/
https://github.com/MeshInspector/MeshLib