Replies: 8 comments 19 replies
-
@amneetb if you have more questions let me know - it would be good to collect all of this information in one place. |
Beta Was this translation helpful? Give feedback.
-
@drwells : Attached |
Beta Was this translation helpful? Give feedback.
-
@drwells: It is also not able to find
|
Beta Was this translation helpful? Give feedback.
-
It is surprising to see how brittle CMake is on some of the essential things like |
Beta Was this translation helpful? Give feedback.
-
@drwells: Did you get a chance to look into CMake problems on MacOS? |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
All the more reasons to support autotools as well. FWIW, Rahul was able to build IBAMR on Fugaku and K-computer in Japan using autotools (which speaks to its strength). |
Beta Was this translation helpful? Give feedback.
-
Ok, the CMake works on IBAMR with the specified compilers. I was trying to define a
|
Beta Was this translation helpful? Give feedback.
-
IBAMR presently supports configuration and compilation with two different build systems: autotools and CMake. In brief, the CMake-based build system will ultimately replace the autotools-based one due to its better feature set and lower overall maintenance cost. This discussion thread summarizes some FAQ and provides a place for people to discuss the new CMake build system.
PETSc uses BuildSystem and not CMake - why don't we use BuildSystem?
Why CMake instead of autotools?
In general, comparing these two build systems is somewhat difficult since autotools significantly predates CMake and served as the inspiration for much of CMake's design. The problems autotools set out to solve defined the initial scope and methods for CMake.
autoreconf
and no longer have to deal with huge amounts of code changes resulting from increasing the version number of automake.libtool
for relocating them.CMakeLists.txt
files), the build system consists ofCMakeLists.txt
,ibtk/src/CMakeLists.txt
,src/CMakeLists.txt
,tests/CMakeLists.txt
, andcmake/IBAMRConfig.cmake.in
: that's a total of five files for configuring the library, configuring the test suite, managing all dependencies, and installing information about our dependencies.Why autotools instead of CMake?
While moving to CMake is the right choice for us there are still many things which autotools does better:
configure
script will run on essentially any Unix machine from the last 25 years. While we are not that portable due to our C++11 requirement, a major advantage of autotools is that the build system itself will work with any Unix machine.CMake
or any other tool: everything is included in theconfigure
script../configure --help
: we instead rely on information in the manual which may be out of date or difficult to locate for new users.FindPackage()
functions can be brittle or break in weird ways. As a result our detection logic for MPI is much more complex for CMake than autotools.How long will IBAMR support both CMake and autotools?
Beta Was this translation helpful? Give feedback.
All reactions