Includes:
- refactor build_lib and build_lib_example macros
- unify src and contrib macros
- replace macro with function not to leak definitions
- parse list of arguments
- different cmake-format file for modules to list one item per line
Including:
- add missing command for introspected doxygen
- run get_version.sh before running doxygen
- use find_package(Doxygen) to get the doxygen executable
- silence python and sqlite find_package warnings
- return cmake returncode if configuration fails
- require GTK3 3.22
- link all libraries to print-introspected-doxygen
- replace shell with use_shell for variable name
- revert wrong changes to propagation of return codes and add test
- disable pch when ccache is found
- make --enable-sudo a post-build step and a runtime option
- add docs subparser
- add enable-sudo option
- refactor positional argument values
- fix --check option and add shell option
- replace --no-task-lines with --quiet
- replace --nowaf with --no-build
- replace --run --run-no-build with run (--no-build)
- replace ns3 documentation related arguments with targets
- document test-ns3.py
- export include directories used by ns3 libraries
- refactor CMake documentation dependency checking and behavior
- add --allow-run-as-root for running MPI examples on the CI
- Added documentation to raw-text-config.h
- Fixed abort conditions in raw-text-config.cc, RawTextConfigLoad::Strip
- Fixed formatting of ParseLine block in load functions
- Added value.clear() after setting attribute
- Added --load option to config-store-save example, removed config-store-load
- Updated comments, doxygen docs, and example help text.
-- Added GPL license to config-store-load.cc example
-- Enclosed all if-condition code in braces
-- Changed ASSERT checks on inputs in raw-text-config.cc to ABORT checks
There were a number of constructive comments on the original
merge request.
1. Prior checks in RawTextConfigLoad::Strip ensured the value string
was entirely enclosed in quotation marks. The original MR removed
those checks. This revision reintroduces those checks. Assert
messages have been improved with more information.
2. RawTextConfigLoad::ParseString was not checking for an empty
line before accessing the first element.
3. RawTextConfigLoad::ParseString was improved to better handle
whitespace prior to the final value field.
A new config-store-load example was created to allow one to check
a hand-edited config-store raw text file to test the new features.
Features include: ignore # (hash) prefixed comment lines,
ignore blank lines, allow multi-line values. The latter
feature is particularly useful for entering large arrays
of values that may be set to a container structure.