Includes:
- summarize ns3 commands on top-level --help
- add --quiet as a post-positional argument
- refactor verbose variable names
- aggregate ./ns3 --check-config|profile|version into ./ns3 show config|profile|version
- remove ns3 --check deprecated option
- set VERBOSE environment variable when building/running with -v/--verbose
https://gitlab.com/nsnam/ns-3-dev/-/issues/590#note_870520212
- enable verbose Makefiles when NS3_VERBOSE is enabled
https://gitlab.com/nsnam/ns-3-dev/-/issues/590
- introduce default build profile and refactor others
https://gitlab.com/nsnam/ns-3-dev/-/issues/591
- use "-Og" in "CMAKE_BUILD_TYPE=Debug"/"ns3 -d debug"
- add back FindPython3 and fallback to FindPythonInterp if needed
- redirect pybindgen apiscan output to apiscan.log
- enable CMAKE_FIND_DEBUG_MODE with NS3_VERBOSE and CMake >= 3.17
- add search path logging to find_external_library
Requires NS3_VERBOSE=ON. This is an anternative to CMAKE_FIND_DEBUG_MODE=true available in CMake >= 3.17
- remove C support
- reduce Int128 checks
- fuse Boost Units Quantity and SI header checks
- replace not found messages with skipping
Includes:
- fix int64x64 parsing order, remove cached entries in macros-and-definitions and in the docs
- update launch.json scratch names
- add a ctest entry per executable
- forward POSIX signal in ns3 (to get segmentation fault)
- prioritize Ninja generator instead of Makefiles
- add tests for unused utils source files
- remove dummy file and add tests to check for unused source files
- add missing examples and clean up unnecessary definitions
- missing feature entry for LTE used by pybindgen
- refactor CMake related filenames
- fix python libraries and include directories bindings
- fix brite example name
- Keep C++ compiler and flags when refreshing
- Disable precompiled headers when Ccache is found
- Mark find_external_library headers as advanced
- consolidate auxiliary files: build-status.py, _cache.py and .lock-waf_sys.platform_build files are merged into .lock-ns3_sys.platform_build
- scan .cc sources used in bindings and update docs
Includes:
- add additional find_external_library default search paths
- add option to enable/disable DPDK and make it disable by default
- skip test-ns3.py test cases if dependencies are not installed
- improve searching in library parent directories
- replace FindPython with FindPythonInterp and FindPythonLibs
- stub targets for doxygen/sphinx when dependencies are missing
Includes:
- Producing version.cache file if --enable-build-version/NS3_ENABLE_BUILD_VERSION=ON
- Consume version.cache file if the git commit history is not available
- Crash the configuration if neither the git commit history or version.cache file are
available when NS3_ENABLE_BUILD_VERSION=ON
- Warn user to reconfigure the project with NS3_ENABLE_BUILD_VERSION=ON to check
the version
- Only try to remove duplicates if there is a list in find_external_library
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
Includes:
- fix python warnings and wrap pkgconfig_interface_include_directories in quotes to treat it as a string
- prevent failure when Python is not found
- refactor python bindings checks and error messages
- export 3rd-party include directories and linked libraries
- Adding a NS3_REEXPORT_THIRD_PARTY_LIBRARIES option to always export include directories and libraries used by a module, making it automatically available to 3rd-party modules
- Making NS3_REEXPORT_THIRD_PARTY_LIBRARIES option enabled by default
- replace colliding shortcuts with list of non-ambiguous shortcuts
- remove unnecessary code blocks from click
- warn users that doxygen target requires examples and tests
- These are used to generate introspected documentation and guarantee proper dependency checking and build order
Includes:
- scan python scripts
- run python scripts from ns3
- replace visualizer file copy with configure_file to prevent cmake refreshes
- replace ns__init__.py file copy with configure_file to prevent cmake refreshes
- fix bindings scanning with cmake
- pass include directories to modulegen for castxml consumption
- add missing parameters of Recv in python-unit-tests.py
- change apiscan targets from apiscan-module to libmodule-apiscan
- change bindings targets from module-bingings to libmodule-bindings
- scanning and bindings build tests
- scan scratch python scripts
- replace FindPython3 with FindPython to be compatible with CMake 3.10
- do not export private visual-simulator-impl.h
- do not export udp-socket-impl.h
- use .so suffix for bindings on Mac instead of .dylib
Includes:
- inform ns3 user cmake was not found, or an unsupported version was found
- replace open-mpi environment variables with command-line arguments
- mark more variables as advanced
- add -v and --verbose option to run and only output the programs output by default
- fix scratch subdir prefixes and add tests
- prevent cmake crash when scratch sources do not have a main function
- disable MPI module by default
- wrap cmakelists_content in quotes to prevent failure of filter_libraries
- install pkgconfig files and add tests
- pkg-config generation (still missing installation)
- forward PYTHONPATH to modulegen
- fix dependency search for brite, click and openflow
- fix scratch shortcut transformation to build target and binary
- scan scratch files for a main function to use them as the target name
- fix CMake generator parsing
- update the -- separator message
- use -- separator to forward CMake flags from ns3
- add --vis option to ns3
- embedded version fixes
Fix NS3_VERSION_PATCH and NS3_VERSION_RELEASE_CANDIDATE default values.
Add check-version target to CMake.
Add --enable-build-version to ns3.
Add --check-profile and --check-version options to ns3.
- process each scratch subdirectory as a single target
- forward ns3 arguments after -- separator to the program to run
- fix escape sequence in command-template help string
- handle modules with very long names
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