Skip to content

Commit 40074a0

Browse files
authored
CPP-ARGON: version 4.0.0
- IMPORTANT: Changed the name of the library from CPP-AP to CPP-ARGON - Aligned the CMake and Bazel build targets to use the new library name - Changed the library namespace from `ap::` to `argon::` - Aligned the name and content of the `cpp-ap-demo` submodule repository to use the new library name - Added a new project logo and aligned documentation postprocessing to display it properly
1 parent d01857f commit 40074a0

51 files changed

Lines changed: 632 additions & 550 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/demo.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
paths:
77
- .github/workflows/demo.yaml
88
- .gitmodules
9-
- cpp-ap-demo
9+
- cpp-argon-demo
1010
- include/**
1111
- CMakeLists.txt
1212
- MODULE.bazel
@@ -17,7 +17,7 @@ on:
1717

1818
jobs:
1919
build-demo-linux:
20-
name: Build cpp-ap-demo (Linux)
20+
name: Build cpp-argon-demo (Linux)
2121
runs-on: ubuntu-24.04
2222

2323
steps:
@@ -42,10 +42,10 @@ jobs:
4242
echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
4343
fi
4444
45-
- name: Build cpp-ap-demo (CMake)
45+
- name: Build cpp-argon-demo (CMake)
4646
run: |
47-
cd cpp-ap-demo
48-
cmake -B build_cmake -DAP_TAG=${{ steps.branch-name.outputs.branch }}
47+
cd cpp-argon-demo
48+
cmake -B build_cmake -DARGON_TAG=${{ steps.branch-name.outputs.branch }}
4949
cmake --build build_cmake/ -j 4
5050
5151
- name: Setup Bazel
@@ -55,15 +55,15 @@ jobs:
5555
disk-cache: ${{ github.workflow }}
5656
repository-cache: true
5757

58-
- name: Build cpp-ap-demo (Bazel)
58+
- name: Build cpp-argon-demo (Bazel)
5959
run: |
60-
cd cpp-ap-demo
60+
cd cpp-argon-demo
6161
BRANCH="${{ steps.branch-name.outputs.branch }}"
6262
sed -i "s/branch = \".*\"/branch = \"$BRANCH\"/" MODULE.bazel
6363
bazel build //:all_demos
6464
6565
build-demo-windows:
66-
name: Build cpp-ap-demo (Windows)
66+
name: Build cpp-argon-demo (Windows)
6767
runs-on: windows-2022
6868

6969
steps:
@@ -91,10 +91,10 @@ jobs:
9191
"branch=$branch" >> $env:GITHUB_OUTPUT
9292
}
9393
94-
- name: Build cpp-ap-demo (CMake)
94+
- name: Build cpp-argon-demo (CMake)
9595
run: |
96-
cd cpp-ap-demo
97-
cmake -B build_cmake -DAP_TAG=${{ steps.branch-name.outputs.branch }}
96+
cd cpp-argon-demo
97+
cmake -B build_cmake -DARGON_TAG=${{ steps.branch-name.outputs.branch }}
9898
cmake --build build_cmake/ --config Release -j 4
9999
100100
- name: Setup Bazel
@@ -104,9 +104,9 @@ jobs:
104104
disk-cache: ${{ github.workflow }}
105105
repository-cache: true
106106

107-
- name: Build cpp-ap-demo (Bazel)
107+
- name: Build cpp-argon-demo (Bazel)
108108
run: |
109-
cd cpp-ap-demo
109+
cd cpp-argon-demo
110110
$BRANCH="${{ steps.branch-name.outputs.branch }}"
111111
(Get-Content MODULE.bazel) -replace 'branch = ".*"', "branch = `"$BRANCH`"" | Set-Content MODULE.bazel
112112
bazel build //:all_demos

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
[submodule "cpp-ap-demo"]
2-
path = cpp-ap-demo
3-
url = https://github.com/SpectraL519/cpp-ap-demo.git
1+
[submodule "cpp-argon-demo"]
2+
path = cpp-argon-demo
3+
url = https://github.com/SpectraL519/cpp-argon-demo.git
44
[submodule "doxygen-awesome-css"]
55
path = doxygen-awesome-css
66
url = https://github.com/SpectraL519/doxygen-awesome-css.git

BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cc_library(
2-
name = "cpp-ap",
2+
name = "cpp-argon",
33
hdrs = glob(["include/**/*.hpp"]),
44
includes = ["include"],
55
cxxopts = ["-std=c++20"],

