diff --git a/ports/sdflib/add_export.patch b/ports/sdflib/add_export.patch new file mode 100644 index 00000000000000..a469872e7744a9 --- /dev/null +++ b/ports/sdflib/add_export.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86b6169..bf7f532 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,7 +59,7 @@ add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES} ${HEADER_FILES} ${PUBLIC_HEA + ${SDF_SOURCE_FILES} ${SDF_HEADER_FILES} + ${UTILS_SOURCE_FILES} ${UTILS_HEADER_FILES}) + +-target_include_directories(${PROJECT_NAME} PUBLIC include/) ++target_include_directories(${PROJECT_NAME} PUBLIC $ $) + target_include_directories(${PROJECT_NAME} PRIVATE src/) + + # Add shaders +@@ -236,3 +236,20 @@ if(SDFLIB_BUILD_DEBUG_APPS) + # target_link_libraries(ImageQueryTime PUBLIC ${PROJECT_NAME} CGAL::CGAL OpenVDB::openvdb) + target_link_libraries(ImageQueryTime PUBLIC ${PROJECT_NAME}) + endif() ++ ++install(TARGETS ${PROJECT_NAME} icg EXPORT unofficial-${PROJECT_NAME}Config ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) ++ ++install(EXPORT unofficial-${PROJECT_NAME}Config ++ NAMESPACE unofficial::${PROJECT_NAME}:: ++ DESTINATION share/sdflib ++) ++install( ++ DIRECTORY "include/" # Trailing slash is important to copy only the contents ++ DESTINATION include # Destination folder in the install directory ++ FILES_MATCHING ++ PATTERN "*.h" # Match header files ++) +diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt +index 1fa9fe7..d1f5014 100644 +--- a/libs/CMakeLists.txt ++++ b/libs/CMakeLists.txt +@@ -139,7 +139,7 @@ if(SDFLIB_BUILD_APPS OR SDFLIB_BUILD_DEBUG_APPS) + + # icg + add_library(icg INTERFACE) +-target_include_directories(icg INTERFACE InteractiveComputerGraphics) ++target_include_directories(icg INTERFACE $ $) + + if(SDFLIB_BUILD_APPS OR SDFLIB_BUILD_DEBUG_APPS) + # glfw diff --git a/ports/sdflib/portfile.cmake b/ports/sdflib/portfile.cmake new file mode 100644 index 00000000000000..1e9301eb1b4b1f --- /dev/null +++ b/ports/sdflib/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO UPC-ViRVIG/SdfLib + REF c32eb7b133f8c05fee5605499b7f5bd36039dd08 + SHA512 86c4aeb66da3f59c4110abd96ac659aadddb8f67eacb0c7a5557e3741aeb56c8f5ef464c0d7fbe5853c86b523198dd2876e87473e3903ba00e03e489684ae06f + PATCHES + add_export.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSDFLIB_USE_ASSIMP=OFF + -DSDFLIB_USE_OPENMP=OFF + -DSDFLIB_USE_ENOKI=OFF + -DSDFLIB_USE_SYSTEM_GLM=ON + -DSDFLIB_USE_SYSTEM_SPDLOG=ON + -DSDFLIB_USE_SYSTEM_CEREAL=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() + +file(READ "${CURRENT_PACKAGES_DIR}/share/sdflib/unofficial-SdfLibConfig.cmake" SDFLIB_CONFIG) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/sdflib/unofficial-SdfLibConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(glm CONFIG) +find_dependency(spdlog CONFIG) +find_dependency(cereal CONFIG) +${SDFLIB_CONFIG} +") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file diff --git a/ports/sdflib/usage b/ports/sdflib/usage new file mode 100644 index 00000000000000..da07c68ea08d14 --- /dev/null +++ b/ports/sdflib/usage @@ -0,0 +1,4 @@ +sdflib provides CMake targets: + + find_package(SdfLib CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::SdfLib::icg unofficial::SdfLib::SdfLib) diff --git a/ports/sdflib/vcpkg.json b/ports/sdflib/vcpkg.json new file mode 100644 index 00000000000000..52a8370f7848ce --- /dev/null +++ b/ports/sdflib/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "sdflib", + "version-date": "2024-09-06", + "description": "Library for accelerating the queries of signed distance fields from triangle meshes.", + "homepage": "https://github.com/UPC-ViRVIG/SdfLib", + "license": "MIT", + "dependencies": [ + "cereal", + "glm", + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index c517b3bd5fb398..e110ebc61c5bd0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8212,6 +8212,10 @@ "baseline": "2.1.0", "port-version": 0 }, + "sdflib": { + "baseline": "2024-09-06", + "port-version": 0 + }, "sdformat10": { "baseline": "10.0.0", "port-version": 5 diff --git a/versions/s-/sdflib.json b/versions/s-/sdflib.json new file mode 100644 index 00000000000000..25b20bd54b90a6 --- /dev/null +++ b/versions/s-/sdflib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8935bb9372e6a4de3a2f86e6421736f1840c606c", + "version-date": "2024-09-06", + "port-version": 0 + } + ] +}