Commit Graph

136 Commits

Author SHA1 Message Date
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
André Apitzsch
84d5b81fb3 build: Fix and improve generated pkgconfig files
Includes:
- ignore '-l' option for absolute paths
- remove duplicate include directories
2022-05-21 11:29:19 +00: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
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
ea7ca9b690 build: include and link to globally searched libraries 2022-05-12 19:15:48 -03:00
Gabriel Ferreira
8afef2b89d build: Fix typo in find_external_library macro 2022-05-11 16:02:55 -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
15eeed5f1c build: Restore debug build profile flags 2022-05-11 13:54:55 -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
Eduardo Almeida
9d9dfc71a5 stats: Replace POSIX semaphore with STL 2022-05-04 19:04:31 +01:00
Gabriel Ferreira
98eaf7a746 build: Do not recreate header symlinks during CMake refreshes 2022-05-02 16:11:19 -03:00
Tom Henderson
7cd842486e build: Disable warning from Python bindings under clang++ 2022-04-29 16:10:45 -07:00
Gabriel Ferreira
9ea73461c0 build: Add python framework RPATHs when building on Macs 2022-04-27 19:04:29 -03:00
Gabriel Ferreira
983725f449 build: Rephrase check-version message when build version is disabled 2022-04-23 20:14:38 -03:00
Gabriel Ferreira
fbbb1f256f build: replace CMake warning message color 2022-04-23 13:21:14 -03: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
981f36fd24 build: Raise NS3_STATIC message level to warning 2022-04-20 19:43:51 -03:00
Gabriel Ferreira
55c36d8045 build: throw error when DPDK/MPI/Python bindings dependencies are unmet 2022-04-18 11:41:14 -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
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
b8539b09dd build: additional CMake and ns3 fixes
Includes:
- exempt copy_headers_before_building_lib from cmake-formatting
- fallback method for castxml search
- forward environment variables to cmake during configuration
2022-04-02 19:28:10 -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
1a76009b69 build: do not treat deprecation warnings as errors 2022-04-01 19:33:41 -03:00
Gabriel Ferreira
592a6b4c8d build: use symlinks to headers and fallback to stub headers in unsupported platforms 2022-04-01 14:50:21 -03:00
Pierre Wendling
7b24d1fafb core-config: Fix header detection and conflict.
- Fixed `sys/stat.h` detection.
- Fixed `HAVE_PTHREAD_H` define to avoid warning with Python includes.
- Added missing quotes for the semaphore include check.
2022-03-31 20:52:35 -04:00
Gabriel Ferreira
cbb7628473 build, docs: fixes find_external_library header search paths and docs
Includes:
- search for headers in the library directory when using find_external_library
- prevent module processing (brite, click and openflow) from continuing if ${dependency_name}_FOUND is not set
2022-03-25 23:30:04 -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
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
f728b1f8d0 doc: complement how CMake searches for external libraries 2022-03-13 21:23:47 +00:00
Tom Henderson
20263e45d4 Enable GSL conditional code compilation 2022-02-27 12:51:35 -08:00
Gabriel Ferreira
8e38a150f1 build: additional search path for GTK3 2022-02-27 13:11:14 -03: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