From ada12c9ec240e93419b139c4f35921393f93c05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Thu, 7 Sep 2023 09:12:53 +0200 Subject: [PATCH] [imgui-node-editor] New port (#33508) --- ports/imgui-node-editor/CMakeLists.txt | 60 ++++++++++++++++++++++++++ ports/imgui-node-editor/portfile.cmake | 24 +++++++++++ ports/imgui-node-editor/vcpkg.json | 18 ++++++++ versions/baseline.json | 4 ++ versions/i-/imgui-node-editor.json | 9 ++++ 5 files changed, 115 insertions(+) create mode 100644 ports/imgui-node-editor/CMakeLists.txt create mode 100644 ports/imgui-node-editor/portfile.cmake create mode 100644 ports/imgui-node-editor/vcpkg.json create mode 100644 versions/i-/imgui-node-editor.json diff --git a/ports/imgui-node-editor/CMakeLists.txt b/ports/imgui-node-editor/CMakeLists.txt new file mode 100644 index 0000000000..852290e293 --- /dev/null +++ b/ports/imgui-node-editor/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 3.8) +project(imgui-node-editor) + +set(CMAKE_CXX_STANDARD 14) + +find_package(imgui CONFIG REQUIRED) +get_target_property(IMGUI_INCLUDE_DIRS imgui::imgui + INTERFACE_INCLUDE_DIRECTORIES +) + +add_library(${PROJECT_NAME} "") + +target_include_directories( + ${PROJECT_NAME} + PUBLIC + $ + $ + PRIVATE + ${IMGUI_INCLUDE_DIRS} +) + +target_sources( + ${PROJECT_NAME} + PRIVATE + crude_json.cpp + imgui_canvas.cpp + imgui_node_editor.cpp + imgui_node_editor_api.cpp +) + +install( + TARGETS ${PROJECT_NAME} + EXPORT unofficial-${PROJECT_NAME}-target + ARCHIVE DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin +) + +if (NOT IMGUI_NODE_EDITOR_SKIP_HEADERS) + install( + FILES + crude_json.h + imgui_bezier_math.h + imgui_bezier_math.inl + imgui_canvas.h + imgui_extra_math.h + imgui_extra_math.inl + imgui_node_editor.h + imgui_node_editor_internal.h + imgui_node_editor_internal.inl + DESTINATION include/${PROJECT_NAME} + ) +endif() + +install( + EXPORT unofficial-${PROJECT_NAME}-target + NAMESPACE unofficial::${PROJECT_NAME}:: + FILE unofficial-${PROJECT_NAME}-config.cmake + DESTINATION share/unofficial-${PROJECT_NAME} +) diff --git a/ports/imgui-node-editor/portfile.cmake b/ports/imgui-node-editor/portfile.cmake new file mode 100644 index 0000000000..031750bc8e --- /dev/null +++ b/ports/imgui-node-editor/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO thedmd/imgui-node-editor + REF v${VERSION} + SHA512 7dbc34a7af1554a7e683e0b55d18fc08cf5832bf5d6a57a30820e7ef98a6fbb5a65a7287f6250d3b6f47b89ac0499f51fbe19d9c11850e26f74e3b0e806abb1b + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DIMGUI_NODE_EDITOR_SKIP_HEADERS=ON +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/imgui-node-editor/vcpkg.json b/ports/imgui-node-editor/vcpkg.json new file mode 100644 index 0000000000..b03295a303 --- /dev/null +++ b/ports/imgui-node-editor/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "imgui-node-editor", + "version": "0.9.2", + "description": "Node Editor built using Dear ImGui", + "homepage": "https://github.com/thedmd/imgui-node-editor", + "license": "MIT", + "dependencies": [ + "imgui", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 18a874a743..f20f597d84 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3388,6 +3388,10 @@ "baseline": "1.89.9", "port-version": 0 }, + "imgui-node-editor": { + "baseline": "0.9.2", + "port-version": 0 + }, "imgui-sfml": { "baseline": "2.5", "port-version": 4 diff --git a/versions/i-/imgui-node-editor.json b/versions/i-/imgui-node-editor.json new file mode 100644 index 0000000000..be4fe961d4 --- /dev/null +++ b/versions/i-/imgui-node-editor.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "26e2cf3260ea1e08e61912431635f49d24b6ea87", + "version": "0.9.2", + "port-version": 0 + } + ] +}