Skip to content
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

cmake build gcc #4

Closed
GreenGary opened this issue Mar 30, 2020 · 2 comments
Closed

cmake build gcc #4

GreenGary opened this issue Mar 30, 2020 · 2 comments
Assignees

Comments

@GreenGary
Copy link
Collaborator

GreenGary commented Mar 30, 2020

I have seen the cmake branch here, which started in 2015 and which is based on cmake 2.x (as far as I have seen). With this issue, I want to push for a sound, maintained cmake build.

I would like to see (and implement) the following:

  • cmake build using cmake >= 3.10 (e.g. using target_include_directories instead of include_directories)
  • drop in replacement for current autoconf/configure process, remove dependencies to autoconf intermediate artifacts (config.h.in-cmake)
  • setup cmake build process to be platform neutral (allow for future MSVC build)
  • beside make, ninja should be a supported generator

Remarks:

  • Centos 7 ships with cmake 2.8, and installing cmake 3.x via RPM caused me some headache; but setting up cmake from source code works perfectly (in my docker image) - so this should not be an issue.
  • FIND_PACKAGE(LAPACK) was not working, if LAPACK had been installed from source using configure/make/make install. It turned out to be a problem of case -> FIND_PACKAGE(lapack) works.
@friedrichatgc
Copy link
Member

The current cmake branch is fully outdated. We may tag the current cmake branch and then reuse this branch name.

I would also propose cmake >=3. The docker files for the build system already use cmake3 to build some dependencies. In centos7 just install "yum install epel-release" then "yum install cmake3" and than just use "cmake3" being version 3.14.7.

For the transition phase to cmake it would be great when cmake and autotools can be used alternatively in the cmake branch. This way we can still check the cmake branch using the CI on www.mbsim-env.de without adaptions on the CI. If finished we may switch the CI to use the cmake build. config.h should be replaced, if possible, even for the autotools build.

Ninja as the only generator for cmake would also be fine for me.

@rolandzander
Copy link
Contributor

rolandzander commented Mar 31, 2020

As communicated, the current cmake branch is not fully outdated (any more) since commit
ed36a00#diff-af3b638bc2a3e6c650974192a53c7291
Tag should be added to the commit right before.

The cmake branch provides a cmake based build being functional on current Debian/Ubuntu systems and at least needs addition of the MSVC part. By now, ninja is not tested by my. The build provides both cmake as well as pkgconfig package information for interfacing with the build result.

By now, the branch should provide a good starting point for the proposed developments but needs clean-ups.

@GreenGary GreenGary self-assigned this Apr 18, 2020
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

No branches or pull requests

3 participants