Commit Graph

56 Commits

Author SHA1 Message Date
Gabriel Ferreira
10a61ca102 test: refactor Docker-based tests in test-ns3.py 2022-11-13 21:17:39 +00:00
Gabriel Ferreira
77a583ef08 build: (fixes #808) handle profile setting changes in the first ns3 run 2022-11-13 21:17:39 +00:00
Gabriel Ferreira
d5c425bcf7 build: remove MPI_CI environment variable from test-ns3.py test case 2022-10-25 12:59:40 -03:00
Gabriel Ferreira
fcbb0b0cfe build: fix mpi test case and refactor test-ns3.py 2022-10-17 23:04:49 -03:00
Gabriel Ferreira
4d8ef16f60 build: remove C++ format checking tests from test-ns3.py 2022-10-10 20:09:59 -03:00
Gabriel Ferreira
c34abb4ccc build: initial Windows support patches 2022-09-24 15:16:52 -03:00
Gabriel Ferreira
f8846d22ed build: add STANDALONE option to build_exec and fix static builds 2022-09-24 15:04:53 -03:00
Gabriel Ferreira
8d96d482b6 build: use lld or mold linkers in supported platforms 2022-09-21 21:45:35 -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
Gabriel Ferreira
096b8d428c build: Let test-ns3.py resume from a specific test 2022-09-17 11:13:38 +00:00
Gabriel Ferreira
db7f4b831a build: Fix scratches subdir test 2022-09-17 11:13:38 +00:00
Gabriel Ferreira
61376eefd7 build: fix TestVersionFile case in test-ns3.py 2022-08-16 22:52:02 -03:00
Gabriel Ferreira
9058a2c422 bindings, test: fix for python tests and Cppyy test case (fixes #724) 2022-08-16 22:54:49 +00:00
Gabriel Ferreira
ca421d6447 build: fix reading of "0" values from version.cache
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/712
2022-08-08 13:42:54 -03:00
Gabriel Ferreira
0b2c62bf93 build: fix typos and formatting 2022-08-07 21:18:59 +00:00
Gabriel Ferreira
da221e41f6 build: remove git dependency when using version.cache and add a test 2022-08-07 21:18:59 +00:00
Gabriel Ferreira
059c07926a test: add a test case to check the brightness of images in the docs 2022-08-05 01:30:40 -03:00
Gabriel Ferreira
8f76129ebf test: fix test-ns3.py uncrustify test case 2022-08-05 01:22:12 -03:00
Gabriel Ferreira
58c5a94daa test: remove pybindgen test case 2022-08-01 21:24:02 +00:00
Gabriel Ferreira
2942a14ac0 build: build scratches with multiple threads in test-ns3.py test case 2022-07-27 20:23:04 -03:00
Gabriel Ferreira
e7041ea4b2 tests: check if modules are directly linked to their dependencies 2022-07-19 12:07:46 -03:00
Gabriel Ferreira
36bd103c49 build: ignore hidden source files in the scratch directory
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/684
2022-06-21 15:42:33 -03:00
Gabriel Ferreira
e15b0dce2f tests: new test cases to check for style checking and sanitizers 2022-06-18 17:57:05 -03:00
Gabriel Ferreira
a1580a5bd0 tests: new test case to check for stale links in the source code and docs 2022-06-18 17:57:05 -03:00
Gabriel Ferreira
6473b7ec98 build: rollback linking to globally searched libraries 2022-05-13 18:50:55 -03:00
Gabriel Ferreira
f1e9d9c842 build: config table fixes
Includes:
- consistent ns-3 naming
- updated sqlite3 entry
- added entries for libxml2 and pybindgen scanning
2022-05-13 15:34:49 -03:00
Gabriel Ferreira
bf6effc920 build: Improve ns3rc parsing to support multiline list/skip comments 2022-05-11 16:01:48 -03:00
Gabriel Ferreira
22900026ce test: Improve installation tests
- Use C++17 on the CMake project importing ns-3 as a 3rd-party package
- Skip pkg-config import check if it is not installed
2022-05-03 13:32:51 -03:00
Gabriel Ferreira
98eaf7a746 build: Do not recreate header symlinks during CMake refreshes 2022-05-02 16:11:19 -03:00
Gabriel Ferreira
db4c10bb8c build: python bindings fixes
Includes:
- scan for python examples if bindings are enabled
- do not scan python bindings from modules without a module/bindings directory
- remove broken bindings if pybindgen generation fails
- replace colored message with normal message for find_external_library
- complement pybindgen to check if modules with no bindings folder was scanned and any bindings were generated
2022-04-05 00:28:27 -03:00
Gabriel Ferreira
72e6105195 build: CMake and ns3 fixes
Includes:
- print error message instead of forwarding posix signals in ns3
- supress printing of "Finished executing commands..." for ./ns3 run
- fix ns3 typos and formatting issues
- add verbose options and make doxygen/doxygen-no-build verbose
- re-enable printing of build messages in ./ns3 run
- refactor ns3 dry_run, quiet, jobs and verbose arguments
- check if examples subdirectories have a CMakeLists.txt
2022-04-01 23:44:49 -03:00
Gabriel Ferreira
d3f9e0742f build, doc: add "--trace-performance" argument to ns3 configure 2022-04-01 14:50:21 -03:00
Gabriel Ferreira
e5c6d63c5c build: search for "lib" prefix before trying to remove it
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/601
2022-03-18 15:14:37 -03:00
Gabriel Ferreira
3ee4eb41cb build: fix remaining "lib" prefix removal steps in CMake 2022-03-17 21:48:01 -03:00
Gabriel Ferreira
6a6b785c5f build,test: fixing CMake and ns3 issues and adding a test case
Includes:
- refactoring lib prefix removal and library dependency checking (fixes #598)
- add new test case for test-ns3.py to test library names
- fix ns3 issue, not accepting to build contrib libraries
- ignore gitlab-ci-local directory in test-ns3.py
2022-03-17 13:55:54 -03:00
Gabriel Ferreira
cd1308e3ad test: reconfigure ns-3 between bindings and ambiguity tests 2022-03-13 21:23:47 +00: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
e32c177e45 build: remove waf files, tests and references 2022-02-21 22:08:45 -03:00
Gabriel Ferreira
9fcdbd08d2 build: fix ns3 sphinx targets and test-ns3.py tests 2022-02-12 00:48:44 -03:00
Gabriel Ferreira
4b01479b04 build: additional CMake and ns3 fixes
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
2022-02-11 16:13:07 -03:00
Gabriel Ferreira
6e45febbf7 build: fix ns3 run from source file path, add lldb option and tests 2022-02-08 18:40:09 -03:00
Gabriel Ferreira
8ac52d83cf build: versioning and find_external_library fixes
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
2022-02-05 23:46:06 +00:00
Tommaso Pecorella
1eac22c4b0 documentation: Doxygen post fixes 2022-01-31 22:19:11 +00:00
Gabriel Ferreira
bbe67f5fc2 build: check if visualizer is in the enabled modules list 2022-01-28 15:37:27 -03:00
Gabriel Ferreira
113c3744fc build: CMake and ns3 fixes and improvements
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
2022-01-27 17:28:38 -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
70d11fe983 build: ns3 and CMake fixes
- 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
2022-01-19 16:25:03 -03:00