Skip to content

Native CMake integration#118

Open
gabrielecastellano wants to merge 12 commits into
aliyun:masterfrom
gabrielecastellano:cmake-integration
Open

Native CMake integration#118
gabrielecastellano wants to merge 12 commits into
aliyun:masterfrom
gabrielecastellano:cmake-integration

Conversation

@gabrielecastellano

@gabrielecastellano gabrielecastellano commented Apr 3, 2025

Copy link
Copy Markdown
Contributor

This creates a root CMakeLists that can be used to directly configure and build the project natively.

For instance:

$ mkdir cmake-cache && cd cmake-cache
$ cmake -DBUILD_SIM=ON -G "Unix Makefiles" ..
$ cmake --build . -j 103

This can be helpful for developing (code inspection features) and for future maintenance in general.

Works with PR aliyun/ns-3-alibabacloud#9 for the ns3 subproject.

(tested with simulator only)

@tianhao909 tianhao909 requested a review from Copilot March 31, 2026 13:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a top-level CMake entrypoint to configure/build SimAI “natively” (without the existing wrapper scripts), primarily targeting the ns-3 simulator workflow and integrating Astra-sim sources into the ns-3 tree during configuration.

Changes:

  • Introduces a new root CMakeLists.txt to drive builds of the simulator (and optionally analytical/phy targets).
  • Adjusts astra_ns3 subproject CMake to only default CMAKE_BUILD_TYPE when unset.
  • Updates .gitignore to ignore additional build/config artifacts (including generic **/build and **/cmake-cache).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.

File Description
CMakeLists.txt New root CMake configuration orchestrating Astra-sim + ns-3 build and creating a simulator symlink
astra-sim-alibabacloud/build/astra_ns3/CMakeLists.txt Safer defaulting of CMAKE_BUILD_TYPE (doesn’t clobber user-provided value)
.gitignore Adds ignores for config/build artifacts and introduces broad **/build / **/cmake-cache patterns

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CMakeLists.txt
Comment thread CMakeLists.txt Outdated
Comment thread CMakeLists.txt Outdated
Comment thread CMakeLists.txt Outdated
Comment thread CMakeLists.txt Outdated
@gabrielecastellano

Copy link
Copy Markdown
Contributor Author

I have merged latest changes from master and implemented comments from copilot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants