Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .devcontainer
Submodule .devcontainer added at a5a7aa
4 changes: 4 additions & 0 deletions .github/release-tag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"message": "xpro version 1.17.0.1 tag",
"tag": "xpv1.17.0.1"
}
2 changes: 1 addition & 1 deletion .github/workflows/coverity_scan.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: coverity-linux

on: [push, pull_request]
on: [workflow_dispatch]

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: linux

on: [push, pull_request]
on: [workflow_dispatch]

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: macos

on: [push, pull_request]
on: [workflow_dispatch]

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: windows

on: [push, pull_request]
on: [workflow_dispatch]

permissions:
contents: read
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/xpbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: xpBuild
permissions:
contents: read
pull-requests: write
on:
push:
tags: ["xpv*"]
pull_request:
branches: ["xpro"]
workflow_dispatch:
jobs:
linux:
permissions:
contents: read
pull-requests: write
packages: write
uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.17
secrets:
automation_token: ${{ secrets.GHCR_TOKEN }}
with: {}
macos:
uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.17
secrets: inherit
with: {}
windows:
uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.17
secrets: inherit
with: {}
12 changes: 12 additions & 0 deletions .github/workflows/xpinit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: xpInit externpro
permissions:
contents: write
pull-requests: write
packages: write
on:
workflow_dispatch:
jobs:
init:
uses: externpro/externpro/.github/workflows/init-externpro.yml@main
secrets:
automation_token: ${{ secrets.XPRO_TOKEN }}
44 changes: 44 additions & 0 deletions .github/workflows/xprelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: xpRelease
on:
workflow_dispatch:
inputs:
workflow_run_url:
description: 'URL of the workflow run containing artifacts to upload (e.g., https://github.com/owner/repo/actions/runs/123456789)'
required: true
type: string
workflow_run:
workflows: ["xpBuild"]
types: [completed]
jobs:
dispatch-at-tag:
if: >-
github.event_name == 'workflow_run' &&
github.event.workflow_run.conclusion == 'success' &&
startsWith(github.event.workflow_run.head_branch, 'xpv')
runs-on: ubuntu-latest
permissions:
actions: write
steps:
-
name: Dispatch xpRelease at tag
shell: bash
env:
GH_TOKEN: ${{ github.token }}
RUN_URL: ${{ github.event.workflow_run.html_url }}
TAG_REF: ${{ github.event.workflow_run.head_branch }}
run: |
set -euo pipefail
gh api -X POST "repos/${{ github.repository }}/actions/workflows/xprelease.yml/dispatches" \
-f ref="$TAG_REF" \
-f inputs[workflow_run_url]="$RUN_URL"
# Upload build artifacts as release assets
release-from-build:
if: github.event_name == 'workflow_dispatch'
uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.17
with:
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
permissions:
contents: write
id-token: write
attestations: write
secrets: inherit
16 changes: 16 additions & 0 deletions .github/workflows/xptag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: xpTag
permissions:
contents: write
issues: write
on:
pull_request:
types: [closed]
jobs:
tag:
if: ${{ github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'xpro' && contains(github.event.pull_request.labels.*.name, 'release:tag') }}
uses: externpro/externpro/.github/workflows/tag-release.yml@25.07.17
with:
merge_sha: ${{ github.event.pull_request.merge_commit_sha }}
pr_number: ${{ github.event.pull_request.number }}
secrets:
automation_token: ${{ secrets.XPRO_TOKEN }}
13 changes: 13 additions & 0 deletions .github/workflows/xpupdate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: xpUpdate externpro
permissions:
contents: write
pull-requests: write
packages: write
on:
workflow_dispatch:
jobs:
update:
uses: externpro/externpro/.github/workflows/update-externpro.yml@main
secrets:
automation_token: ${{ secrets.XPRO_TOKEN }}
with: {}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,8 @@ cmake-build-*/
/.vs
/out/build
/CMakeSettings.json

