Commit Graph

31 Commits

Author SHA1 Message Date
Tom Henderson
a959eea3d5 wave: Remove wave module from codebase 2023-06-11 08:20:34 -07:00
Gabriel Ferreira
7193cce35b build: fetch dependencies for Brite, Click and Openflow
Signed-off-by: Gabriel Ferreira <gabrielcarvfer@gmail.com>
2023-02-15 14:44:45 +00:00
Matteo Pagin
1c0fecc69c antenna, spectrum: GSoC-22 Add support for Eigen library 2023-02-08 14:25:30 +00:00
Gabriel Ferreira
c4ba542e7a build: switch from RULE_LAUNCH_COMPILE to CXX_COMPILER_LAUNCHER 2022-12-30 02:57:42 +00:00
Gabriel Ferreira
b59565aa9b build: add NS3_CCACHE and NS3_FAST_LINKERS switches to disable ccache and lld/mold usage 2022-11-30 15:03:13 -03:00
Gabriel Ferreira
87c85c8156 build: add Ninjatracing support 2022-11-13 21:17:39 +00:00
Gabriel Ferreira
bd23250108 build: remove Gnuplot check 2022-11-01 01:09:20 -03:00
Gabriel Ferreira
df6490c7bd build: rollback ccache changes due to increased cache misses 2022-10-26 18:21:22 +00:00
Gabriel Ferreira
c5e48cf251 build: use CMAKE_CXX_COMPILER_LAUNCHER instead of RULE_LAUNCH_COMPILE 2022-10-17 23:01:30 -03:00
Gabriel Ferreira
81155c18c7 build, docs: Add option to limit build and testing to specified modules 2022-09-19 21:55:26 +00:00
Gabriel Ferreira
3e43ef1742 build, docs: Replace python-based with cmake-based .ns3rc files 2022-09-19 21:55:26 +00:00
Lars Moons
e72cfb6afb add support for out-of-source tree builds with add_subdirectory(ns-3-dev) 2022-08-16 21:25:36 +00:00
Tommaso Pecorella
5e551a2180 core: (fixes #416) remove librt checks 2022-08-05 01:42:12 +00:00
Gabriel Ferreira
36df81be90 bindings: replace pybindgen bindings support with cppyy bindings 2022-08-01 21:24:02 +00:00
Gabriel Ferreira
63f03d5e15 build: re-enable PCH with CCache
Includes:
 - disable PCH validation when using XCode
 - disable Clang's PCH timestamping
 - add ostream header to the PCH
2022-07-01 22:07:40 -03:00
Gabriel Ferreira
20a0fb2e8d build: Use check_include_file when checking for C headers
The cxx variant fails on MinGW
2022-05-29 15:34:53 +00:00
Gabriel Ferreira
4b83eb7085 build: Fix features and make pthread an explicit dependency
Includes:
- Include threads sources even when NS3_PTHREAD=OFF
- Do not include realtime sources if NS3_REALTIME=OFF
- Disable tap-bridge if emulation or realtime features are disabled
- Build tap examples when tap-netdevice is enabled
- Remove NS3_PTHREAD option and make it an explicit requirement
2022-04-23 13:21:13 -03:00
Gabriel Ferreira
4a98f0502c build: fix post find_program checks 2022-04-04 02:12:26 -03:00
Gabriel Ferreira
c7553687d7 build: enable colorized CMake and g++/clang++ when using ns3 2022-04-02 21:11:16 -03:00
Gabriel Ferreira
fbebb61a6f build: refactoring CMake and ns3
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
2022-03-13 21:23:47 +00:00
Gabriel Ferreira
4aedba2f00 build: CMake refactoring and fixes
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
2022-02-21 22:18:42 -03:00
Gabriel Ferreira
9342082c53 bindings, build: fix bindings and visualizer build
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
2022-01-26 01:53:28 -03:00
Gabriel Ferreira
bbe2128abe build: more ns3 and CMake fixes
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
2022-01-23 17:30:08 -03:00
Gabriel Ferreira
ff3b511384 build: Bugfixes and refactoring of ns3 and CMake
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
2022-01-09 02:48:53 -03:00
Tom Henderson
12dee93f70 fd-net-device: (merges !811) Remove PlanetLab helper 2022-01-02 11:46:59 -08:00
Tom Henderson
f5bd038b86 build: Update minimum compiler versions to g++-8, clang++-6, Apple Clang 11 2021-12-17 17:18:58 -08:00
Gabriel Ferreira
9d9f765ba6 build: additional CMake and ns3 bugfixes 2021-12-16 02:29:59 +00:00
Tom Henderson
2c19b5b453 internet: Remove Network Simulation Cradle (NSC) 2021-12-10 09:07:03 -08:00
Gabriel Ferreira
f6ef415392 build: CMake bugfixes
Fixes include:
- Handling of relative paths used as output directories
- Accepting comma separated lists of modules to enable/disable
- Echoing all CMake commands at the end of the execution of ns3 script
- More informative optional features summary output
- Replace absolute paths with relative paths in the printed CMake output for less verbose output
- Set debug build type on the CMake side to ensure ccmake doesn't crash
- Prefix INT64X64 with NS3 to indicate user switch
- Compiler version check
- Removal of verbose option
- Suppress empty enabled/disabled module tables

Features include:
- Test for installation/uninstallation of ns-3 as a CMake package
- Test importing ns-3 as a CMake package and use in a 3rd-party project
- Test to check VERSION usage
- ns3 option to enable/disable sanitizers
- Associate headers to libraries targets
2021-12-10 02:13:43 +00:00
Gabriel Ferreira
a893eba7e3 build: Fix CMake and ns3 script bugs, add a test suite and fix formatting 2021-12-05 21:53:49 +00:00
Gabriel Ferreira
9c876c7f5a CMake buildsystem 2021-12-01 12:29:55 -08:00