diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index aa9490d..af233d7 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,7 +3,7 @@ name: Generate Release
on:
push:
tags:
- - 'v*.*.*'
+ - "v*.*.*"
jobs:
build-release:
@@ -15,33 +15,25 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.x'
+ python-version: "3.x"
- name: Install CMake and Ninja
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build zip
- - name: Generate release artifact
- run: |
- python scripts/build_single_file.py --check || python scripts/build_single_file.py
- echo "Generated dist/single_file/ab.cmake"
-
- - name: Build CMake package
- run: |
- pwsh scripts/build_package.ps1
-
- name: Capture version
id: version
run: |
TAG_REF="${GITHUB_REF##*/}"
+ VERSION="${TAG_REF#v}"
echo "tag=$TAG_REF" >> $GITHUB_OUTPUT
+ echo "version=$VERSION" >> $GITHUB_OUTPUT
- - name: Archive CMake package
+ - name: Generate release artifact
run: |
- TAG="${{ steps.version.outputs.tag }}"
- mkdir -p dist/release
- zip -r "dist/release/abcmake-package-${TAG}.zip" dist/package
+ python scripts/build_single_file.py --check || python scripts/build_single_file.py
+ echo "Generated dist/single_file/ab.cmake"
- name: Upload release artifact
uses: actions/upload-artifact@v4
@@ -49,7 +41,6 @@ jobs:
name: abcmake-${{ steps.version.outputs.tag }}
path: |
dist/single_file/ab.cmake
- dist/release/abcmake-package-${{ steps.version.outputs.tag }}.zip
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
@@ -60,6 +51,5 @@ jobs:
The single-file module and CMake package are attached as assets.
files: |
dist/single_file/ab.cmake
- dist/release/abcmake-package-${{ steps.version.outputs.tag }}.zip
env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 96197b2..3224850 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,11 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [6.2.1] - 2025-11-15
+## [Unreleased]
-### Added
+- ...
-- Introduce abcmake CMake package
## [6.2.0] - 2025-09-17
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6ff035..72aa578 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ install(FILES
src/abcmake/add_component.cmake
src/abcmake/register_components.cmake
src/abcmake/target_link_components.cmake
+ LICENSE
DESTINATION ${ABCMAKE_INSTALL_CMAKEDIR}/abcmake
)
@@ -53,6 +54,22 @@ install(FILES
DESTINATION ${ABCMAKE_INSTALL_CMAKEDIR}
)
+# Install LICENSE to abcmake subdirectory
+install(FILES
+ LICENSE
+ DESTINATION ${ABCMAKE_INSTALL_CMAKEDIR}/abcmake
+)
+
+# Copy installer and docs to package root (CMAKE_INSTALL_PREFIX)
+install(CODE "
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE
+ DESTINATION \"\${CMAKE_INSTALL_PREFIX}\")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/README.md
+ DESTINATION \"\${CMAKE_INSTALL_PREFIX}\")
+
+ message(STATUS \"Package root files installed to: \${CMAKE_INSTALL_PREFIX}\")
+")
+
# Display installation information
message(STATUS "abcmake version ${PROJECT_VERSION}")
message(STATUS "Install destination: ${CMAKE_INSTALL_PREFIX}")
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..29bfd8a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Andrei Gramakov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index d7d4cc8..87add8c 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# abcmake
+