# externpro
.env
_bld*/
docker-compose.override.yml
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule ".devcontainer"]
path = .devcontainer
url = https://github.com/externpro/externpro
21 changes: 20 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copyright(c) 2019 spdlog authors Distributed under the MIT License (http://opensource.org/licenses/MIT)

cmake_minimum_required(VERSION 3.10...3.21)
cmake_minimum_required(VERSION 3.10...3.31)

# ---------------------------------------------------------------------------------------
# Start spdlog project
Expand All @@ -10,6 +10,7 @@ include(cmake/ide.cmake)

spdlog_extract_version()

set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
project(spdlog VERSION ${SPDLOG_VERSION} LANGUAGES CXX)
message(STATUS "Build spdlog: ${SPDLOG_VERSION}")

Expand Down Expand Up @@ -350,13 +351,25 @@ endif()
# ---------------------------------------------------------------------------------------
if(SPDLOG_INSTALL)
message(STATUS "Generating install")
if(COMMAND xpExternPackage)
set(targetsFile "spdlogConfigTargets")
xpExternPackage(TARGETS_FILE ${targetsFile} LIBRARIES spdlog spdlog_header_only
BASE v${SPDLOG_VERSION} XPDIFF "patch" FIND_THREADS DEPS fmt
WEB "https://github.com/gabime/spdlog/wiki" UPSTREAM "github.com/gabime/spdlog"
DESC "Fast C++ logging library"
LICENSE "[MIT](https://github.com/gabime/spdlog?tab=License-1-ov-file 'MIT License')"
)
set(config_targets_file "${targetsFile}.cmake")
set(export_dest_dir "${CMAKE_INSTALL_CMAKEDIR}")
else()
set(project_config_in "${CMAKE_CURRENT_LIST_DIR}/cmake/spdlogConfig.cmake.in")
set(project_config_out "${CMAKE_CURRENT_BINARY_DIR}/spdlogConfig.cmake")
set(config_targets_file "spdlogConfigTargets.cmake")
set(version_config_file "${CMAKE_CURRENT_BINARY_DIR}/spdlogConfigVersion.cmake")
set(export_dest_dir "${CMAKE_INSTALL_LIBDIR}/cmake/spdlog")
set(pkgconfig_install_dir "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
set(pkg_config "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc")
endif()

# ---------------------------------------------------------------------------------------
# Include files
Expand All @@ -377,6 +390,7 @@ if(SPDLOG_INSTALL)
# ---------------------------------------------------------------------------------------
# Install pkg-config file
# ---------------------------------------------------------------------------------------
if(NOT COMMAND xpExternPackage)
if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
set(PKG_CONFIG_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}")
else()
Expand All @@ -392,6 +406,7 @@ if(SPDLOG_INSTALL)
string(CONCAT PKG_CONFIG_DEFINES "-D" "${PKG_CONFIG_DEFINES}")
configure_file("cmake/${PROJECT_NAME}.pc.in" "${pkg_config}" @ONLY)
install(FILES "${pkg_config}" DESTINATION "${pkgconfig_install_dir}")
endif()

# ---------------------------------------------------------------------------------------
# Install CMake config files
Expand All @@ -400,14 +415,18 @@ if(SPDLOG_INSTALL)
FILE "${CMAKE_CURRENT_BINARY_DIR}/${config_targets_file}")
install(EXPORT spdlog DESTINATION ${export_dest_dir} NAMESPACE spdlog:: FILE ${config_targets_file})

if(NOT COMMAND xpExternPackage)
include(CMakePackageConfigHelpers)
configure_package_config_file("${project_config_in}" "${project_config_out}" INSTALL_DESTINATION ${export_dest_dir})

write_basic_package_version_file("${version_config_file}" COMPATIBILITY SameMajorVersion)
install(FILES "${project_config_out}" "${version_config_file}" DESTINATION "${export_dest_dir}")
endif()

# ---------------------------------------------------------------------------------------
# Support creation of installable packages
# ---------------------------------------------------------------------------------------
if(NOT COMMAND xpExternPackage)
include(cmake/spdlogCPack.cmake)
endif()
endif()
9 changes: 9 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"version": 8,
"include": [
".devcontainer/cmake/presets/xpLinuxNinja.json",
".devcontainer/cmake/presets/xpDarwinNinja.json",
".devcontainer/cmake/presets/xpMswVs2022.json",
".devcontainer/cmake/presets/xpMswVs2026.json"
]
}
19 changes: 19 additions & 0 deletions CMakePresetsBase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"version": 8,
"configurePresets": [
{
"name": "config-base",
"hidden": true,
"binaryDir": "${sourceDir}/_bld-${presetName}",
"cacheVariables": {
"SPDLOG_FMT_EXTERNAL": "ON"
}
}
],
"buildPresets": [
{
"name": "build-base",
"hidden": true
}
]
}
1 change: 1 addition & 0 deletions docker-compose.sh
1 change: 1 addition & 0 deletions docker-compose.yml
22 changes: 22 additions & 0 deletions xprodeps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# spdlog dependencies

|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
|-------|-------------|--------------------------|-------|------|----------|
|<a id='spdlog' />[spdlog](https://github.com/gabime/spdlog/wiki)|[MIT](https://github.com/gabime/spdlog?tab=License-1-ov-file 'MIT License')|Fast C++ logging library [deps: _fmt_]| |[upstream](https://github.com/gabime/spdlog 'github.com/gabime/spdlog')| [patch]|
|<a id='fmt' />[fmt](https://fmt.dev/)|[MIT](https://github.com/fmtlib/fmt?tab=MIT-1-ov-file#readme 'MIT License')|A modern formatting library|[xpv12.1.0.1](https://github.com/externpro/fmt/releases/tag/xpv12.1.0.1 'release')|[repo](https://github.com/externpro/fmt 'github.com/externpro/fmt') [upstream](https://github.com/fmtlib/fmt 'github.com/fmtlib/fmt')|[diff](https://github.com/externpro/fmt/compare/12.1.0...xpv12.1.0.1 'github.com/externpro/fmt/compare/12.1.0...xpv12.1.0.1') [patch]|

![deps](xprodeps.svg 'dependencies')

Dependency version check: all 1 parent-manifest versions match pinned versions.

|diff |description|
|------|-----------|
|patch |diff modifies/patches existing cmake|
|intro |diff introduces cmake|
|auto |diff adds cmake to replace autotools/configure/make|
|native|diff adds cmake but uses existing build system|
|bin |diff adds cmake to repackage binaries built elsewhere|
|fetch |diff adds cmake and utilizes FetchContent|

[^_l]: see [SPDX License List](https://spdx.org/licenses/ '') for a list of commonly found licenses
[^_d]: see table above with description of diff
30 changes: 30 additions & 0 deletions xprodeps.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.