-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggestion to Transition Cardinal Project to CMake #896
Comments
Hi @ahnaf-tahmid-chowdhury, I'd like to get @milljm's thoughts on this, since he may have some important insights into the |
I noticed that MOOSE uses |
I am flattered, but I don't think I know enough to carry a weighted opinion either way. 😊 I believe top level packages built using CMake are easier to integrate with non CMake projects. And I know we (the MOOSE group) talked about switching to CMake in the past. Although I forget the reasons for it. Being that @permcody knows more about autotools, I think he should weigh in. |
There are a few Cmake projects that rely on MOOSE these days and work without issue. If it makes sense for Cardinal to change, then we can work with you to give you what you need from our build system. Let us know! |
We are developing a simulation lab named NukeLab that runs nuclear physics simulations and analyses effortlessly in the cloud. We are using Docker containers to serve different nuclear projects. Since Cardinal has advanced capabilities for working with CAD geometries, we are considering adding this tool to our project. It seems that building with |
There should be no speed difference between make and Cmake. |
Description
The Cardinal project currently relies on a Makefile-based build system. While this approach has served us well, I propose transitioning to CMake to improve build management, support for cross-platform development, and integration with modern IDEs.
Proposed Plan
Initial Setup:
CMakeLists.txt
file at the root of the project to start configuring the build process.Define Project Structure:
Integrate External Dependencies:
find_package()
andExternalProject_Add()
commands to handle third-party dependencies like MOOSE, NekRS, OpenMC, etc.The text was updated successfully, but these errors were encountered: