Skip to content

Commit

Permalink
[vlpp] Fix configure issues, export unofficial target (microsoft#26887)
Browse files Browse the repository at this point in the history
* [vlpp] Fix configure issues, export unofficial target

* version

* Update to latest, add features, force static only

* patch format

* FIx feature option pos

* typo

* Remove source_group since it's no longer an interface library, fix remove code

* Drop support with uwp since port uses desktop app only api

* Drop support with osx, add system-related definitions

* Revert c7ba8be

* correct relationship, add and modify features

* Remove double quotes, fix extra_includes

* fix installation

* Fix arm build, switch tool build to cmake

* Use official fix to fix arm issue

* update to latest to fix arm regression

* Update to latest

* Set to interface library

* version

* Update to latest

* version

* Apply suggestions

* version

* Update ref

* version

* official target

* version
  • Loading branch information
JackBoosY authored Oct 17, 2022
1 parent 0321a84 commit ec80d1c
Show file tree
Hide file tree
Showing 7 changed files with 201 additions and 97 deletions.
46 changes: 0 additions & 46 deletions ports/vlpp/CMakeLists.txt

This file was deleted.

34 changes: 0 additions & 34 deletions ports/vlpp/fix-arm.patch

This file was deleted.

24 changes: 24 additions & 0 deletions ports/vlpp/fix-tool-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
diff --git a/Import/CMakeLists.txt b/Import/CMakeLists.txt
index c65ab65..2101e86 100644
--- a/Import/CMakeLists.txt
+++ b/Import/CMakeLists.txt
@@ -10,6 +10,7 @@ cmake_dependent_option(WORKFLOW_COMPILER "Use VlppWorkflowCompiler" ON "WORKFLOW
cmake_dependent_option(GACUI_CORE "Use GacUI" ON "GLR_PARSER;WORKFLOW_LIBRARY" OFF)
cmake_dependent_option(GACUI_REFLECTION "Use GacUIReflection" ON "GACUI_CORE;WORKFLOW_RUNTIME;REFLECTION" OFF)
cmake_dependent_option(GACUI_COMPILER "Use GacUICompiler" ON "GACUI_REFLECTION;WORKFLOW_COMPILER" OFF)
+option(BUILD_TOOLS "Build tools" OFF)

# core library
set(CORE_HDRS
@@ -144,6 +145,11 @@ if (GACUI_CORE)
list(APPEND EXPORT_TARGETS gacui_core)
endif()

+if (BUILD_TOOLS)
+ add_subdirectory(gacgen/Tools/GacGen)
+ add_subdirectory(workflow/Tools/CppMerge)
+endif()
+
# Install targets
install(
TARGETS ${EXPORT_TARGETS}
81 changes: 69 additions & 12 deletions ports/vlpp/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,27 +1,84 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vczh-libraries/Release
REF 5dfe25c4f4997da2d7a23bdc80c2438e72d9813a # 0.11.0.0
SHA512 5d585e561246385b074c625a3644b79defa22328dab0ab14112c846cb917f384abb617a5f400971ca29e4ee5ac391b88b17ee65d594caf9ebf279806db669a4a
REF 039b6fcb5325af186060d2e6efb466f3d81afcb5 # 1.1.0.0
SHA512 7c4da7f5686dd3ef8ddd211e440a9b70000fb5558a67fe75d73a3662ff6bd441fb0d2a125d77d9353abf0b5d273546d9fced9fba205a8aa4347a72e15064caf2
HEAD_REF master
PATCHES fix-tool-build.patch
)

vcpkg_from_github(
OUT_SOURCE_PATH LICENSE_PATH
REPO vczh-libraries/License
REF 2173abd38478ba78f7a8f1a062475d04c014eb7a
SHA512 fb8df2380640c3ca14fce1320cdfb47b002eabbe42fa2d1a5356b3c641138d61b8f79f9d4894573d759876d1ab18f822d7fac4e4bce5c14f449acda29aac5e9c
HEAD_REF master
PATCHES fix-arm.patch
)

file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
reflection REFLECTION
glrparser GLR_PARSER
workflowlibrary WORKFLOW_LIBRARY
workflowruntime WORKFLOW_RUNTIME
workflowcompiler WORKFLOW_COMPILER
gacuicore GACUI_CORE
gacuirecompiler GACUI_COMPILER
gacuireflection GACUI_REFLECTION
tools BUILD_TOOLS
)

if (BUILD_TOOLS)
vcpkg_from_github(
OUT_SOURCE_PATH GACGEN_SOURCE_PATH
REPO vczh-libraries/GacUI
REF 1de25738b534f78f7dce721798ff367099526488
SHA512 adc104d22f9ce61e82f40875e217ec2cfcc32d3088cf8f32bca16ea99084bb62aaae1601ddea328ce2eb9ddb321db9779352cbccd9437e21e3210e32286feb85
HEAD_REF master
)
vcpkg_from_github(
OUT_SOURCE_PATH CPPMERGE_SOURCE_PATH
REPO vczh-libraries/Workflow
REF 3b1984b0d9e9602757774d259d11bdb43e5e30c4
SHA512 dcb41d4658d65510d6ffc6015f79eb9d08cf6a7f52fc24b8832bfdc1706ea7d3dcef34bb46b4664b09579b4787bf01406b68a33193c8952a6e13018793ef05e8
HEAD_REF master
)

if (NOT EXISTS "${SOURCE_PATH}/Import/gacgen")
file(RENAME "${GACGEN_SOURCE_PATH}" "${SOURCE_PATH}/Import/gacgen")
endif()
if (NOT EXISTS "${SOURCE_PATH}/Import/workflow")
file(RENAME "${CPPMERGE_SOURCE_PATH}" "${SOURCE_PATH}/Import/workflow")
endif()
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
SOURCE_PATH "${SOURCE_PATH}/Import"
OPTIONS ${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_cmake_config_fixup()

if (BUILD_TOOLS)
file(GLOB TOOL_GACGEN "${CURRENT_PACKAGES_DIR}/bin/GacGen*${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
get_filename_component(TOOL_GACGEN "${TOOL_GACGEN}" NAME_WLE)
vcpkg_copy_tools(TOOL_NAMES ${TOOL_GACGEN} CppMerge AUTO_CLEAN)

# Handle scripts
if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW)
set(TOOL_SCRIPT_SUFFIX ".ps1")
else()
set(TOOL_SCRIPT_SUFFIX ".bin")
endif()
file(GLOB TOOL_SCRIPTS "${SOURCE_PATH}/Tools/*${TOOL_SCRIPT_SUFFIX}")
foreach (TOOL_SCRIPT IN LISTS TOOL_SCRIPTS)
file(COPY "${TOOL_SCRIPT}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
endforeach()
endif()

# Tools
file(INSTALL "${SOURCE_PATH}/Tools/CppMerge.exe" DESTINATION "${CURRENT_PACKAGES_DIR}/tools")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")

# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/vlpp" RENAME copyright)
file(INSTALL "${LICENSE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
99 changes: 96 additions & 3 deletions ports/vlpp/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,107 @@
{
"name": "vlpp",
"version": "0.11.0.0",
"port-version": 3,
"version": "1.1.0.0",
"maintainers": "vczh",
"description": "Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc",
"homepage": "https://github.com/vczh-libraries/Release",
"license": null,
"supports": "!uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"gacuicore": {
"description": "Enable GacUI Core",
"dependencies": [
{
"name": "vlpp",
"features": [
"glrparser",
"workflowlibrary"
]
}
]
},
"gacuirecompiler": {
"description": "Enable GacUI Compiler",
"dependencies": [
{
"name": "vlpp",
"features": [
"gacuireflection",
"workflowcompiler"
]
}
]
},
"gacuireflection": {
"description": "Enable GacUI Reflection",
"dependencies": [
{
"name": "vlpp",
"features": [
"gacuicore",
"workflowruntime"
]
}
]
},
"glrparser": {
"description": "Enable GlrParser",
"dependencies": [
{
"name": "vlpp",
"features": [
"reflection"
]
}
]
},
"reflection": {
"description": "Enable Reflection"
},
"tools": {
"description": "Build tools"
},
"workflowcompiler": {
"description": "Enable VlppWorkflow Compiler",
"dependencies": [
{
"name": "vlpp",
"features": [
"workflowruntime"
]
}
]
},
"workflowlibrary": {
"description": "Enable VlppWorkflow Library",
"dependencies": [
{
"name": "vlpp",
"features": [
"reflection"
]
}
]
},
"workflowruntime": {
"description": "Enable VlppWorkflow Runtime",
"dependencies": [
{
"name": "vlpp",
"features": [
"workflowlibrary"
]
}
]
}
]
}
}
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -7761,8 +7761,8 @@
"port-version": 1
},
"vlpp": {
"baseline": "0.11.0.0",
"port-version": 3
"baseline": "1.1.0.0",
"port-version": 0
},
"volk": {
"baseline": "1.3.204",
Expand Down
10 changes: 10 additions & 0 deletions versions/v-/vlpp.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
{
"versions": [
{
"git-tree": "8df8b965877d7d55e02b0563e1874d6c4fbbd9f2",
"version": "1.1.0.0",
"port-version": 0
},
{
"git-tree": "d593e711f4b1ee56e84b9cfe4fab3bcc79fc602e",
"version": "0.11.0.0",
"port-version": 4
},
{
"git-tree": "b4f56db04c13b5bf335e4e5939617596e15e89ac",
"version": "0.11.0.0",
Expand Down

0 comments on commit ec80d1c

Please sign in to comment.