CMakeLists.txt

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
cmake_minimum_required(VERSION 3.12)
22

33
if (NOT DEFINED PROJECT_NAME)
4-
set(CPP_AP_IS_TOP_LEVEL_PROJECT ON)
4+
set(CPP_ARGON_IS_TOP_LEVEL_PROJECT ON)
55
else()
6-
set(CPP_AP_IS_TOP_LEVEL_PROJECT OFF)
6+
set(CPP_ARGON_IS_TOP_LEVEL_PROJECT OFF)
77
endif()
88

9-
project(cpp-ap
10-
VERSION 3.1.0
9+
project(cpp-argon
10+
VERSION 4.0.0
1111
DESCRIPTION "Command-line argument parser for C++20"
12-
HOMEPAGE_URL "https://github.com/SpectraL519/cpp-ap"
12+
HOMEPAGE_URL "https://github.com/SpectraL519/cpp-argon"
1313
LANGUAGES CXX
1414
)
1515

@@ -19,12 +19,12 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
1919
option(BUILD_TESTS "Build project tests" OFF)
2020

2121
# The library target
22-
add_library(cpp-ap INTERFACE)
23-
target_include_directories(cpp-ap INTERFACE
22+
add_library(cpp-argon INTERFACE)
23+
target_include_directories(cpp-argon INTERFACE
2424
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2525
$<INSTALL_INTERFACE:include>
2626
)
27-
set_target_properties(cpp-ap PROPERTIES
27+
set_target_properties(cpp-argon PROPERTIES
2828
CXX_STANDARD 20
2929
CXX_STANDARD_REQUIRED YES
3030
)
@@ -33,49 +33,49 @@ set_target_properties(cpp-ap PROPERTIES
3333
include(GNUInstallDirs)
3434
include(CMakePackageConfigHelpers)
3535

36-
set(INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/cpp-ap)
36+
set(INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/cpp-argon)
3737

3838
# Install the headers
3939
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
4040
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
4141

4242
# Install the library target
43-
install(TARGETS cpp-ap EXPORT cpp-ap-targets)
43+
install(TARGETS cpp-argon EXPORT cpp-argon-targets)
4444

4545
# Create a config file for find_package
4646
configure_package_config_file(
47-
${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpp-ap-config.cmake.in
48-
${CMAKE_CURRENT_BINARY_DIR}/cpp-ap-config.cmake
47+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpp-argon-config.cmake.in
48+
${CMAKE_CURRENT_BINARY_DIR}/cpp-argon-config.cmake
4949
INSTALL_DESTINATION ${INSTALL_DIR}
5050
)
5151

5252
write_basic_package_version_file(
53-
${CMAKE_CURRENT_BINARY_DIR}/cpp-ap-config-version.cmake
53+
${CMAKE_CURRENT_BINARY_DIR}/cpp-argon-config-version.cmake
5454
VERSION ${PROJECT_VERSION}
5555
COMPATIBILITY ExactVersion
5656
)
5757

5858
install(FILES
59-
${CMAKE_CURRENT_BINARY_DIR}/cpp-ap-config.cmake
60-
${CMAKE_CURRENT_BINARY_DIR}/cpp-ap-config-version.cmake
59+
${CMAKE_CURRENT_BINARY_DIR}/cpp-argon-config.cmake
60+
${CMAKE_CURRENT_BINARY_DIR}/cpp-argon-config-version.cmake
6161
DESTINATION ${INSTALL_DIR}
6262
)
6363

64-
install(EXPORT cpp-ap-targets
65-
FILE cpp-ap-targets.cmake
66-
NAMESPACE cpp-ap::
64+
install(EXPORT cpp-argon-targets
65+
FILE cpp-argon-targets.cmake
66+
NAMESPACE cpp-argon::
6767
DESTINATION ${INSTALL_DIR}
6868
)
6969

70-
# Include the tests directory if CPP-AP is a top-level project
71-
if (CPP_AP_IS_TOP_LEVEL_PROJECT AND BUILD_TESTS)
70+
# Include the tests directory if CPP-ARGON is a top-level project
71+
if (CPP_ARGON_IS_TOP_LEVEL_PROJECT AND BUILD_TESTS)
7272
add_subdirectory(tests)
7373
endif()
7474

7575
# Exporting from the build tree
76-
export(EXPORT cpp-ap-targets
77-
FILE ${CMAKE_CURRENT_BINARY_DIR}/cpp-ap-targets.cmake
78-
NAMESPACE cpp-ap::
76+
export(EXPORT cpp-argon-targets
77+
FILE ${CMAKE_CURRENT_BINARY_DIR}/cpp-argon-targets.cmake
78+
NAMESPACE cpp-argon::
7979
)
8080

81-
export(PACKAGE cpp-ap)
81+
export(PACKAGE cpp-argon)

Doxyfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,32 +42,32 @@ DOXYFILE_ENCODING = UTF-8
4242
# title of most generated pages and in a few other places.
4343
# The default value is: My Project.
4444

45-
PROJECT_NAME = CPP-AP
45+
PROJECT_NAME = CPP-ARGON
4646

4747
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 3.1.0
51+
PROJECT_NUMBER = 4.0.0
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a
5555
# quick idea about the purpose of the project. Keep the description short.
5656

57-
PROJECT_BRIEF = "Command-line argument parser for C++20"
57+
PROJECT_BRIEF = "Command-Line Argument Parser for C++20"
5858

5959
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
6060
# in the documentation. The maximum height of the logo should not exceed 55
6161
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
6262
# the logo to the output directory.
6363

64-
PROJECT_LOGO =
64+
PROJECT_LOGO = "docs/img/cpp-argon-hex.png"
6565

6666
# With the PROJECT_ICON tag one can specify an icon that is included in the tabs
6767
# when the HTML document is shown. Doxygen will copy the logo to the output
6868
# directory.
6969

70-
PROJECT_ICON =
70+
PROJECT_ICON = "docs/img/cpp-argon-hex.png"
7171

7272
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
7373
# into which the generated documentation will be written. If a relative path is

LICENSE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#### MIT License
22

3-
Copyright (c) 2023-2025 Jakub Musiał and other contributors
4-
https://github.com/SpectraL519/cpp-ap
3+
Copyright (c) 2023-2026 Jakub Musiał and other contributors
4+
https://github.com/SpectraL519/cpp-argon
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module(
2-
name = "cpp-ap",
3-
version = "3.1.0",
2+
name = "cpp-argon",
3+
version = "4.0.0",
44
)

README.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,49 @@
1-
<h1>
2-
CPP-AP
3-
<a href="https://github.com/SpectraL519/cpp-ap" target="_blank">
4-
<i class="fa fa-github" style="font-size: 1.3em; margin-left: 6px; position: relative; top: -0.08em;"></i>
1+
<p align="center">
2+
<a href="https://github.com/SpectraL519/cpp-argon">
3+
<img src="docs/img/cpp-argon-hex.png" alt="CPP-ARGON" width="360" />
54
</a>
6-
</h1>
7-
8-
Command-line argument parser for C++20
5+
</p>
96

107
<br />
118

129
<div align="center">
1310

14-
[![GCC](https://github.com/SpectraL519/cpp-ap/actions/workflows/gcc.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/gcc)
15-
[![Clang](https://github.com/SpectraL519/cpp-ap/actions/workflows/clang.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/clang)
16-
[![MSVC](https://github.com/SpectraL519/cpp-ap/actions/workflows/msvc.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/msvc)
11+
[![GCC](https://github.com/SpectraL519/cpp-argon/actions/workflows/gcc.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/gcc)
12+
[![Clang](https://github.com/SpectraL519/cpp-argon/actions/workflows/clang.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/clang)
13+
[![MSVC](https://github.com/SpectraL519/cpp-argon/actions/workflows/msvc.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/msvc)
1714

1815
</div>
1916

2017
<div align="center">
2118

22-
[![format](https://github.com/SpectraL519/cpp-ap/actions/workflows/format.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/format)
23-
[![demo](https://github.com/SpectraL519/cpp-ap/actions/workflows/demo.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/demo)
24-
[![documentation](https://github.com/SpectraL519/cpp-ap/actions/workflows/documentation.yaml/badge.svg)](https://github.com/SpectraL519/cpp-ap/actions/workflows/documentation)
25-
[![changelog](https://img.shields.io/badge/changelog-blue.svg?logo=github)](https://github.com/SpectraL519/cpp-ap/releases)
19+
[![format](https://github.com/SpectraL519/cpp-argon/actions/workflows/format.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/format)
20+
[![demo](https://github.com/SpectraL519/cpp-argon/actions/workflows/demo.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/demo)
21+
[![documentation](https://github.com/SpectraL519/cpp-argon/actions/workflows/documentation.yaml/badge.svg)](https://github.com/SpectraL519/cpp-argon/actions/workflows/documentation)
22+
[![changelog](https://img.shields.io/badge/changelog-blue.svg?logo=github)](https://github.com/SpectraL519/cpp-argon/releases)
2623

2724
</div>
2825

2926
<br />
3027

3128
## Overview
3229

33-
`CPP-AP` is a lightweight and feature-rich command-line argument parsing library for the C++20 and newer standards, designed as an alternative to `boost::program_options`. It offers a modern and intuitive interface allowing for straightforward argument configuration and parsing.
30+
`CPP-ARGON` is a lightweight and feature-rich command-line argument parsing library for the C++20 and newer standards, designed as an alternative to `boost::program_options`. It offers a modern and intuitive interface allowing for straightforward argument configuration and parsing.
31+
32+
> [!CAUTION]
33+
> Versions of the `CPP-ARGON` library up to prior to `v4.0.0` were developed under the name `CPP-AP`.
34+
>
35+
> **Legacy Support:** The deprecated URLs (`https://github.com/SpectraL519/cpp-ap` and `.../cpp-ap-demo`) automatically redirect to the new locations, and build targets defined in previous versions remain fully functional.
36+
>
37+
> **Action Required:**
38+
> - **Repositories:** We highly recommend updating your remote references and submodules to the new canonical URLs:
39+
> - Library: https://github.com/SpectraL519/cpp-argon
40+
> - Demo: https://github.com/SpectraL519/cpp-argon-demo
41+
> - **Documentation:** The old documentation URL (`.../cpp-ap/<version>/`) is **no longer active**. Please use the new address:
42+
> - https://spectral519.github.io/cpp-argon/latest/
3443
3544
> [!NOTE]
3645
>
37-
> [v1.0](https://github.com/SpectraL519/cpp-ap/releases/tag/v1.0) of the library has been developed for the *Team Programming* course at the *Wrocław University of Science and Technology*.
46+
> [v1.0](https://github.com/SpectraL519/cpp-argon/releases/tag/v1.0) of the library has been developed for the *Team Programming* course at the *Wrocław University of Science and Technology*.
3847
>
3948
> Faculty: *W04N - Faculty of Information and Communication Technology*
4049
>
@@ -47,7 +56,7 @@ Command-line argument parser for C++20
4756
## Related Pages
4857

4958
- [Tutorial](/docs/tutorial.md#tutorial)
50-
- [Setting Up CPP-AP](/docs/tutorial.md#setting-up-cpp-ap)
59+
- [Setting Up CPP-ARGON](/docs/tutorial.md#setting-up-cpp-argon)
5160
- [CMake Integration](/docs/tutorial.md#cmake-integration)
5261
- [Bazel Build System](/docs/tutorial.md#bazel-build-system)
5362
- [Downloading the Library](/docs/tutorial.md#downloading-the-library)
@@ -99,4 +108,4 @@ Command-line argument parser for C++20
99108

100109
## License
101110

102-
The `CPP-AP` project uses the [MIT License](https://mit-license.org/) which can be found in the [LICENSE](/LICENSE.md#mit-license) file
111+
The `CPP-ARGON` project uses the [MIT License](https://mit-license.org/) which can be found in the [LICENSE](/LICENSE.md#mit-license) file

cmake/cpp-ap-config.cmake.in

Lines changed: 0 additions & 7 deletions
This file was deleted.

cmake/cpp-argon-config.cmake.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@PACKAGE_INIT@
2+
3+
include(CMakeFindDependencyMacro)
4+
5+
set_and_check(CPP_ARGON_INCLUDE_DIR "@PACKAGE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@")
6+
7+
include("${CMAKE_CURRENT_LIST_DIR}/cpp-argon-targets.cmake")

0 commit comments

Comments
 (0)