aboutsummaryrefslogtreecommitdiff
path: root/libs/vcpkg-registry
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
commit7ee008e150bc5bcf76082d726f719ee0fdfda982 (patch)
tree27fb39be241fdb5ac2734c574de678977d1856d0 /libs/vcpkg-registry
Fluorine Manager: full Linux port of Mod Organizer 2
Complete native Linux port with FUSE-based virtual filesystem, Proton/umu-run integration, and Flatpak packaging. Key features: - FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak) - Proton/GE-Proton/umu-run launcher with env var forwarding - Flatpak support (sandbox-aware VFS, NXM handler, umu-run) - Wine prefix management UI - Case-insensitive path resolution for Linux filesystems - QSettings-safe INI handling (avoids Bethesda INI corruption) - Portable instance support with auto-generated launcher scripts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/vcpkg-registry')
-rw-r--r--libs/vcpkg-registry/.gitattributes7
-rw-r--r--libs/vcpkg-registry/.pre-commit-config.yaml15
-rw-r--r--libs/vcpkg-registry/README.md57
-rw-r--r--libs/vcpkg-registry/ports/7zip/7zip-config.cmake.in5
-rw-r--r--libs/vcpkg-registry/ports/7zip/portfile.cmake33
-rw-r--r--libs/vcpkg-registry/ports/7zip/vcpkg.json18
-rw-r--r--libs/vcpkg-registry/ports/asmjit/asmjit.patch906
-rw-r--r--libs/vcpkg-registry/ports/asmjit/portfile.cmake31
-rw-r--r--libs/vcpkg-registry/ports/asmjit/vcpkg.json17
-rw-r--r--libs/vcpkg-registry/ports/libloot/portfile.cmake30
-rw-r--r--libs/vcpkg-registry/ports/libloot/vcpkg.json14
-rw-r--r--libs/vcpkg-registry/ports/mo2-archive/portfile.cmake20
-rw-r--r--libs/vcpkg-registry/ports/mo2-archive/vcpkg.json19
-rw-r--r--libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake15
-rw-r--r--libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json23
-rw-r--r--libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake19
-rw-r--r--libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json8
-rw-r--r--libs/vcpkg-registry/ports/mo2-dds-header/mo2-dds-header-config.cmake10
-rw-r--r--libs/vcpkg-registry/ports/mo2-dds-header/portfile.cmake8
-rw-r--r--libs/vcpkg-registry/ports/mo2-dds-header/vcpkg.json14
-rw-r--r--libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake15
-rw-r--r--libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json18
-rw-r--r--libs/vcpkg-registry/ports/mo2-libbsarch/portfile.cmake42
-rw-r--r--libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json19
-rw-r--r--libs/vcpkg-registry/ports/mo2-lootcli-header/portfile.cmake14
-rw-r--r--libs/vcpkg-registry/ports/mo2-lootcli-header/vcpkg.json18
-rw-r--r--libs/vcpkg-registry/ports/mo2-uibase/portfile.cmake47
-rw-r--r--libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json14
-rw-r--r--libs/vcpkg-registry/ports/pybind11/portfile.cmake23
-rw-r--r--libs/vcpkg-registry/ports/pybind11/vcpkg.json18
-rw-r--r--libs/vcpkg-registry/ports/spdlog/portfile.cmake44
-rw-r--r--libs/vcpkg-registry/ports/spdlog/vcpkg.json17
-rw-r--r--libs/vcpkg-registry/ports/usvfs/portfile.cmake95
-rw-r--r--libs/vcpkg-registry/ports/usvfs/vcpkg.json14
-rw-r--r--libs/vcpkg-registry/versions/7-/7zip.json14
-rw-r--r--libs/vcpkg-registry/versions/a-/asmjit.json9
-rw-r--r--libs/vcpkg-registry/versions/baseline.json60
-rw-r--r--libs/vcpkg-registry/versions/l-/libloot.json19
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-archive.json14
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-bsatk.json19
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-cmake.json49
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-dds-header.json9
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-esptk.json14
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-libbsarch.json24
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-lootcli-header.json14
-rw-r--r--libs/vcpkg-registry/versions/m-/mo2-uibase.json39
-rw-r--r--libs/vcpkg-registry/versions/p-/pybind11.json14
-rw-r--r--libs/vcpkg-registry/versions/s-/spdlog.json14
-rw-r--r--libs/vcpkg-registry/versions/u-/usvfs.json14
49 files changed, 1993 insertions, 0 deletions
diff --git a/libs/vcpkg-registry/.gitattributes b/libs/vcpkg-registry/.gitattributes
new file mode 100644
index 0000000..3789873
--- /dev/null
+++ b/libs/vcpkg-registry/.gitattributes
@@ -0,0 +1,7 @@
+# Set the default behavior, in case people don't have core.autocrlf set.
+* text=auto
+
+# Explicitly declare text files you want to always be normalized and converted
+# to native line endings on checkout.
+*.cmake text eol=lf
+*.json text eol=lf
diff --git a/libs/vcpkg-registry/.pre-commit-config.yaml b/libs/vcpkg-registry/.pre-commit-config.yaml
new file mode 100644
index 0000000..e00bc0d
--- /dev/null
+++ b/libs/vcpkg-registry/.pre-commit-config.yaml
@@ -0,0 +1,15 @@
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v6.0.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: check-merge-conflict
+ - id: check-case-conflict
+
+ci:
+ autofix_commit_msg: "[pre-commit.ci] Auto fixes from pre-commit.com hooks."
+ autofix_prs: true
+ autoupdate_commit_msg: "[pre-commit.ci] Pre-commit autoupdate."
+ autoupdate_schedule: quarterly
+ submodules: false
diff --git a/libs/vcpkg-registry/README.md b/libs/vcpkg-registry/README.md
new file mode 100644
index 0000000..5e49787
--- /dev/null
+++ b/libs/vcpkg-registry/README.md
@@ -0,0 +1,57 @@
+# ModOrganizer2 VCPKG Registry
+
+Custom registry for [VCPKG](https://github.com/microsoft/vcpkg/).
+
+## How to use?
+
+Add the following to your `vcpkg-configuration.json` - update the baseline and the list
+of packages to your needs:
+
+```json
+{
+ "registries": [
+ {
+ "kind": "git",
+ "repository": "https://github.com/ModOrganizer2/vcpkg-registry",
+ "baseline": "27d8adbfe9e4ce88a875be3a45fadab69869eb60",
+ "packages": ["mo2-cmake", "spdlog"]
+ }
+ ]
+}
+```
+
+## Included ports
+
+| Port | Description |
+| ------------- | -------------------- |
+|`asmjit` | Fork of the official `asmjit` port to use a (very) old version of `asmjit` that is compatible with [USVFS](https://github.com/ModOrganizer2/usvfs). |
+| `libloot` | Port for [libloot](https://github.com/loot/libloot), using the prebuilt release available. |
+| `mo2-cmake` | CMake utilities for ModOrganizer2 components, especially plugins. |
+| `mo2-dds-header` | Small port to bring the DirectXTex `DDS.h` header. |
+| `mo2-libbsarch` | Port for [libbsarch](https://github.com/ModOrganizer2/libbarch), using the prebuilt release available. |
+| `spdlog` | For of the official `spdlog` port to remove `fmt` dependency and force the use of `std::format` instead. |
+
+## Updating a dependency
+
+1. Manually modify `vcpkg.json` and `portfile.cmake` for the dependency you want to update
+under ports:
+ - Update the version (and other stuff if needed) in `vcpkg.json`.
+ - Update (at least) the HASH of the file in `portfile.cmake`.
+
+2. Make a commit with the change, see format of previous commit, e.g.,
+
+ [mo2-libloot] Bump to 0.26.2.
+
+3. Run the following:
+
+ ```powershell
+ vcpkg --x-builtin-ports-root=./ports `
+ --x-builtin-registry-versions-dir=./versions x-add-version `
+ --all --verbose --overwrite-version
+ ```
+
+4. Make a commit with all changes under `versions` with message
+
+ [registry] Update versions database.
+
+5. Push the change to the repository.
diff --git a/libs/vcpkg-registry/ports/7zip/7zip-config.cmake.in b/libs/vcpkg-registry/ports/7zip/7zip-config.cmake.in
new file mode 100644
index 0000000..b371de4
--- /dev/null
+++ b/libs/vcpkg-registry/ports/7zip/7zip-config.cmake.in
@@ -0,0 +1,5 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/7zip-targets.cmake")
+
+check_required_components(7zip)
diff --git a/libs/vcpkg-registry/ports/7zip/portfile.cmake b/libs/vcpkg-registry/ports/7zip/portfile.cmake
new file mode 100644
index 0000000..8c25dc5
--- /dev/null
+++ b/libs/vcpkg-registry/ports/7zip/portfile.cmake
@@ -0,0 +1,33 @@
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ip7z/7zip
+ REF "${VERSION}"
+ SHA512 DC0241ED96907965445550912D1171FE32230A52997B089558A4CC73A662FC6A17940DB8DCB0794B805268964899D9E5A48DDB444E92B56FD243BBAA17C20A1C
+ HEAD_REF main
+)
+
+vcpkg_download_distfile(
+ CMAKEFILE_PATH
+ URLS https://raw.githubusercontent.com/microsoft/vcpkg/f4c23ffc72ab26026394a83504dd9b5d50774833/ports/7zip/CMakeLists.txt
+ FILENAME CMakeLists.txt
+ SHA512 845A4F37094F0140F5EFB44C86499AFDA8E6C2B5BEA6F9A44577A974C6E58811DA7494BB3441C5A5009784BD757E85CD98087FD3E3E95DA882298AF6C8E0D1DE
+)
+
+file(COPY_FILE "${CMAKEFILE_PATH}" "${SOURCE_PATH}/CMakeLists.txt")
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/7zip-config.cmake.in" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/DOC/License.txt")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
diff --git a/libs/vcpkg-registry/ports/7zip/vcpkg.json b/libs/vcpkg-registry/ports/7zip/vcpkg.json
new file mode 100644
index 0000000..06b0d3b
--- /dev/null
+++ b/libs/vcpkg-registry/ports/7zip/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "7zip",
+ "version-string": "24.09",
+ "description": "Library for archiving file with a high compression ratio.",
+ "homepage": "https://www.7-zip.org",
+ "license": "LGPL-2.1-or-later",
+ "supports": "!uwp & !xbox",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/asmjit/asmjit.patch b/libs/vcpkg-registry/ports/asmjit/asmjit.patch
new file mode 100644
index 0000000..a274e36
--- /dev/null
+++ b/libs/vcpkg-registry/ports/asmjit/asmjit.patch
@@ -0,0 +1,906 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 37061c9..a211ae1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,363 +1,618 @@
+-cmake_minimum_required(VERSION 3.1)
+-include(CheckCXXCompilerFlag)
+-
+-# =============================================================================
+-# [AsmJit - Configuration]
+-# =============================================================================
++cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
+
+-# Embedding mode, asmjit will not create any targets (default FALSE).
+-# set(ASMJIT_EMBED FALSE)
++cmake_policy(PUSH)
+
+-# Whether to build a static library (default FALSE).
+-# set(ASMJIT_STATIC FALSE)
++if (POLICY CMP0063)
++ cmake_policy(SET CMP0063 NEW) # Honor visibility properties.
++endif()
+
+-# Used for debugging asmjit itself (default FALSE).
+-# set(ASMJIT_TRACE FALSE)
++if (POLICY CMP0092)
++ cmake_policy(SET CMP0092 NEW) # Don't add -W3 warning level by default.
++endif()
+
+-# Whether to build ARM32 backend (TRUE if building for ARM32).
+-# set(ASMJIT_BUILD_ARM32 FALSE)
++# Don't create a project if it was already created by another CMakeLists.txt.
++# This allows one library to embed another library without making a collision.
++if (NOT CMAKE_PROJECT_NAME OR "${CMAKE_PROJECT_NAME}" STREQUAL "asmjit")
++ project(asmjit CXX)
++endif()
+
+-# Whether to build ARM64 backend (TRUE if building for ARM64).
+-# set(ASMJIT_BUILD_ARM64 FALSE)
++include(CheckCXXCompilerFlag)
++INCLUDE(CheckCXXSourceCompiles)
++include(GNUInstallDirs)
+
+-# Whether to build X86 backend (TRUE if building for X86).
+-# set(ASMJIT_BUILD_X86 FALSE)
++# AsmJit - Deprecated
++# ===================
+
+-# Whether to build X64 backend (TRUE if building for X64).
+-# set(ASMJIT_BUILD_X64 FALSE)
++if (DEFINED ASMJIT_BUILD_EMBED)
++ message(DEPRECATION "ASMJIT_BUILD_EMBED is deprecated, use ASMJIT_EMBED")
++ set(ASMJIT_EMBED "${ASMJIT_BUILD_EMBED}")
++endif()
+
+-# Whether to build tests and samples (default FALSE).
+-# set(ASMJIT_BUILD_TEST FALSE)
++if (DEFINED ASMJIT_BUILD_STATIC)
++ message(DEPRECATION "ASMJIT_BUILD_STATIC is deprecated, use ASMJIT_STATIC")
++ set(ASMJIT_STATIC "${ASMJIT_BUILD_STATIC}")
++endif()
+
+-# =============================================================================
+-# [AsmJit - Build / Embed]
+-# =============================================================================
++# AsmJit - Configuration - Build
++# ==============================
+
+-# Do not create a project if this CMakeLists.txt is included from another
+-# project. This makes it easy to embed or create a static library.
+-if(NOT CMAKE_PROJECT_NAME OR "${CMAKE_PROJECT_NAME}" MATCHES "^asmjit$")
+- project(asmjit C CXX)
+- set(ASMJIT_SIGNATURE "Standalone")
+-else()
+- set(ASMJIT_SIGNATURE "Included")
++if (NOT DEFINED ASMJIT_TEST)
++ set(ASMJIT_TEST FALSE)
+ endif()
+
+-if(ASMJIT_EMBED)
+- set(ASMJIT_SIGNATURE "${ASMJIT_SIGNATURE} | Mode=Embed")
+- set(ASMJIT_STATIC TRUE) # Implies ASMJIT_STATIC.
+-elseif(ASMJIT_STATIC)
+- set(ASMJIT_SIGNATURE "${ASMJIT_SIGNATURE} | Mode=Static")
+-else()
+- set(ASMJIT_SIGNATURE "${ASMJIT_SIGNATURE} | Mode=Shared")
++if (NOT DEFINED ASMJIT_EMBED)
++ set(ASMJIT_EMBED FALSE)
+ endif()
+
+-if(ASMJIT_BUILD_TEST)
+- set(ASMJIT_SIGNATURE "${ASMJIT_SIGNATURE} | Test=On")
+-else()
+- set(ASMJIT_SIGNATURE "${ASMJIT_SIGNATURE} | Test=Off")
++if (NOT DEFINED ASMJIT_STATIC)
++ set(ASMJIT_STATIC ${ASMJIT_EMBED})
+ endif()
+
+-if(NOT ASMJIT_DIR)
+- set(ASMJIT_DIR ${CMAKE_CURRENT_LIST_DIR})
++if (NOT DEFINED ASMJIT_SANITIZE)
++ set(ASMJIT_SANITIZE FALSE)
+ endif()
+
+-message("-- [asmjit] ${ASMJIT_SIGNATURE}")
+-message("-- [asmjit] ASMJIT_DIR=${ASMJIT_DIR}")
+-
+-# =============================================================================
+-# [NP-Utilities]
+-# =============================================================================
+-
+-function(np_detect_options out)
+- set(out_array)
+- foreach(flag ${ARGN})
+- check_cxx_compiler_flag("${flag}" ok)
+- if(ok)
+- list(APPEND out_array "${flag}")
+- endif()
+- unset(ok)
+- endforeach()
+- set(${out} "${out_array}" PARENT_SCOPE)
+-endfunction()
+-
+-# =============================================================================
+-# [AsmJit - Flags / Deps]
+-# =============================================================================
+-
+-set(ASMJIT_SOURCE_DIR "${ASMJIT_DIR}/src") # Asmjit source directory.
+-set(ASMJIT_INCLUDE_DIR "${ASMJIT_SOURCE_DIR}") # Asmjit include directory.
+-
+-set(ASMJIT_CFLAGS) # Asmjit CFLAGS / CXXFLAGS.
+-set(ASMJIT_DEPS) # Asmjit dependencies (list of libraries) for the linker.
+-set(ASMJIT_LIBS) # Asmjit dependencies with asmjit included, for consumers.
+-
+-# Internal, never use.
+-set(ASMJIT_D "-D") # Used to define a C/C++ preprocessor parameter (-D or /D).
+-set(ASMJIT_PRIVATE_CFLAGS) # Compiler flags independent of build type.
+-set(ASMJIT_PRIVATE_LFLAGS "") # Linker flags used by the library and tests.
+-
+-set(ASMJIT_PRIVATE_CFLAGS_DBG) # Compiler flags used only by debug build.
+-set(ASMJIT_PRIVATE_CFLAGS_REL) # Compiler flags used only by release build.
++if (NOT DEFINED ASMJIT_NO_CUSTOM_FLAGS)
++ set(ASMJIT_NO_CUSTOM_FLAGS FALSE)
++endif()
+
+-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+- set(ASMJIT_D "/D")
+- set(ASMJIT_PRIVATE_LFLAGS "/OPT:REF /OPT:ICF")
++if (NOT DEFINED ASMJIT_NO_NATVIS)
++ set(ASMJIT_NO_NATVIS FALSE)
++endif()
+
+- list(APPEND ASMJIT_PRIVATE_CFLAGS /GF)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS_DBG /GS /GR-)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS_REL /Oi /Oy /GS- /GR-)
+- if(NOT MSVC60 AND NOT MSVC70 AND NOT MSVC71)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS /MP) # Enable multi-process compilation.
+- endif()
++# EMBED implies STATIC.
++if (ASMJIT_EMBED AND NOT ASMJIT_STATIC)
++ set(ASMJIT_STATIC TRUE)
+ endif()
+
+-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "^(GNU|Clang)$")
+- # Keep only the first option detected.
+- np_detect_options(ASMJIT_CC_OPTIONS
+- "-std=c++14"
+- "-std=c++11"
+- "-std=c++0x")
+- if(ASMJIT_CC_OPTIONS)
+- list(GET ASMJIT_CC_OPTIONS 0 ASMJIT_CC_OPTIONS)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS ${ASMJIT_CC_OPTIONS})
+- endif()
++# AsmJit - Configuration - Backend
++# ================================
+
+- np_detect_options(ASMJIT_CC_OPTIONS
+- "-fno-exceptions"
+- "-fno-tree-vectorize"
+- "-fvisibility=hidden")
++if (NOT DEFINED ASMJIT_NO_X86)
++ set(ASMJIT_NO_X86 FALSE)
++endif()
+
+- list(APPEND ASMJIT_PRIVATE_CFLAGS ${ASMJIT_CC_OPTIONS})
+- list(APPEND ASMJIT_PRIVATE_CFLAGS_REL -fmerge-all-constants)
++if (NOT DEFINED ASMJIT_NO_AARCH64)
++ set(ASMJIT_NO_AARCH64 FALSE)
++endif()
+
+- unset(ASMJIT_CC_OPTIONS)
++if (NOT DEFINED ASMJIT_NO_FOREIGN)
++ set(ASMJIT_NO_FOREIGN FALSE)
+ endif()
+
+-if(ASMJIT_EMBED)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS "${ASMJIT_D}ASMJIT_EMBED")
+-elseif(ASMJIT_STATIC)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS "${ASMJIT_D}ASMJIT_STATIC")
++# AsmJit - Configuration - Features
++# =================================
++
++if (NOT DEFINED ASMJIT_NO_DEPRECATED)
++ set(ASMJIT_NO_DEPRECATED FALSE)
+ endif()
+
+-if(ASMJIT_TRACE)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS "${ASMJIT_D}ASMJIT_TRACE")
++if (NOT DEFINED ASMJIT_NO_SHM_OPEN)
++ set(ASMJIT_NO_SHM_OPEN FALSE)
+ endif()
+
+-if(WIN32)
+- list(APPEND ASMJIT_PRIVATE_CFLAGS "${ASMJIT_D}_UNICODE")
+-else()
+- list(APPEND ASMJIT_DEPS pthread)
++if (NOT DEFINED ASMJIT_NO_JIT)
++ set(ASMJIT_NO_JIT FALSE)
+ endif()
+
+-if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
+- list(APPEND ASMJIT_DEPS rt)
++if (NOT DEFINED ASMJIT_NO_TEXT)
++ set(ASMJIT_NO_TEXT FALSE)
+ endif()
+
+-set(ASMJIT_LIBS ${ASMJIT_DEPS})
+-if(NOT ASMJIT_EMBED)
+- list(INSERT ASMJIT_LIBS 0 asmjit)
++if (NOT DEFINED ASMJIT_NO_LOGGING)
++ set(ASMJIT_NO_LOGGING ${ASMJIT_NO_TEXT})
+ endif()
+
+-if(ASMJIT_BUILD_ARM32)
+- List(APPEND ASMJIT_CFLAGS "${ASMJIT_D}ASMJIT_BUILD_ARM32")
++if (NOT DEFINED ASMJIT_NO_VALIDATION)
++ set(ASMJIT_NO_VALIDATION FALSE)
+ endif()
+
+-if(ASMJIT_BUILD_ARM64)
+- List(APPEND ASMJIT_CFLAGS "${ASMJIT_D}ASMJIT_BUILD_ARM64")
++if (NOT DEFINED ASMJIT_NO_INTROSPECTION)
++ set(ASMJIT_NO_INTROSPECTION FALSE)
+ endif()
+
+-if(ASMJIT_BUILD_X86)
+- List(APPEND ASMJIT_CFLAGS "${ASMJIT_D}ASMJIT_BUILD_X86")
++if (NOT DEFINED ASMJIT_NO_BUILDER)
++ set(ASMJIT_NO_BUILDER FALSE)
+ endif()
+
+-if(ASMJIT_BUILD_X64)
+- List(APPEND ASMJIT_CFLAGS "${ASMJIT_D}ASMJIT_BUILD_X64")
++if (NOT DEFINED ASMJIT_NO_COMPILER)
++ if (ASMJIT_NO_BUILDER OR ASMJIT_NO_INTROSPECTION)
++ set(ASMJIT_NO_COMPILER TRUE)
++ else()
++ set(ASMJIT_NO_COMPILER FALSE)
++ endif()
+ endif()
+
+-set(ASMJIT_PRIVATE_CFLAGS_DBG ${ASMJIT_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS_DBG})
+-set(ASMJIT_PRIVATE_CFLAGS_REL ${ASMJIT_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS_REL})
++# AsmJit - Configuration - CMake Introspection
++# ============================================
++
++set(ASMJIT_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Location of 'asmjit'")
++set(ASMJIT_TEST "${ASMJIT_TEST}" CACHE BOOL "Build 'asmjit' test applications")
++set(ASMJIT_EMBED "${ASMJIT_EMBED}" CACHE BOOL "Embed 'asmjit' library (no targets)")
++set(ASMJIT_STATIC "${ASMJIT_STATIC}" CACHE BOOL "Build 'asmjit' library as static")
++set(ASMJIT_SANITIZE "${ASMJIT_SANITIZE}" CACHE STRING "Build with sanitizers: 'address', 'undefined', etc...")
++set(ASMJIT_NO_NATVIS "${ASMJIT_NO_NATVIS}" CACHE BOOL "Disable natvis support (embedding asmjit.natvis in PDB)")
++set(ASMJIT_NO_CUSTOM_FLAGS "${ASMJIT_NO_CUSTOM_FLAGS}" CACHE BOOL "Disable extra compilation flags added by AsmJit to its targets")
++
++set(ASMJIT_NO_X86 "${ASMJIT_NO_X86}" CACHE BOOL "Disable X86/X64 backend")
++set(ASMJIT_NO_AARCH64 "${ASMJIT_NO_AARCH64}" CACHE BOOL "Disable AArch64 backend")
++set(ASMJIT_NO_FOREIGN "${ASMJIT_NO_FOREIGN}" CACHE BOOL "Disable all foreign architectures (enables only a target architecture)")
++
++set(ASMJIT_NO_DEPRECATED "${ASMJIT_NO_DEPRECATED}" CACHE BOOL "Disable deprecated API at build time")
++set(ASMJIT_NO_SHM_OPEN "${ASMJIT_NO_SHM_OPEN}" CACHE BOOL "Disable the use of shm_open() even on platforms where it's supported")
++set(ASMJIT_NO_JIT "${ASMJIT_NO_JIT}" CACHE BOOL "Disable VirtMem, JitAllocator, and JitRuntime at build time")
++set(ASMJIT_NO_TEXT "${ASMJIT_NO_TEXT}" CACHE BOOL "Disable textual representation of instructions, enums, cpu features, ...")
++set(ASMJIT_NO_LOGGING "${ASMJIT_NO_LOGGING}" CACHE BOOL "Disable logging features at build time")
++set(ASMJIT_NO_VALIDATION "${ASMJIT_NO_VALIDATION}" CACHE BOOL "Disable instruction validation API at build time")
++set(ASMJIT_NO_INTROSPECTION "${ASMJIT_NO_INTROSPECTION}" CACHE BOOL "Disable instruction introspection API at build time")
++set(ASMJIT_NO_BUILDER "${ASMJIT_NO_BUILDER}" CACHE BOOL "Disable Builder emitter at build time")
++set(ASMJIT_NO_COMPILER "${ASMJIT_NO_COMPILER}" CACHE BOOL "Disable Compiler emitter at build time")
++
++# AsmJit - Project
++# ================
++
++set(ASMJIT_INCLUDE_DIRS "${ASMJIT_DIR}/src") # Include directory is the same as source dir.
++set(ASMJIT_DEPS "") # AsmJit dependencies (libraries) for the linker.
++set(ASMJIT_LIBS "") # Dependencies of libs/apps that want to use AsmJit.
++set(ASMJIT_CFLAGS "") # Public compiler flags.
++set(ASMJIT_PRIVATE_CFLAGS "") # Private compiler flags independent of build type.
++set(ASMJIT_PRIVATE_CFLAGS_DBG "") # Private compiler flags used by debug builds.
++set(ASMJIT_PRIVATE_CFLAGS_REL "") # Private compiler flags used by release builds.
++set(ASMJIT_SANITIZE_CFLAGS "") # Compiler flags required by currently enabled sanitizers.
++set(ASMJIT_SANITIZE_LFLAGS "") # Linker flags required by currently enabled sanitizers.
++
++# AsmJit - Utilities
++# ==================
++
++function(asmjit_detect_cflags out)
++ set(out_array ${${out}})
++ foreach(flag ${ARGN})
++ string(REGEX REPLACE "[+]" "x" flag_signature "${flag}")
++ string(REGEX REPLACE "[-=:;/.\]" "_" flag_signature "${flag_signature}")
++ check_cxx_compiler_flag(${flag} "__CxxFlag_${flag_signature}")
++ if (${__CxxFlag_${flag_signature}})
++ list(APPEND out_array "${flag}")
++ endif()
++ endforeach()
++ set(${out} "${out_array}" PARENT_SCOPE)
++endfunction()
+
+-message("-- [asmjit] ASMJIT_DEPS=${ASMJIT_DEPS}")
+-message("-- [asmjit] ASMJIT_LIBS=${ASMJIT_LIBS}")
+-message("-- [asmjit] ASMJIT_CFLAGS=${ASMJIT_CFLAGS}")
++# Support for various sanitizers provided by C/C++ compilers.
++function(asmjit_detect_sanitizers out)
++ set(_out_array ${${out}})
++ set(_flags "")
+
+-# =============================================================================
+-# [AsmJit - Macros]
+-# =============================================================================
++ foreach(_arg ${ARGN})
++ string(REPLACE "," ";" _arg "${_arg}")
++ list(APPEND _flags ${_arg})
++ endforeach()
+
+-macro(asmjit_add_source _out_dst _src_dir)
+- set(_src_path "${ASMJIT_SOURCE_DIR}/${_src_dir}")
+- set(_src_list)
++ foreach(_flag ${_flags})
++ if (NOT "${_flag}" MATCHES "^-fsanitize=")
++ SET(_flag "-fsanitize=${_flag}")
++ endif()
+
+- foreach(_arg ${ARGN})
+- set(_src_file "${_src_path}/${_arg}")
+- list(APPEND _src_list ${_src_file})
++ # Sanitizers also require link flags, see CMAKE_REQUIRED_FLAGS.
++ set(CMAKE_REQUIRED_FLAGS "${_flag}")
++ asmjit_detect_cflags(_out_array ${_flag})
++ unset(CMAKE_REQUIRED_FLAGS)
+ endforeach()
+
+- list(APPEND "${_out_dst}" ${_src_list})
+- source_group(${_src_dir} FILES ${_src_list})
+-endmacro()
++ set(${out} "${_out_array}" PARENT_SCOPE)
++endfunction()
+
+-macro(asmjit_add_library _target _src _deps _cflags _cflags_dbg _cflags_rel)
+- if(NOT ASMJIT_STATIC)
+- add_library(${_target} SHARED ${_src})
++function(asmjit_add_target target target_type)
++ set(single_val "")
++ set(multi_val SOURCES LIBRARIES CFLAGS CFLAGS_DBG CFLAGS_REL)
++ cmake_parse_arguments("X" "" "${single_val}" "${multi_val}" ${ARGN})
++
++ if ("${target_type}" MATCHES "^(EXECUTABLE|TEST)$")
++ add_executable(${target} ${X_SOURCES})
+ else()
+- add_library(${_target} STATIC ${_src})
++ add_library(${target} ${target_type} ${X_SOURCES})
+ endif()
+
+- target_link_libraries(${_target} ${_deps})
+- set_target_properties(${_target} PROPERTIES LINK_FLAGS "${ASMJIT_PRIVATE_LFLAGS}")
++ set_target_properties(${target} PROPERTIES DEFINE_SYMBOL "")
++ target_link_libraries(${target} PRIVATE ${X_LIBRARIES})
++
++ # target_link_options was added in cmake v3.13, don't use it for now...
++ foreach(link_flag ${ASMJIT_PRIVATE_LFLAGS})
++ set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS " ${link_flag}")
++ endforeach()
++
++ target_compile_features(${target} PUBLIC cxx_std_11)
++ set_property(TARGET ${target} PROPERTY CXX_EXTENSIONS NO)
++ set_property(TARGET ${target} PROPERTY CXX_VISIBILITY_PRESET hidden)
++ target_compile_options(${target} PRIVATE ${X_CFLAGS} ${ASMJIT_SANITIZE_CFLAGS} $<$<CONFIG:Debug>:${X_CFLAGS_DBG}> $<$<NOT:$<CONFIG:Debug>>:${X_CFLAGS_REL}>)
++
++ if ("${target_type}" STREQUAL "TEST")
++ add_test(NAME ${target} COMMAND ${target})
++ endif()
++endfunction()
+
+- if(CMAKE_BUILD_TYPE)
+- if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+- target_compile_options(${_target} PRIVATE ${_cflags} ${_cflags_dbg})
++# AsmJit - Compiler Support
++# =========================
++
++# We will have to keep this most likely forever as some users may still be using it.
++set(ASMJIT_INCLUDE_DIR "${ASMJIT_INCLUDE_DIRS}")
++
++if (NOT ASMJIT_NO_CUSTOM_FLAGS)
++ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
++ list(APPEND ASMJIT_PRIVATE_CFLAGS
++ -MP # [+] Multi-Process Compilation.
++ -GF # [+] Eliminate duplicate strings.
++ -Zc:__cplusplus # [+] Conforming __cplusplus definition.
++ -Zc:inline # [+] Remove unreferenced COMDAT.
++ -Zc:strictStrings # [+] Strict const qualification of string literals.
++ -Zc:threadSafeInit- # [-] Thread-safe statics.
++ -W4) # [+] Warning level 4.
++
++ list(APPEND ASMJIT_PRIVATE_CFLAGS_DBG
++ -GS) # [+] Buffer security-check.
++
++ list(APPEND ASMJIT_PRIVATE_CFLAGS_REL
++ -GS- # [-] Buffer security-check.
++ -O2 # [+] Favor speed over size.
++ -Oi) # [+] Generate intrinsic functions.
++ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "^(GNU|Clang|AppleClang)$")
++ list(APPEND ASMJIT_PRIVATE_CFLAGS -Wall -Wextra -Wconversion)
++ list(APPEND ASMJIT_PRIVATE_CFLAGS -fno-math-errno)
++ list(APPEND ASMJIT_PRIVATE_CFLAGS_REL -O2)
++
++ # -fno-semantic-interposition is not available on apple - the compiler issues a warning, which is not detected.
++ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
++ asmjit_detect_cflags(ASMJIT_PRIVATE_CFLAGS -fno-threadsafe-statics)
+ else()
+- target_compile_options(${_target} PRIVATE ${_cflags} ${_cflags_rel})
++ asmjit_detect_cflags(ASMJIT_PRIVATE_CFLAGS -fno-threadsafe-statics -fno-semantic-interposition)
+ endif()
+- else()
+- target_compile_options(${_target} PRIVATE ${_cflags}
+- $<$<CONFIG:Debug>:${_cflags_dbg}>
+- $<$<NOT:$<CONFIG:Debug>>:${_cflags_rel}>)
++
++ # The following flags can save few bytes in the resulting binary.
++ asmjit_detect_cflags(ASMJIT_PRIVATE_CFLAGS_REL
++ -fmerge-all-constants # Merge all constants even if it violates ISO C++.
++ -fno-enforce-eh-specs) # Don't enforce termination if noexcept function throws.
+ endif()
++endif()
++
++# Support for sanitizers.
++if (ASMJIT_SANITIZE)
++ asmjit_detect_sanitizers(ASMJIT_SANITIZE_CFLAGS ${ASMJIT_SANITIZE})
++ if (ASMJIT_SANITIZE_CFLAGS)
++ message("-- Enabling sanitizers: '${ASMJIT_SANITIZE_CFLAGS}'")
++
++ # Linker must receive the same flags as the compiler when it comes to sanitizers.
++ set(ASMJIT_SANITIZE_LFLAGS ${ASMJIT_SANITIZE_CFLAGS})
+
+- if(NOT ASMJIT_STATIC)
+- install(TARGETS ${_target} DESTINATION "lib${LIB_SUFFIX}")
++ # Don't omit frame pointer if sanitizers are enabled.
++ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
++ list(APPEND ASMJIT_SANITIZE_CFLAGS -Oy-)
++ else()
++ list(APPEND ASMJIT_SANITIZE_CFLAGS -fno-omit-frame-pointer -g)
++ endif()
++
++ list(APPEND ASMJIT_PRIVATE_CFLAGS ${ASMJIT_SANITIZE_CFLAGS})
++ list(APPEND ASMJIT_PRIVATE_LFLAGS ${ASMJIT_SANITIZE_LFLAGS})
+ endif()
+-endmacro()
++endif()
+
+-# =============================================================================
+-# [AsmJit - Source]
+-# =============================================================================
++if (WIN32)
++ # Dependency: nothing extra at the moment.
++elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
++ # Dependency: libc is the only required library on Android as it also provides libthread.
++ message("-- Dependency: adding libc (Android target detected)")
++ list(APPEND ASMJIT_DEPS c)
++elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Haiku")
++ # Dependency: libroot is used by Haiku instead of libc, so link to libroot and libpthread.
++ message("-- Dependency: adding libroot and libpthread (Haiku target detected)")
++ list(APPEND ASMJIT_DEPS root pthread)
++else()
++ # Dependency: libc is always required.
++ message("-- Dependency: adding libc (Linux, BSD, or other UNIX/POSIX environment)")
++ list(APPEND ASMJIT_DEPS c)
++
++ # Dependency: pthread (required so AsmJit can use pthread_lock).
++ check_cxx_source_compiles("
++ #include <pthread.h>
++ int main() {
++ pthread_mutex_t m;
++ pthread_mutex_init(&m, nullptr);
++ return pthread_mutex_destroy(&m);
++ }
++ " ASMJIT_LIBC_HAS_LIBPTHREAD)
++ if (ASMJIT_LIBC_HAS_LIBPTHREAD)
++ message("-- Dependency: libpthread provided by libc (not linking to libpthread)")
++ else()
++ message("-- Dependency: libpthread not provided by libc, linking to libpthread")
++ list(APPEND ASMJIT_DEPS pthread)
++ endif()
+
+-set(ASMJIT_SRC "")
++ # Dependency: shm_open (required so AsmJit can use shm_open on supported platforms).
++ if ("${CMAKE_SYSTEM_NAME}" MATCHES "^(Linux|NetBSD)$" AND NOT ASMJIT_NO_SHM_OPEN)
++ check_cxx_source_compiles("
++ #include <sys/mman.h>
++ int main() {
++ const char file_name[1] {};
++ return shm_open(file_name, 0, 0);
++ }
++ " ASMJIT_LIBC_HAS_LIBRT)
++ if (ASMJIT_LIBC_HAS_LIBRT)
++ message("-- Dependency: shm_open provided by libc (not linking to librt)")
++ else()
++ message("-- Dependency: shm_open not provided by libc, linking to librt")
++ list(APPEND ASMJIT_DEPS rt)
++ endif()
++ endif()
++endif()
+
+-asmjit_add_source(ASMJIT_SRC asmjit
+- apibegin.h
+- apiend.h
++set(ASMJIT_LIBS ${ASMJIT_DEPS})
++if (NOT ASMJIT_EMBED)
++ list(INSERT ASMJIT_LIBS 0 asmjit)
++endif()
+
+- asmjit.h
+- base.h
+- build.h
+- host.h
++if (ASMJIT_EMBED)
++ set(ASMJIT_TARGET_TYPE "EMBED")
++elseif (ASMJIT_STATIC)
++ set(ASMJIT_TARGET_TYPE "STATIC")
++else()
++ set(ASMJIT_TARGET_TYPE "SHARED")
++endif()
+
+- arm.h
+- x86.h
+-)
++foreach(build_option # AsmJit build options.
++ ASMJIT_STATIC
++ ASMJIT_NO_DEPRECATED
++ # AsmJit backends selection.
++ ASMJIT_NO_X86
++ ASMJIT_NO_AARCH64
++ ASMJIT_NO_FOREIGN
++ # AsmJit features selection.
++ ASMJIT_NO_JIT
++ ASMJIT_NO_TEXT
++ ASMJIT_NO_LOGGING
++ ASMJIT_NO_INTROSPECTION
++ ASMJIT_NO_VALIDATION
++ ASMJIT_NO_BUILDER
++ ASMJIT_NO_COMPILER)
++ if (${build_option})
++ List(APPEND ASMJIT_CFLAGS "-D${build_option}")
++ List(APPEND ASMJIT_PRIVATE_CFLAGS "-D${build_option}")
++ endif()
++endforeach()
+
+-asmjit_add_source(ASMJIT_SRC asmjit/base
+- assembler.cpp
+- assembler.h
+- compiler.cpp
+- compiler.h
+- compilercontext.cpp
+- compilercontext_p.h
+- compilerfunc.h
+- constpool.cpp
+- constpool.h
+- containers.cpp
+- containers.h
+- cpuinfo.cpp
+- cpuinfo.h
+- globals.cpp
+- globals.h
+- hlstream.cpp
+- hlstream.h
+- logger.cpp
+- logger.h
+- operand.cpp
+- operand.h
+- podvector.cpp
+- podvector.h
+- runtime.cpp
+- runtime.h
+- utils.cpp
+- utils.h
+- vectypes.h
+- vmem.cpp
+- vmem.h
+- zone.cpp
+- zone.h
+-)
++# AsmJit - Linker Support
++# =======================
+
+-if(0)
+-asmjit_add_source(ASMJIT_SRC asmjit/arm
+- armassembler.cpp
+- armassembler.h
+- arminst.cpp
+- arminst.h
+- armoperand.cpp
+- armoperand_regs.cpp
+- armoperand.h
+-)
++if (WIN32)
++ if (CMAKE_LINKER MATCHES "link\\.exe" OR CMAKE_LINKER MATCHES "lld-link\\.exe")
++ set(ASMJIT_LINKER_SUPPORTS_NATVIS TRUE)
++ endif()
+ endif()
+
+-asmjit_add_source(ASMJIT_SRC asmjit/x86
+- x86assembler.cpp
+- x86assembler.h
+- x86compiler.cpp
+- x86compiler.h
+- x86compilercontext.cpp
+- x86compilercontext_p.h
+- x86compilerfunc.cpp
+- x86compilerfunc.h
+- x86inst.cpp
+- x86inst.h
+- x86operand.cpp
+- x86operand_regs.cpp
+- x86operand.h
++# AsmJit - Source
++# ===============
++
++set(ASMJIT_SRC_LIST
++ asmjit/apibegin.h
++ asmjit/apiend.h
++ asmjit/asmjit.h
++ asmjit/base.h
++ asmjit/build.h
++ asmjit/host.h
++ asmjit/arm.h
++ asmjit/x86.h
++
++ asmjit/base/assembler.cpp
++ asmjit/base/assembler.h
++ asmjit/base/compiler.cpp
++ asmjit/base/compiler.h
++ asmjit/base/compilercontext.cpp
++ asmjit/base/compilercontext_p.h
++ asmjit/base/compilerfunc.h
++ asmjit/base/constpool.cpp
++ asmjit/base/constpool.h
++ asmjit/base/containers.cpp
++ asmjit/base/containers.h
++ asmjit/base/cpuinfo.cpp
++ asmjit/base/cpuinfo.h
++ asmjit/base/globals.cpp
++ asmjit/base/globals.h
++ asmjit/base/hlstream.cpp
++ asmjit/base/hlstream.h
++ asmjit/base/logger.cpp
++ asmjit/base/logger.h
++ asmjit/base/operand.cpp
++ asmjit/base/operand.h
++ asmjit/base/podvector.cpp
++ asmjit/base/podvector.h
++ asmjit/base/runtime.cpp
++ asmjit/base/runtime.h
++ asmjit/base/utils.cpp
++ asmjit/base/utils.h
++ asmjit/base/vectypes.h
++ asmjit/base/vmem.cpp
++ asmjit/base/vmem.h
++ asmjit/base/zone.cpp
++ asmjit/base/zone.h
++
++ asmjit/x86/x86assembler.cpp
++ asmjit/x86/x86assembler.h
++ asmjit/x86/x86compiler.cpp
++ asmjit/x86/x86compiler.h
++ asmjit/x86/x86compilercontext.cpp
++ asmjit/x86/x86compilercontext_p.h
++ asmjit/x86/x86compilerfunc.cpp
++ asmjit/x86/x86compilerfunc.h
++ asmjit/x86/x86inst.cpp
++ asmjit/x86/x86inst.h
++ asmjit/x86/x86operand.cpp
++ asmjit/x86/x86operand_regs.cpp
++ asmjit/x86/x86operand.h
+ )
++set(ASMJIT_SRC "")
++foreach(src_file ${ASMJIT_SRC_LIST})
++ set(src_file "${ASMJIT_DIR}/src/${src_file}")
++ list(APPEND ASMJIT_SRC ${src_file})
+
+-# =============================================================================
+-# [AsmJit - Targets]
+-# =============================================================================
+-
+-if(NOT ASMJIT_EMBED)
+- # Add `asmjit` library.
+- asmjit_add_library(asmjit
+- "${ASMJIT_SRC}"
+- "${ASMJIT_DEPS}"
+- ""
+- "${ASMJIT_PRIVATE_CFLAGS_DBG}"
+- "${ASMJIT_PRIVATE_CFLAGS_REL}"
+- )
+-
+- foreach(_src_file ${ASMJIT_SRC})
+- get_filename_component(_src_dir ${_src_file} PATH)
+- get_filename_component(_src_name ${_src_file} NAME)
+- string(REGEX REPLACE "^${ASMJIT_SOURCE_DIR}/" "" targetpath "${_src_dir}")
+- if("${_src_name}" MATCHES ".h$")
+- if(NOT "${_src_name}" MATCHES "_p.h$")
+- install(FILES ${_src_file} DESTINATION "include/${targetpath}")
++ if ("${src_file}" MATCHES "\\.natvis")
++ if (ASMJIT_LINKER_SUPPORTS_NATVIS)
++ list(APPEND ASMJIT_PRIVATE_LFLAGS "-natvis:${src_file}")
++ endif()
++ endif()
++endforeach()
++
++source_group(TREE "${ASMJIT_DIR}" FILES ${ASMJIT_SRC})
++
++# AsmJit - Summary
++# ================
++
++message("** AsmJit Summary **")
++message(" ASMJIT_DIR=${ASMJIT_DIR}")
++message(" ASMJIT_TEST=${ASMJIT_TEST}")
++message(" ASMJIT_TARGET_TYPE=${ASMJIT_TARGET_TYPE}")
++message(" ASMJIT_DEPS=${ASMJIT_DEPS}")
++message(" ASMJIT_LIBS=${ASMJIT_LIBS}")
++message(" ASMJIT_CFLAGS=${ASMJIT_CFLAGS}")
++message(" ASMJIT_PRIVATE_CFLAGS=${ASMJIT_PRIVATE_CFLAGS}")
++message(" ASMJIT_PRIVATE_CFLAGS_DBG=${ASMJIT_PRIVATE_CFLAGS_DBG}")
++message(" ASMJIT_PRIVATE_CFLAGS_REL=${ASMJIT_PRIVATE_CFLAGS_REL}")
++
++# AsmJit - Targets
++# ================
++
++if (NOT ASMJIT_EMBED)
++ # Add AsmJit target.
++ asmjit_add_target(asmjit "${ASMJIT_TARGET_TYPE}"
++ SOURCES ${ASMJIT_SRC}
++ LIBRARIES ${ASMJIT_DEPS}
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
++
++ target_compile_options(asmjit INTERFACE ${ASMJIT_CFLAGS})
++ target_include_directories(asmjit BEFORE INTERFACE
++ $<BUILD_INTERFACE:${ASMJIT_INCLUDE_DIRS}>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++
++ # Add asmjit::asmjit alias.
++ add_library(asmjit::asmjit ALIAS asmjit)
++ # TODO: [CMAKE] Deprecated alias - we use projectname::libraryname convention now.
++ add_library(AsmJit::AsmJit ALIAS asmjit)
++
++ # Add AsmJit install instructions (library and public headers).
++ if (NOT ASMJIT_NO_INSTALL)
++ install(TARGETS asmjit
++ EXPORT asmjit-config
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
++ install(EXPORT asmjit-config
++ NAMESPACE asmjit::
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/asmjit")
++
++ foreach(_src_file ${ASMJIT_SRC_LIST})
++ if ("${_src_file}" MATCHES "\\.h$" AND NOT "${_src_file}" MATCHES "_p\\.h$")
++ get_filename_component(_src_dir ${_src_file} PATH)
++ install(FILES "${ASMJIT_DIR}/src/${_src_file}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_src_dir}")
+ endif()
++ endforeach()
++ endif()
++
++ # Add AsmJit tests.
++ if (ASMJIT_TEST)
++ enable_testing()
++
++ # Special target that always uses embedded AsmJit.
++ asmjit_add_target(asmjit_test_unit TEST
++ SOURCES ${ASMJIT_SRC}
++ test/asmjit_test_unit.cpp
++ test/broken.cpp
++ test/broken.h
++ LIBRARIES ${ASMJIT_DEPS}
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ -DASMJIT_TEST
++ -DASMJIT_STATIC
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
++ target_include_directories(asmjit_test_unit BEFORE PRIVATE ${ASMJIT_INCLUDE_DIRS})
++
++ asmjit_add_target(asmjit_test_assembler TEST
++ SOURCES test/asmjit_test_assembler.cpp
++ test/asmjit_test_assembler.h
++ test/asmjit_test_assembler_a64.cpp
++ test/asmjit_test_assembler_x64.cpp
++ test/asmjit_test_assembler_x86.cpp
++ LIBRARIES asmjit::asmjit
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
++
++ asmjit_add_target(asmjit_test_perf EXECUTABLE
++ SOURCES test/asmjit_test_perf.cpp
++ test/asmjit_test_perf_a64.cpp
++ test/asmjit_test_perf_x86.cpp
++ SOURCES test/asmjit_test_perf.h
++ LIBRARIES asmjit::asmjit
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
++
++ foreach(_target asmjit_test_emitters
++ asmjit_test_execute
++ asmjit_test_x86_sections)
++ asmjit_add_target(${_target} TEST
++ SOURCES test/${_target}.cpp
++ LIBRARIES asmjit::asmjit
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
++ endforeach()
++
++ if (NOT ASMJIT_NO_INTROSPECTION)
++ asmjit_add_target(asmjit_test_instinfo TEST
++ SOURCES test/asmjit_test_instinfo.cpp
++ LIBRARIES asmjit::asmjit
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
+ endif()
+- endforeach()
+
+- # Add `asmjit` tests and samples.
+- if(ASMJIT_BUILD_TEST)
+- set(ASMJIT_TEST_SRC "")
+- set(ASMJIT_TEST_CFLAGS ${ASMJIT_CFLAGS} ${ASMJIT_D}ASMJIT_TEST ${ASMJIT_D}ASMJIT_EMBED)
+- asmjit_add_source(ASMJIT_TEST_SRC test asmjit_test_unit.cpp broken.cpp broken.h)
+-
+- add_executable(asmjit_test_unit ${ASMJIT_SRC} ${ASMJIT_TEST_SRC})
+- target_link_libraries(asmjit_test_unit ${ASMJIT_DEPS})
+- set_target_properties(asmjit_test_unit PROPERTIES LINK_FLAGS "${ASMJIT_PRIVATE_LFLAGS}")
+-
+- if(CMAKE_BUILD_TYPE)
+- if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+- target_compile_options(asmjit_test_unit PRIVATE ${ASMJIT_TEST_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS_DBG})
+- else()
+- target_compile_options(asmjit_test_unit PRIVATE ${ASMJIT_TEST_CFLAGS} ${ASMJIT_PRIVATE_CFLAGS_REL})
++ if (NOT (ASMJIT_NO_BUILDER OR ASMJIT_NO_COMPILER))
++ # Vectorcall tests and XMM tests require at least SSE2 in 32-bit mode (in 64-bit mode it's implicit).
++ # Some compilers don't like passing -msse2 for 64-bit targets, and some compilers targeting non-x86
++ # would pass "-msse2" compile flag check, but with a warning not detected by CMake. Thus, verify that
++ # our target is really 32-bit X86 and only use -msse2 or -arch:SSE2 flags when necessary.
++ set(ASMJIT_SSE2_CFLAGS "")
++
++ check_cxx_source_compiles("
++ #if defined(_M_IX86) || defined(__X86__) || defined(__i386__)
++ int target_is_32_bit_x86() { return 1; }
++ #else
++ // Compile error...
++ #endif
++
++ int main() {
++ return target_is_32_bit_x86();
++ }
++ " ASMJIT_TARGET_IS_32_BIT_X86)
++
++ if (ASMJIT_TARGET_IS_32_BIT_X86)
++ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
++ asmjit_detect_cflags(ASMJIT_SSE2_CFLAGS "-arch:SSE2")
++ else()
++ asmjit_detect_cflags(ASMJIT_SSE2_CFLAGS "-msse2")
++ endif()
+ endif()
+- else()
+- target_compile_options(asmjit_test_unit PRIVATE ${ASMJIT_TEST_CFLAGS}
+- $<$<CONFIG:Debug>:${ASMJIT_PRIVATE_CFLAGS_DBG}>
+- $<$<NOT:$<CONFIG:Debug>>:${ASMJIT_PRIVATE_CFLAGS_REL}>)
++ asmjit_add_target(asmjit_test_compiler TEST
++ SOURCES test/asmjit_test_compiler.cpp
++ test/asmjit_test_compiler.h
++ test/asmjit_test_compiler_a64.cpp
++ test/asmjit_test_compiler_x86.cpp
++ LIBRARIES asmjit::asmjit
++ CFLAGS ${ASMJIT_PRIVATE_CFLAGS} ${ASMJIT_SSE2_CFLAGS}
++ CFLAGS_DBG ${ASMJIT_PRIVATE_CFLAGS_DBG}
++ CFLAGS_REL ${ASMJIT_PRIVATE_CFLAGS_REL})
+ endif()
+
+- foreach(_target asmjit_bench_x86 asmjit_test_opcode asmjit_test_x86)
+- add_executable(${_target} "src/test/${_target}.cpp")
+- target_compile_options(${_target} PRIVATE ${ASMJIT_CFLAGS})
+- target_link_libraries(${_target} ${ASMJIT_LIBS})
+- endforeach()
+ endif()
+ endif()
++
++cmake_policy(POP)
diff --git a/libs/vcpkg-registry/ports/asmjit/portfile.cmake b/libs/vcpkg-registry/ports/asmjit/portfile.cmake
new file mode 100644
index 0000000..17b00cf
--- /dev/null
+++ b/libs/vcpkg-registry/ports/asmjit/portfile.cmake
@@ -0,0 +1,31 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO asmjit/asmjit
+ REF fb9f82cb61df36aa513d054e748dc6769045f33e
+ SHA512 937a1ea1855d7eef53e6afc3401dd015e5de26d174dc667f8be4580a2d8388a703fff4298e4e2ca9ea490c5053197f33d3b010456985243931a1c0a6845926cc
+ HEAD_REF master
+ PATCHES
+ asmjit.patch
+)
+
+set(VCPKG_LIBRARY_LINKAGE static)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DASMJIT_STATIC=TRUE
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/asmjit)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/asmjit/core/api-config.h"
+# "#if !defined(ASMJIT_STATIC)"
+# "#if 0"
+# )
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md")
diff --git a/libs/vcpkg-registry/ports/asmjit/vcpkg.json b/libs/vcpkg-registry/ports/asmjit/vcpkg.json
new file mode 100644
index 0000000..7190016
--- /dev/null
+++ b/libs/vcpkg-registry/ports/asmjit/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "asmjit",
+ "version-string": "fb9f82c",
+ "description": "Complete x86/x64 JIT and Remote Assembler for C++",
+ "homepage": "https://github.com/asmjit/asmjit",
+ "supports": "!arm",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/libloot/portfile.cmake b/libs/vcpkg-registry/ports/libloot/portfile.cmake
new file mode 100644
index 0000000..9e7fc4d
--- /dev/null
+++ b/libs/vcpkg-registry/ports/libloot/portfile.cmake
@@ -0,0 +1,30 @@
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/loot/libloot/releases/download/${VERSION}/libloot-${VERSION}-win64.7z"
+ FILENAME "libloot-${VERSION}-win64.7z"
+ SHA512 29D3EBC405B875022F9957F71D2FCB7234AD3386CBFEF3D98629312F695C042BB1E43E8F57A9132B7070D8493DC406AF766D7FC2FAE59C14C4E98F1DBC87BFBB
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+)
+
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/loot/libloot/master/LICENSE"
+ FILENAME "copyright"
+ SHA512 7633623B66B5E686BB94DD96A7CDB5A7E5EE00E87004FAB416A5610D59C62BADAF512A2E26E34E2455B7ED6B76690D2CD47464836D7D85D78B51D50F7E933D5C
+)
+
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${SOURCE_PATH}/bin DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${SOURCE_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+
+file(INSTALL ${SOURCE_PATH}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+file(INSTALL ${SOURCE_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${LICENSE}")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/libs/vcpkg-registry/ports/libloot/vcpkg.json b/libs/vcpkg-registry/ports/libloot/vcpkg.json
new file mode 100644
index 0000000..57c1225
--- /dev/null
+++ b/libs/vcpkg-registry/ports/libloot/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "libloot",
+ "version": "0.26.3",
+ "description": "A C++ library for accessing LOOT's metadata and sorting functionality.",
+ "homepage": "https://github.com/loot/libloot/",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-archive/portfile.cmake b/libs/vcpkg-registry/ports/mo2-archive/portfile.cmake
new file mode 100644
index 0000000..92deca4
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-archive/portfile.cmake
@@ -0,0 +1,20 @@
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ModOrganizer2/modorganizer-archive
+ REF "${VERSION}"
+ SHA512 A6AE266AB6EF2AB3C3E20899EAC5D89474D5A4F9BC3D7A185563D4831DD94AB4F96B2991B06A2151549924709CBCD7BE29E610BF5051FB81BCCEAD2AB2A12BC0
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mo2-archive" CONFIG_PATH "lib/cmake/mo2-archive")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/libs/vcpkg-registry/ports/mo2-archive/vcpkg.json b/libs/vcpkg-registry/ports/mo2-archive/vcpkg.json
new file mode 100644
index 0000000..6d63ba1
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-archive/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "name": "mo2-archive",
+ "version": "2.0.0",
+ "description": "MO2 archive extraction component.",
+ "homepage": "https://github.com/ModOrganizer2/modorganizer-archive",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ "7zip",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake b/libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake
new file mode 100644
index 0000000..5613397
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake
@@ -0,0 +1,15 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ModOrganizer2/modorganizer-bsatk
+ REF "${VERSION}"
+ SHA512 4062EC65C20ECE77EBBC90E206D7BC7D079BDC411C54E4D6E8F5AA3047F9C13CC08771A103527FB8DEE3814116904A23FF59822FB8C268E3EFC4ABCA2BF2B2A9
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mo2-bsatk" CONFIG_PATH "lib/cmake/mo2-bsatk")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
diff --git a/libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json b/libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json
new file mode 100644
index 0000000..e272e15
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "mo2-bsatk",
+ "version": "1.4.1",
+ "description": "MO2 library to handle BSA files.",
+ "homepage": "https://github.com/ModOrganizer2/modorganizer-bsatk",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ "boost-interprocess",
+ "boost-thread",
+ "lz4",
+ "mo2-dds-header",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake b/libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake
new file mode 100644
index 0000000..065dc2b
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake
@@ -0,0 +1,19 @@
+set(VCPKG_POLICY_SKIP_COPYRIGHT_CHECK enabled)
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ModOrganizer2/cmake_common
+ REF "v${VERSION}"
+ SHA512 61DA83F5CC8FC35108A3E130E10C18A6253D333F239E9F9D863A104738A9A761DD9D31D5B6947A8AEAA2CEE1940E66A9126968E1B9244B86BB3AE33FF1C428CE
+ HEAD_REF master
+)
+
+file(INSTALL
+ "${SOURCE_PATH}/mo2_cpp.cmake"
+ "${SOURCE_PATH}/mo2_python.cmake"
+ "${SOURCE_PATH}/mo2_utils.cmake"
+ "${SOURCE_PATH}/mo2_versions.cmake"
+ "${SOURCE_PATH}/mo2.cmake"
+ "${SOURCE_PATH}/mo2-cmake-config.cmake"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json b/libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json
new file mode 100644
index 0000000..60ef468
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json
@@ -0,0 +1,8 @@
+{
+ "name": "mo2-cmake",
+ "version": "2.5.3-beta.2",
+ "description": "CMake utilities for building MO2 and its plugins.",
+ "homepage": "https://github.com/ModOrganizer2/cmake_common/",
+ "license": "GPL-3.0",
+ "supports": "!uwp"
+}
diff --git a/libs/vcpkg-registry/ports/mo2-dds-header/mo2-dds-header-config.cmake b/libs/vcpkg-registry/ports/mo2-dds-header/mo2-dds-header-config.cmake
new file mode 100644
index 0000000..0a0e393
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-dds-header/mo2-dds-header-config.cmake
@@ -0,0 +1,10 @@
+if (TARGET mo2::dds-header)
+ return()
+endif()
+
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+
+add_library(mo2::dds-header INTERFACE IMPORTED)
+target_include_directories(mo2::dds-header INTERFACE ${_IMPORT_PREFIX}/include/DDS)
diff --git a/libs/vcpkg-registry/ports/mo2-dds-header/portfile.cmake b/libs/vcpkg-registry/ports/mo2-dds-header/portfile.cmake
new file mode 100644
index 0000000..127d498
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-dds-header/portfile.cmake
@@ -0,0 +1,8 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://raw.githubusercontent.com/microsoft/DirectXTex/${VERSION}/DirectXTex/DDS.h"
+ FILENAME "DDS.h"
+ SHA512 49ED2C454A39D59EBAE06F2E96E814246754C83ECE074E052A8872F7E16FA7C9E00FEC3B1F1757E09AE9FC1D7C7AFCF7C845D377A3E8EC876E7F7D5CEDB1487A
+)
+
+file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/include/DDS)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/mo2-dds-header-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mo2-dds-header)
diff --git a/libs/vcpkg-registry/ports/mo2-dds-header/vcpkg.json b/libs/vcpkg-registry/ports/mo2-dds-header/vcpkg.json
new file mode 100644
index 0000000..e326778
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-dds-header/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "mo2-dds-header",
+ "version-string": "jun2024",
+ "description": "DDS.h header from DirectXTex",
+ "homepage": "https://github.com/microsoft/DirectXTex",
+ "license": "MIT",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake b/libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake
new file mode 100644
index 0000000..0cfe3c9
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake
@@ -0,0 +1,15 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ModOrganizer2/modorganizer-esptk
+ REF "${VERSION}"
+ SHA512 FCC0AFCB07E32DC1C6B310D6B277FB4B472702BA9BCCBBB604DBBC68566D3CE8BEF9EB4B17D52534DC1D75925879555FBBDB0080B797885A22F0070461C28A11
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mo2-esptk" CONFIG_PATH "lib/cmake/mo2-esptk")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
diff --git a/libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json b/libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json
new file mode 100644
index 0000000..75bf61e
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "mo2-esptk",
+ "version": "1.4.0",
+ "description": "MO2 library to handle ESP files.",
+ "homepage": "https://github.com/ModOrganizer2/modorganizer-esptk",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-libbsarch/portfile.cmake b/libs/vcpkg-registry/ports/mo2-libbsarch/portfile.cmake
new file mode 100644
index 0000000..ed9497c
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-libbsarch/portfile.cmake
@@ -0,0 +1,42 @@
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/ModOrganizer2/libbsarch/releases/download/${VERSION}/libbsarch_${VERSION}.7z"
+ FILENAME "libbsarch-${VERSION}.7z"
+ SHA512 88ACA64F8467234CA7B51031372387F0A0927F962CF44D41D0842BB632A92BECEAD0BFDE4A61C10FB45531F0FD85CB5C59C67749635E0E7905A2BDF75B601B37
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/ModOrganizer2/libbsarch/master/LICENSE"
+ FILENAME "copyright"
+ SHA512 0ABC51233EE794D26C1E9F5A15E7FB3DED1E832F1A090C859F9F2FF8D15B56DA023B1CCC98099C96B214C18A3CD6971D620267A19202E56551B9C57BF086A87A
+)
+
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${SOURCE_PATH}/bin DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${SOURCE_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+
+file(INSTALL ${SOURCE_PATH}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+file(INSTALL ${SOURCE_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${LICENSE}")
+
+# remove release from debug and debug from release (mainly to silence VCPKG warnings)
+file(REMOVE
+ "${CURRENT_PACKAGES_DIR}/bin/libbsarchd.dll"
+ "${CURRENT_PACKAGES_DIR}/lib/libbsarchd.lib"
+ "${CURRENT_PACKAGES_DIR}/lib/libbsarch_OOPd.lib"
+
+ "${CURRENT_PACKAGES_DIR}/debug/bin/libbsarch.dll"
+ "${CURRENT_PACKAGES_DIR}/debug/lib/libbsarch.lib"
+ "${CURRENT_PACKAGES_DIR}/debug/lib/libbsarch_OOP.lib"
+)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json b/libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json
new file mode 100644
index 0000000..549d300
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "name": "mo2-libbsarch",
+ "version": "0.1.2",
+ "description": "BSArchive Dynamic Link Library and C++ bindings.",
+ "homepage": "https://github.com/ModOrganizer2/libbsarch/",
+ "license": "MIT",
+ "supports": "!uwp",
+ "dependencies": [
+ "mo2-dds-header",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-lootcli-header/portfile.cmake b/libs/vcpkg-registry/ports/mo2-lootcli-header/portfile.cmake
new file mode 100644
index 0000000..ddc2819
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-lootcli-header/portfile.cmake
@@ -0,0 +1,14 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ModOrganizer2/modorganizer-lootcli
+ REF ${VERSION}
+ SHA512 07A29569D2577A8ED0D7C66D0907EAAF73F3C3E3A2BF5882CB435B69FC797186E233AF89B5A876AAE8838AA40A9C75BFFE8DBCBDF12485C7ED6206C3B6C6A73B
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mo2-lootcli-header" CONFIG_PATH "lib/cmake/mo2-lootcli-header")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
diff --git a/libs/vcpkg-registry/ports/mo2-lootcli-header/vcpkg.json b/libs/vcpkg-registry/ports/mo2-lootcli-header/vcpkg.json
new file mode 100644
index 0000000..96cdc61
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-lootcli-header/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "mo2-lootcli-header",
+ "version": "1.7.0",
+ "description": "MO2 header file to manage lootcli output.",
+ "homepage": "https://github.com/ModOrganizer2/modorganizer-lootcli",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/mo2-uibase/portfile.cmake b/libs/vcpkg-registry/ports/mo2-uibase/portfile.cmake
new file mode 100644
index 0000000..0cb1632
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-uibase/portfile.cmake
@@ -0,0 +1,47 @@
+# uibase is prebuilt and is always dynamic, but MO2 uses a static triplets (for Boost,
+# lz4, etc.) so we disable that warning
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+
+# TODO: add a copyright file to uibase and install it
+set(VCPKG_POLICY_SKIP_COPYRIGHT_CHECK enabled)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/ModOrganizer2/modorganizer-uibase/releases/download/v${VERSION}/uibase_v${VERSION}.7z"
+ FILENAME "uibase_${VERSION}.7z"
+ SHA512 035C4E4A13594C3F25572E413E83125EA72853D37303C9F937C4D28636F50660E2BB2FCD55BFAAD5A927C4AC2B480D4D04318FB34238808EB1CD7DAEBAE74624
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+
+file(INSTALL
+ ${SOURCE_PATH}/bin/uibase.dll
+ ${SOURCE_PATH}/pdb/uibase.pdb
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/bin
+)
+file(INSTALL
+ ${SOURCE_PATH}/lib/uibase.lib
+ ${SOURCE_PATH}/lib/cmake
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/bin/uibased.dll
+ ${SOURCE_PATH}/pdb/uibased.pdb
+DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+file(INSTALL
+ ${SOURCE_PATH}/lib/uibased.lib
+ ${SOURCE_PATH}/lib/cmake
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "mo2-uibase" CONFIG_PATH "lib/cmake/mo2-uibase")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json b/libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json
new file mode 100644
index 0000000..3140f8c
--- /dev/null
+++ b/libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "mo2-uibase",
+ "version": "2.5.3-beta.2.1",
+ "description": "C++ API for ModOrganizer2.",
+ "homepage": "https://github.com/ModOrganizer2/modorganizer-uibase",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/pybind11/portfile.cmake b/libs/vcpkg-registry/ports/pybind11/portfile.cmake
new file mode 100644
index 0000000..1913e61
--- /dev/null
+++ b/libs/vcpkg-registry/ports/pybind11/portfile.cmake
@@ -0,0 +1,23 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO pybind/pybind11
+ REF "v${VERSION}"
+ SHA512 497C25B33B09A9C42F67131AB82E35D689E8CE089DD7639BE997305FF9A6D502447B79C824508C455D559E61F0186335B54DD2771D903A7C1621833930622D1A
+ HEAD_REF master
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DPYBIND11_TEST=OFF
+ # Disable all Python searching, Python required only for tests
+ -DPYBIND11_NOPYTHON=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/pybind11")
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/libs/vcpkg-registry/ports/pybind11/vcpkg.json b/libs/vcpkg-registry/ports/pybind11/vcpkg.json
new file mode 100644
index 0000000..4cf6c77
--- /dev/null
+++ b/libs/vcpkg-registry/ports/pybind11/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "pybind11",
+ "version": "2.13.6",
+ "description": "pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code",
+ "homepage": "https://github.com/pybind/pybind11",
+ "license": "BSD-3-Clause",
+ "supports": "!(arm & windows)",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/spdlog/portfile.cmake b/libs/vcpkg-registry/ports/spdlog/portfile.cmake
new file mode 100644
index 0000000..aacde2a
--- /dev/null
+++ b/libs/vcpkg-registry/ports/spdlog/portfile.cmake
@@ -0,0 +1,44 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO gabime/spdlog
+ REF "v${VERSION}"
+ SHA512 21C35F4091850EA3A0CD6A24867E06E943DF70D76CD5A7EC0B15A33E0E9E0CC3584ED7930E1AC6F347E7E06F0E002D0E759884EAF05310014E24EA0E0419FCC4
+ HEAD_REF v1.x
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPDLOG_BUILD_SHARED)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DSPDLOG_FMT_EXTERNAL=OFF
+ -DSPDLOG_USE_STD_FORMAT=ON
+ -DSPDLOG_INSTALL=ON
+ -DSPDLOG_BUILD_SHARED=${SPDLOG_BUILD_SHARED}
+ -DSPDLOG_WCHAR_FILENAMES=OFF
+ -DSPDLOG_BUILD_EXAMPLE=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/spdlog)
+vcpkg_fixup_pkgconfig()
+vcpkg_copy_pdbs()
+
+# add support for integration other than cmake
+vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/tweakme.h
+ "// #define SPDLOG_USE_STD_FORMAT"
+ "#ifndef SPDLOG_USE_STD_FORMAT\n#define SPDLOG_USE_STD_FORMAT\n#endif"
+)
+vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/tweakme.h
+ "// #define SPDLOG_WCHAR_TO_UTF8_SUPPORT"
+ "#ifndef SPDLOG_WCHAR_TO_UTF8_SUPPORT\n#define SPDLOG_WCHAR_TO_UTF8_SUPPORT\n#endif"
+)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/bundled"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/libs/vcpkg-registry/ports/spdlog/vcpkg.json b/libs/vcpkg-registry/ports/spdlog/vcpkg.json
new file mode 100644
index 0000000..e7b0582
--- /dev/null
+++ b/libs/vcpkg-registry/ports/spdlog/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "spdlog",
+ "version-semver": "1.15.3",
+ "description": "Very fast, header-only/compiled, C++ logging library.",
+ "homepage": "https://github.com/gabime/spdlog",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/ports/usvfs/portfile.cmake b/libs/vcpkg-registry/ports/usvfs/portfile.cmake
new file mode 100644
index 0000000..aeb6cee
--- /dev/null
+++ b/libs/vcpkg-registry/ports/usvfs/portfile.cmake
@@ -0,0 +1,95 @@
+# USVFS is prebuilt and is always dynamic, but MO2 uses a static triplets (for Boost,
+# lz4, etc.) so we disable that warning
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/ModOrganizer2/usvfs/releases/download/v${VERSION}/usvfs_v${VERSION}.7z"
+ FILENAME "usvfs_${VERSION}.7z"
+ SHA512 7D42058D11D0B1D1DF9184F32EC98AD106917087841E2A3EF9C7F88F856A9777A98C4E364697276D5A64D487C3CCA7C213C810BCC0F7938E8810FDF6227E753E
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/ModOrganizer2/usvfs/master/LICENSE"
+ FILENAME "copyright"
+ SHA512 F4B394B7F7A92C3400296AF5C1B68DE7A49DCC073D069A0DE8523156D3A04CDA491E34265684EB2015E8A1C2A64BF64DA3868293506C321347221876D8885CE4
+)
+
+# we need to move all files in appropriate locations:
+#
+# bin/ should contain .dll and .pdb
+# lib/ should contain .lib and the cmake/ folder
+# tools/usvfs should contain .exe
+#
+# we also need to create debug/ with the same layout containing debug stuff
+#
+# the USVFS layout archive does not match exactly so we need to do some manually
+# moving there and there
+#
+
+# install dll and their pdb for release
+file(INSTALL
+ ${SOURCE_PATH}/bin/usvfs_x64.dll
+ ${SOURCE_PATH}/bin/usvfs_x86.dll
+ ${SOURCE_PATH}/pdb/usvfs_x86.pdb
+ ${SOURCE_PATH}/pdb/usvfs_x86.pdb
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/bin
+)
+
+# install dll and their pdb for debug
+file(INSTALL
+ ${SOURCE_PATH}/debug/bin/usvfs_x64.dll
+ ${SOURCE_PATH}/debug/bin/usvfs_x86.dll
+ ${SOURCE_PATH}/debug/pdb/usvfs_x86.pdb
+ ${SOURCE_PATH}/debug/pdb/usvfs_x86.pdb
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+)
+
+# install executable and their pdb for release
+file(INSTALL
+ ${SOURCE_PATH}/bin/usvfs_proxy_x64.exe
+ ${SOURCE_PATH}/bin/usvfs_proxy_x86.exe
+ ${SOURCE_PATH}/pdb/usvfs_proxy_x64.pdb
+ ${SOURCE_PATH}/pdb/usvfs_proxy_x86.pdb
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/tools/usvfs
+)
+
+# install executable and their pdb for debug
+file(INSTALL
+ ${SOURCE_PATH}/debug/bin/usvfs_proxy_x64.exe
+ ${SOURCE_PATH}/debug/bin/usvfs_proxy_x86.exe
+ ${SOURCE_PATH}/debug/pdb/usvfs_proxy_x64.pdb
+ ${SOURCE_PATH}/debug/pdb/usvfs_proxy_x86.pdb
+DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/tools/usvfs
+)
+
+# install headers, lib and cmake stuff for release
+file(INSTALL ${SOURCE_PATH}/include ${SOURCE_PATH}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+
+# install lib and cmake stuff for debug
+file(INSTALL ${SOURCE_PATH}/debug/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME "usvfs" CONFIG_PATH "lib/cmake/usvfs")
+
+# vcpkg_cmake_config_fixup does not seem to differentiate exe from debug and release
+# so we need to manually fix this
+vcpkg_replace_string(
+ "${CURRENT_PACKAGES_DIR}/share/usvfs/usvfs_x64Targets-debug.cmake"
+ "\${_IMPORT_PREFIX}/tools"
+ "\${_IMPORT_PREFIX}/debug/tools")
+vcpkg_replace_string(
+ "${CURRENT_PACKAGES_DIR}/share/usvfs/usvfs_x86Targets-debug.cmake"
+ "\${_IMPORT_PREFIX}/tools"
+ "\${_IMPORT_PREFIX}/debug/tools")
+
+vcpkg_install_copyright(FILE_LIST "${LICENSE}")
diff --git a/libs/vcpkg-registry/ports/usvfs/vcpkg.json b/libs/vcpkg-registry/ports/usvfs/vcpkg.json
new file mode 100644
index 0000000..275b16f
--- /dev/null
+++ b/libs/vcpkg-registry/ports/usvfs/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "usvfs",
+ "version": "0.5.7.1",
+ "description": "Library using api hooking to implement process-local filesystem-independent file links.",
+ "homepage": "https://github.com/ModOrganizer2/usvfs",
+ "license": "GPL-3.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/7-/7zip.json b/libs/vcpkg-registry/versions/7-/7zip.json
new file mode 100644
index 0000000..79433a7
--- /dev/null
+++ b/libs/vcpkg-registry/versions/7-/7zip.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "4c08891d2a8b1229affa6420a6960aa1d47480af",
+ "version-string": "24.09",
+ "port-version": 0
+ },
+ {
+ "git-tree": "196c04a4a7b475d1b023973d44de8a3d621d681f",
+ "version-string": "24.06",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/a-/asmjit.json b/libs/vcpkg-registry/versions/a-/asmjit.json
new file mode 100644
index 0000000..6329511
--- /dev/null
+++ b/libs/vcpkg-registry/versions/a-/asmjit.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "c4e4ec4e194dd5163e2925414a4cce50b5d8c798",
+ "version-string": "fb9f82c",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/baseline.json b/libs/vcpkg-registry/versions/baseline.json
new file mode 100644
index 0000000..94db3c1
--- /dev/null
+++ b/libs/vcpkg-registry/versions/baseline.json
@@ -0,0 +1,60 @@
+{
+ "default": {
+ "7zip": {
+ "baseline": "24.09",
+ "port-version": 0
+ },
+ "asmjit": {
+ "baseline": "fb9f82c",
+ "port-version": 0
+ },
+ "libloot": {
+ "baseline": "0.26.3",
+ "port-version": 0
+ },
+ "mo2-archive": {
+ "baseline": "2.0.0",
+ "port-version": 0
+ },
+ "mo2-bsatk": {
+ "baseline": "1.4.1",
+ "port-version": 0
+ },
+ "mo2-cmake": {
+ "baseline": "2.5.3-beta.2",
+ "port-version": 0
+ },
+ "mo2-dds-header": {
+ "baseline": "jun2024",
+ "port-version": 0
+ },
+ "mo2-esptk": {
+ "baseline": "1.4.0",
+ "port-version": 0
+ },
+ "mo2-libbsarch": {
+ "baseline": "0.1.2",
+ "port-version": 0
+ },
+ "mo2-lootcli-header": {
+ "baseline": "1.7.0",
+ "port-version": 0
+ },
+ "mo2-uibase": {
+ "baseline": "2.5.3-beta.2.1",
+ "port-version": 0
+ },
+ "pybind11": {
+ "baseline": "2.13.6",
+ "port-version": 0
+ },
+ "spdlog": {
+ "baseline": "1.15.3",
+ "port-version": 0
+ },
+ "usvfs": {
+ "baseline": "0.5.7.1",
+ "port-version": 0
+ }
+ }
+}
diff --git a/libs/vcpkg-registry/versions/l-/libloot.json b/libs/vcpkg-registry/versions/l-/libloot.json
new file mode 100644
index 0000000..942d684
--- /dev/null
+++ b/libs/vcpkg-registry/versions/l-/libloot.json
@@ -0,0 +1,19 @@
+{
+ "versions": [
+ {
+ "git-tree": "9fddae611d4ea784d322f577c0ea704225d6169b",
+ "version": "0.26.3",
+ "port-version": 0
+ },
+ {
+ "git-tree": "9508afb7b6597bdd71442da9745c4601be77e625",
+ "version": "0.26.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "909710a4819e9c763f060d590efbcfaa0c7315b9",
+ "version": "0.23.0",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-archive.json b/libs/vcpkg-registry/versions/m-/mo2-archive.json
new file mode 100644
index 0000000..31ae059
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-archive.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "81e93bc3e6a0b49622e7aa6c54da447e933d2d78",
+ "version": "2.0.0",
+ "port-version": 0
+ },
+ {
+ "git-tree": "8acd36faeb0f397c424eadb34cb7ea6a0b7b9ffe",
+ "version": "1.1.0",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-bsatk.json b/libs/vcpkg-registry/versions/m-/mo2-bsatk.json
new file mode 100644
index 0000000..f5a2bfb
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-bsatk.json
@@ -0,0 +1,19 @@
+{
+ "versions": [
+ {
+ "git-tree": "9e4083098dee17cb7ae032112f8d05a02325d1ed",
+ "version": "1.4.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "b27378460e47248bd58c992170286c695f1486c7",
+ "version": "1.4.0",
+ "port-version": 0
+ },
+ {
+ "git-tree": "58bd7c522ebd4ad01cf56628319ab37443c01ec8",
+ "version": "1.3.12",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-cmake.json b/libs/vcpkg-registry/versions/m-/mo2-cmake.json
new file mode 100644
index 0000000..536768a
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-cmake.json
@@ -0,0 +1,49 @@
+{
+ "versions": [
+ {
+ "git-tree": "0d0c7372d4854f00dd3da3316ca55d3380bfcad2",
+ "version": "2.5.3-beta.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "69446c5337d019675f8c20bf2ae94336582b56de",
+ "version": "0.1.7",
+ "port-version": 0
+ },
+ {
+ "git-tree": "879e24f8621efa7fbe6307c7a3c0cfe30980a603",
+ "version": "0.1.6",
+ "port-version": 0
+ },
+ {
+ "git-tree": "4d797c30e22cbabcacbfa8fa27ae4f1cce24acbe",
+ "version": "0.1.5",
+ "port-version": 0
+ },
+ {
+ "git-tree": "75a653fb6ec327ca506c6b7bf197a905d8eea3a6",
+ "version": "0.1.4",
+ "port-version": 0
+ },
+ {
+ "git-tree": "1384f540a705c48192f85ba4ddb62c9e67e5c4df",
+ "version": "0.1.3",
+ "port-version": 0
+ },
+ {
+ "git-tree": "1cb76a053f6f58e867f64fbd661745ad8f343f4a",
+ "version": "0.1.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "c40a7b5bc02639d2d7627badd372d401249d4824",
+ "version": "0.1.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "998b97a1073915d7a9079a90e0a26e62abca6ac9",
+ "version": "0.1.0",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-dds-header.json b/libs/vcpkg-registry/versions/m-/mo2-dds-header.json
new file mode 100644
index 0000000..1b46e6a
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-dds-header.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "9941d5ad87cd823740bb58e787f7aa31428dc129",
+ "version-string": "jun2024",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-esptk.json b/libs/vcpkg-registry/versions/m-/mo2-esptk.json
new file mode 100644
index 0000000..6ef97ea
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-esptk.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "5a705d02d6d19b8a53b802a950523901c49c8285",
+ "version": "1.4.0",
+ "port-version": 0
+ },
+ {
+ "git-tree": "4b0de6416fd3f7388e0adefd833024f84c3e3283",
+ "version": "1.3.12",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-libbsarch.json b/libs/vcpkg-registry/versions/m-/mo2-libbsarch.json
new file mode 100644
index 0000000..76ca60f
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-libbsarch.json
@@ -0,0 +1,24 @@
+{
+ "versions": [
+ {
+ "git-tree": "d01ade0ec65df1e0723f54721ad38a40a7641661",
+ "version": "0.1.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "7c24cbddebe6175da79211631b86909f840edca6",
+ "version": "0.1.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "61810622b7c2eb3f9b51ddf1508865ccec96a4c8",
+ "version": "0.1.0",
+ "port-version": 0
+ },
+ {
+ "git-tree": "85fc6817e017bdbe1d7f94af71a6d2fcfae02159",
+ "version": "0.0.11",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-lootcli-header.json b/libs/vcpkg-registry/versions/m-/mo2-lootcli-header.json
new file mode 100644
index 0000000..1dd43a3
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-lootcli-header.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "a13bd6b99e5ae43a38cc681404410b7cdaf21202",
+ "version": "1.7.0",
+ "port-version": 0
+ },
+ {
+ "git-tree": "539ce82e70770cbd9ccfba45a3788892e60786f1",
+ "version": "1.3.12",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/m-/mo2-uibase.json b/libs/vcpkg-registry/versions/m-/mo2-uibase.json
new file mode 100644
index 0000000..e050306
--- /dev/null
+++ b/libs/vcpkg-registry/versions/m-/mo2-uibase.json
@@ -0,0 +1,39 @@
+{
+ "versions": [
+ {
+ "git-tree": "1d2a07537cb2d099ad26db049eb41f56b0788312",
+ "version": "2.5.3-beta.2.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "b7340b201dcf87560c51691cbdb8aa2d82ee840e",
+ "version": "2.5.3-beta.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "2e4c2900acf97e9460ee2a532978735e7be644b1",
+ "version": "2.6.0-dev.5",
+ "port-version": 0
+ },
+ {
+ "git-tree": "aaaf98e31e7bf01f9e8b872dac58d867d0ea2082",
+ "version": "2.6.0-dev.3",
+ "port-version": 0
+ },
+ {
+ "git-tree": "6dca486c18f1f7c3017597f5abae2c6fd49d8497",
+ "version": "2.6.0-dev.2",
+ "port-version": 0
+ },
+ {
+ "git-tree": "c0af0a130480c53886258b0f2601db15f3493138",
+ "version": "2.6.0-dev.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "bd6a8024600fdfff3c73df7c5f4b9c6b8ba4769e",
+ "version": "2.6.0-dev.0",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/p-/pybind11.json b/libs/vcpkg-registry/versions/p-/pybind11.json
new file mode 100644
index 0000000..10912d5
--- /dev/null
+++ b/libs/vcpkg-registry/versions/p-/pybind11.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "02eae308d964ad0dd7f648f8db0a9bb4a73a71e5",
+ "version": "2.13.6",
+ "port-version": 0
+ },
+ {
+ "git-tree": "f13130b385e2f3ed8cf3d69920540c6b3e66a6a4",
+ "version": "2.13.1",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/s-/spdlog.json b/libs/vcpkg-registry/versions/s-/spdlog.json
new file mode 100644
index 0000000..de4d7c5
--- /dev/null
+++ b/libs/vcpkg-registry/versions/s-/spdlog.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "9ad1198a8d2fa7c307d01be2c84a0a4394a1f796",
+ "version-semver": "1.15.3",
+ "port-version": 0
+ },
+ {
+ "git-tree": "5bbe7948151ae730b5bf5e8773282a1a6a626f14",
+ "version-semver": "1.14.1",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/libs/vcpkg-registry/versions/u-/usvfs.json b/libs/vcpkg-registry/versions/u-/usvfs.json
new file mode 100644
index 0000000..49a6b73
--- /dev/null
+++ b/libs/vcpkg-registry/versions/u-/usvfs.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "d41d167d8413a0672bcfa9df70b49c777a1f6745",
+ "version": "0.5.7.1",
+ "port-version": 0
+ },
+ {
+ "git-tree": "d7d62eb5ce46eb12b0bcf4a970d11cb90e7d394a",
+ "version": "0.5.6.2",
+ "port-version": 0
+ }
+ ]
+}