Commit Graph

25 Commits

Author SHA1 Message Date
Gabriel Ferreira
4b5769439e build: explicitly link stdc++fs on GCC 8 2023-04-15 12:04:12 -03:00
Gabriel Ferreira
043199ce9d build: prevent collision between homonymous ns-3 modules and dependencies 2023-04-01 10:05:00 -03:00
Gabriel Ferreira
d9499afc72 build: properly propagate included directories from dependencies 2023-03-31 14:32:44 -03:00
Gabriel Ferreira
e1d8f19320 build: fix installation of private headers
Signed-off-by: Gabriel Ferreira <gabrielcarvfer@gmail.com>
2023-02-15 14:44:45 +00:00
Gabriel Ferreira
1be44d8ecf build: prevent the configuration from succeeding if headers do not exist 2022-11-30 23:25:33 -03:00
Gabriel Ferreira
53f2c381dc build: (fixes #789) add examples as dependencies of example-as-test suites 2022-10-25 12:59:40 -03:00
Gabriel Ferreira
881f64017f build: support "private" headers (unlisted in module headers) 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
81155c18c7 build, docs: Add option to limit build and testing to specified modules 2022-09-19 21:55:26 +00:00
Gabriel Ferreira
c633a1420c build: Add new build_exec macro to declare executable targets
Also adds IGNORE_PCH option to build_example macro.
2022-09-17 11:13:38 +00:00
Gabriel Ferreira
36df81be90 bindings: replace pybindgen bindings support with cppyy bindings 2022-08-01 21:24:02 +00:00
Gabriel Ferreira
ddf49b31ef build: reduce scope of NS3_ENABLE_EXAMPLES flag
Prevents recompilation of modules when tests are enabled
2022-07-27 20:20:28 -03:00
Gabriel Ferreira
89d992af47 build: cmake-format 2022-06-18 17:57:06 -03:00
Gabriel Ferreira
0b76f161ce build: fix IGNORE_PCH option for modules and sort the PCH header list 2022-06-03 17:59:30 -03:00
Gabriel Ferreira
cc68be51b3 build: Allow module examples in subdirectories other than "examples"
Fixes https://gitlab.com/nsnam/ns-3-dev/-/issues/655
2022-05-13 19:09:33 -03:00
Gabriel Ferreira
ea7ca9b690 build: include and link to globally searched libraries 2022-05-12 19:15:48 -03:00
Eduardo Almeida
e5e58ebdbc build: Update CMake to use system threads
With the help of Gabriel Ferreira and Tommaso Pecorella.
2022-05-04 19:47:39 +01: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
1a76009b69 build: do not treat deprecation warnings as errors 2022-04-01 19:33:41 -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
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