From 7ee008e150bc5bcf76082d726f719ee0fdfda982 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Wed, 11 Feb 2026 02:37:39 -0600 Subject: 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 --- libs/vcpkg-registry/.gitattributes | 7 + libs/vcpkg-registry/.pre-commit-config.yaml | 15 + libs/vcpkg-registry/README.md | 57 ++ .../vcpkg-registry/ports/7zip/7zip-config.cmake.in | 5 + libs/vcpkg-registry/ports/7zip/portfile.cmake | 33 + libs/vcpkg-registry/ports/7zip/vcpkg.json | 18 + libs/vcpkg-registry/ports/asmjit/asmjit.patch | 906 +++++++++++++++++++++ libs/vcpkg-registry/ports/asmjit/portfile.cmake | 31 + libs/vcpkg-registry/ports/asmjit/vcpkg.json | 17 + libs/vcpkg-registry/ports/libloot/portfile.cmake | 30 + libs/vcpkg-registry/ports/libloot/vcpkg.json | 14 + .../ports/mo2-archive/portfile.cmake | 20 + libs/vcpkg-registry/ports/mo2-archive/vcpkg.json | 19 + libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake | 15 + libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json | 23 + libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake | 19 + libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json | 8 + .../mo2-dds-header/mo2-dds-header-config.cmake | 10 + .../ports/mo2-dds-header/portfile.cmake | 8 + .../vcpkg-registry/ports/mo2-dds-header/vcpkg.json | 14 + libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake | 15 + libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json | 18 + .../ports/mo2-libbsarch/portfile.cmake | 42 + libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json | 19 + .../ports/mo2-lootcli-header/portfile.cmake | 14 + .../ports/mo2-lootcli-header/vcpkg.json | 18 + .../vcpkg-registry/ports/mo2-uibase/portfile.cmake | 47 ++ libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json | 14 + libs/vcpkg-registry/ports/pybind11/portfile.cmake | 23 + libs/vcpkg-registry/ports/pybind11/vcpkg.json | 18 + libs/vcpkg-registry/ports/spdlog/portfile.cmake | 44 + libs/vcpkg-registry/ports/spdlog/vcpkg.json | 17 + libs/vcpkg-registry/ports/usvfs/portfile.cmake | 95 +++ libs/vcpkg-registry/ports/usvfs/vcpkg.json | 14 + libs/vcpkg-registry/versions/7-/7zip.json | 14 + libs/vcpkg-registry/versions/a-/asmjit.json | 9 + libs/vcpkg-registry/versions/baseline.json | 60 ++ libs/vcpkg-registry/versions/l-/libloot.json | 19 + libs/vcpkg-registry/versions/m-/mo2-archive.json | 14 + libs/vcpkg-registry/versions/m-/mo2-bsatk.json | 19 + libs/vcpkg-registry/versions/m-/mo2-cmake.json | 49 ++ .../vcpkg-registry/versions/m-/mo2-dds-header.json | 9 + libs/vcpkg-registry/versions/m-/mo2-esptk.json | 14 + libs/vcpkg-registry/versions/m-/mo2-libbsarch.json | 24 + .../versions/m-/mo2-lootcli-header.json | 14 + libs/vcpkg-registry/versions/m-/mo2-uibase.json | 39 + libs/vcpkg-registry/versions/p-/pybind11.json | 14 + libs/vcpkg-registry/versions/s-/spdlog.json | 14 + libs/vcpkg-registry/versions/u-/usvfs.json | 14 + 49 files changed, 1993 insertions(+) create mode 100644 libs/vcpkg-registry/.gitattributes create mode 100644 libs/vcpkg-registry/.pre-commit-config.yaml create mode 100644 libs/vcpkg-registry/README.md create mode 100644 libs/vcpkg-registry/ports/7zip/7zip-config.cmake.in create mode 100644 libs/vcpkg-registry/ports/7zip/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/7zip/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/asmjit/asmjit.patch create mode 100644 libs/vcpkg-registry/ports/asmjit/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/asmjit/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/libloot/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/libloot/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-archive/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-archive/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-bsatk/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-bsatk/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-cmake/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-cmake/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-dds-header/mo2-dds-header-config.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-dds-header/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-dds-header/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-esptk/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-esptk/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-libbsarch/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-libbsarch/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-lootcli-header/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-lootcli-header/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/mo2-uibase/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/mo2-uibase/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/pybind11/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/pybind11/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/spdlog/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/spdlog/vcpkg.json create mode 100644 libs/vcpkg-registry/ports/usvfs/portfile.cmake create mode 100644 libs/vcpkg-registry/ports/usvfs/vcpkg.json create mode 100644 libs/vcpkg-registry/versions/7-/7zip.json create mode 100644 libs/vcpkg-registry/versions/a-/asmjit.json create mode 100644 libs/vcpkg-registry/versions/baseline.json create mode 100644 libs/vcpkg-registry/versions/l-/libloot.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-archive.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-bsatk.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-cmake.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-dds-header.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-esptk.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-libbsarch.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-lootcli-header.json create mode 100644 libs/vcpkg-registry/versions/m-/mo2-uibase.json create mode 100644 libs/vcpkg-registry/versions/p-/pybind11.json create mode 100644 libs/vcpkg-registry/versions/s-/spdlog.json create mode 100644 libs/vcpkg-registry/versions/u-/usvfs.json (limited to 'libs/vcpkg-registry') 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} $<$:${X_CFLAGS_DBG}> $<$>:${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} +- $<$:${_cflags_dbg}> +- $<$>:${_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 ++ 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 ++ 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 ++ $ ++ $) ++ ++ # 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} +- $<$:${ASMJIT_PRIVATE_CFLAGS_DBG}> +- $<$>:${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 + } + ] +} -- cgit v1.3.1