diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe85f6f..8ae2494 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,7 @@ on: - rc1 - rc2 - rc3 + - version pull_request: concurrency: diff --git a/CHANGES.md b/CHANGES.md index cd31c6c..0a8b0f2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,8 +1,14 @@ # **realpath** Changes -## 0.1.0 - 6th August 2026 +## 0.1.1 - 23rd August 2026 +T.B.C. + + +## 0.1.0 - 16th August 2026 + +* added support for '--version'; ## 0.0.3 - 5th August 2026 diff --git a/INSTALL.md b/INSTALL.md index 71a338d..0746a1a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -4,6 +4,10 @@ - [Requisites](#requisites) - [Building](#building) - [via CMake](#via-cmake) +- [Requisites](#requisites-1) +- [Building](#building-1) +- [Installing](#installing) +- [Testing](#testing) ## Requisites diff --git a/NEWS.md b/NEWS.md index b419039..8733477 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,10 +1,12 @@ # realpath - News -| Date | News Item | -| -------------------- | -------------------------------------------------- | -| 3rd August 2026 | 0.0.3 released | -| 4th May 2025 | 0.0.2 released | +| Date | News Item | +| -------------------- | ---------------- | +| 23rd August 2026 | [0.1.1 released](https://github.com/sistools/realpath/releases/tag/0.1.1) | +| 16th August 2026 | [0.1.0 released](https://github.com/sistools/realpath/releases/tag/0.1.0) | +| 3rd August 2026 | 0.0.3 released | +| 4th May 2025 | 0.0.2 released | diff --git a/generate_doxygen.cmd b/generate_doxygen.cmd new file mode 100644 index 0000000..abb2811 --- /dev/null +++ b/generate_doxygen.cmd @@ -0,0 +1,135 @@ +@echo off + +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +SET "SCRIPT_DIRECTORY=%~dp0" +SET "SCRIPT_PATH_DOC=%~n0[%~x0]" +IF DEFINED SIS_CMAKE_BUILD_DIR ( + + SET "CMAKE_DIR=%SIS_CMAKE_BUILD_DIR%" +) ELSE ( + + SET "CMAKE_DIR=%SCRIPT_DIRECTORY%_build" +) + +SET "DOXYGEN_OPTIONS=" + +FOR %%a IN (%*) DO ( + IF /I {--help}=={%%a} ( + IF EXIST "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt" ( + + type "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt" + ) + ECHO Generates HTML API documentation from public headers via Doxygen + ECHO( + ECHO %SCRIPT_PATH_DOC% [ ... flags/options ... ] + ECHO( + ECHO Flags/options: + ECHO( + ECHO behaviour: + ECHO( + ECHO -q + ECHO --quiet + ECHO causes the flag -q to be passed to Doxygen, which will then act as + ECHO if QUIET=YES has been set + ECHO( + ECHO( + ECHO standard flags: + ECHO( + ECHO --help + ECHO displays this help and terminates + ECHO( + ECHO Environment: + ECHO( + ECHO SIS_CMAKE_BUILD_DIR + ECHO CMake build directory ^(default: ^/_build^); documentation is + ECHO written to ^/doxygen/html/ + ECHO( + EXIT /B 0 + ) ELSE IF /I {-q}=={%%a} ( + SET "DOXYGEN_OPTIONS=-q" + ) ELSE IF /I {--quiet}=={%%a} ( + SET "DOXYGEN_OPTIONS=-q" + ) ELSE ( + ECHO %SCRIPT_PATH_DOC%: unrecognised argument '%%a'; use --help for usage 1>&2 + + EXIT /B 1 + ) +) + +IF NOT EXIST "%CMAKE_DIR%" ( + + MKDIR "%CMAKE_DIR%" 2>NUL + IF ERRORLEVEL 1 ( + + ECHO %SCRIPT_PATH_DOC%: could not create CMake build directory '%CMAKE_DIR%' 1>&2 + + EXIT /B 1 + ) +) + +PUSHD "%CMAKE_DIR%" >NUL +IF ERRORLEVEL 1 ( + + ECHO %SCRIPT_PATH_DOC%: could not enter CMake build directory '%CMAKE_DIR%' 1>&2 + + EXIT /B 1 +) + +SET "ProjectName=" +FOR /F "usebackq tokens=* delims=" %%p IN ("%SCRIPT_DIRECTORY%.sis\project_name.txt") DO SET "ProjectName=%%p" + +IF NOT DEFINED ProjectName ( + + ECHO %SCRIPT_PATH_DOC%: could not read project name from .sis\project_name.txt 1>&2 + + POPD + EXIT /B 1 +) + +WHERE doxygen >NUL 2>&1 +IF ERRORLEVEL 1 ( + + ECHO %SCRIPT_PATH_DOC%: doxygen not found on PATH 1>&2 + + POPD + EXIT /B 1 +) + +IF NOT EXIST "Doxyfile" ( + + ECHO %SCRIPT_PATH_DOC%: Doxyfile not found in '%CMAKE_DIR%' 1>&2 + + POPD + EXIT /B 1 +) + +IF NOT EXIST "doxygen" ( + MKDIR "doxygen" + IF ERRORLEVEL 1 ( + + ECHO %SCRIPT_PATH_DOC%: could not create '%CMAKE_DIR%\doxygen' 1>&2 + + POPD + EXIT /B 1 + ) +) + +ECHO Executing Doxygen for %ProjectName% (in %CMAKE_DIR%) + +( + type "Doxyfile" + ECHO. + ECHO # Output directory (overridden by %SCRIPT_PATH_DOC%^) + ECHO OUTPUT_DIRECTORY = %CMAKE_DIR%\doxygen +) | doxygen %DOXYGEN_OPTIONS% - +IF ERRORLEVEL 1 ( + + POPD + EXIT /B 1 +) + +ECHO API documentation written to %CMAKE_DIR%\doxygen\html\index.html + +POPD +EXIT /B 0 diff --git a/prepare_cmake.sh b/prepare_cmake.sh index 3c72fb4..f83e2b4 100755 --- a/prepare_cmake.sh +++ b/prepare_cmake.sh @@ -59,7 +59,7 @@ while [[ $# -gt 0 ]]; do ;; *) - >&2 echo "$ScriptPath: ${SisClr_Red}${SisClr_Bold}invalid C++ standard '$CStandard'${SisClr_None}; expected 98, 11, 14, 17, 20, or 23" + >&2 echo "$ScriptPath: ${SisClr_Red}${SisClr_Bold}invalid C++ standard '$CxxStandard'${SisClr_None}; expected 98, 11, 14, 17, 20, or 23" exit 1 ;;