aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/scenepic
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/scenepic
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/scenepic')
-rw-r--r--vcpkg/ports/scenepic/fix-CMakeInstall.patch37
-rw-r--r--vcpkg/ports/scenepic/fix_dependencies.patch23
-rw-r--r--vcpkg/ports/scenepic/portfile.cmake43
-rw-r--r--vcpkg/ports/scenepic/vcpkg.json18
4 files changed, 121 insertions, 0 deletions
diff --git a/vcpkg/ports/scenepic/fix-CMakeInstall.patch b/vcpkg/ports/scenepic/fix-CMakeInstall.patch
new file mode 100644
index 0000000..e78955c
--- /dev/null
+++ b/vcpkg/ports/scenepic/fix-CMakeInstall.patch
@@ -0,0 +1,37 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a2a14bb..7a06c65 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -186,8 +186,8 @@ endif()
+ # -------------------- Install ------------------------------------
+
+ set(INSTALL_CONFIGDIR cmake)
+-set(INSTALL_LIBDIR build/native/lib)
+-set(INSTALL_INCLUDEDIR build/native/include)
++set(INSTALL_LIBDIR lib)
++set(INSTALL_INCLUDEDIR include)
+
+ install(TARGETS scenepic
+ EXPORT scenepic-targets
+@@ -195,7 +195,7 @@ install(TARGETS scenepic
+ LIBRARY DESTINATION ${INSTALL_LIBDIR}
+ )
+
+-if( WIN32 )
++if( 0 )
+ if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ install(FILES
+ $<TARGET_FILE_DIR:scenepic>/scenepic.pdb
+diff --git a/src/scenepic/CMakeLists.txt b/src/scenepic/CMakeLists.txt
+index f3d9673..916ab28 100644
+--- a/src/scenepic/CMakeLists.txt
++++ b/src/scenepic/CMakeLists.txt
+@@ -47,7 +47,7 @@ target_compile_features(scenepic PRIVATE cxx_std_14)
+
+ target_include_directories( scenepic
+ PUBLIC
+- $<INSTALL_INTERFACE:build/native/include>
++ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include/scenepic>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+ PRIVATE
diff --git a/vcpkg/ports/scenepic/fix_dependencies.patch b/vcpkg/ports/scenepic/fix_dependencies.patch
new file mode 100644
index 0000000..88c7407
--- /dev/null
+++ b/vcpkg/ports/scenepic/fix_dependencies.patch
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a2db3db..a10a942 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -100,13 +100,11 @@ FetchContent_Declare(
+
+ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
+
+-if(NOT TARGET Eigen3::Eigen)
+- FetchContent_GetProperties(eigen)
+- if(NOT eigen_POPULATED)
+- FetchContent_Populate(eigen)
+- set( BUILD_TESTING OFF )
+- add_subdirectory(${eigen_SOURCE_DIR} ${eigen_BINARY_DIR} EXCLUDE_FROM_ALL)
+- endif()
++find_package(Eigen3 3.4.0 REQUIRED)
++
++if(Eigen3_FOUND)
++ set( BUILD_TESTING OFF )
++ include_directories(${EIGEN3_INCLUDE_DIR})
+ if(NOT TARGET Eigen3::Eigen)
+ add_library(Eigen3::Eigen ALIAS eigen)
+ endif()
diff --git a/vcpkg/ports/scenepic/portfile.cmake b/vcpkg/ports/scenepic/portfile.cmake
new file mode 100644
index 0000000..2c0a379
--- /dev/null
+++ b/vcpkg/ports/scenepic/portfile.cmake
@@ -0,0 +1,43 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO microsoft/scenepic
+ REF "v${VERSION}"
+ SHA512 79c20697051ef7061a51cc73f232e5ba83f8bc5a62ee3b9a4d55182112b201c805c25461fcd6699cc6db70c4439b116d1d27e66cd4e431471438ac7968836eed
+ HEAD_REF main
+ PATCHES
+ "fix_dependencies.patch"
+ "fix-CMakeInstall.patch"
+)
+
+# Run npm install and npm run build on the cloned project
+execute_process(
+ COMMAND npm install
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+)
+execute_process(
+ COMMAND npm run build
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ -DCPP_TARGETS=cpp
+)
+
+vcpkg_cmake_install()
+vcpkg_fixup_pkgconfig()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH cmake)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.md"
+ "${CURRENT_PACKAGES_DIR}/debug/CHANGELOG.md"
+ "${CURRENT_PACKAGES_DIR}/README.md"
+ "${CURRENT_PACKAGES_DIR}/CHANGELOG.md"
+ "${CURRENT_PACKAGES_DIR}/debug/include")
+
diff --git a/vcpkg/ports/scenepic/vcpkg.json b/vcpkg/ports/scenepic/vcpkg.json
new file mode 100644
index 0000000..df86cc9
--- /dev/null
+++ b/vcpkg/ports/scenepic/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "scenepic",
+ "version": "1.1.1",
+ "description": "A Powerful, easy to use, and portable visualization toolkit for mixed 3D and 2D content",
+ "homepage": "https://microsoft.github.io/scenepic/",
+ "license": "MIT",
+ "dependencies": [
+ "eigen3",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}