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

Update minimum CMake version from 2.8.10 #832

Closed
markdewing opened this issue May 3, 2018 · 5 comments
Closed

Update minimum CMake version from 2.8.10 #832

markdewing opened this issue May 3, 2018 · 5 comments

Comments

@markdewing
Copy link
Contributor

There is a tension with the minimum CMake version required - supporting older versions makes it easier for users, but moving to newer versions makes life easier for developers.
This issue is to gather some information on what versions would help developers, and which versions are easily accessible on various platforms.

The current minimum required is 2.8.10, with some additional unit tests enabled for versions > 2.8.11

CMake 3.1 introduces the CMAKE_CXX_STANDARD and CMAKE_CXX_STANDARD_REQUIRED, which should set the flags on the compilers properly, and the existing c++11 flag checking could be removed.

A more modern approach to CMake organization uses target_* commands. The target_source command was added in CMake 3.1. I don't know if there are subsequent additions in later CMake versions to better support this style of organization.

@prckent
Copy link
Contributor

prckent commented May 3, 2018

Someone using creaky machines will have to admit their minimum (maximum?) CMake version. CMake is generally trivial to install, so I am happy to move to 3.1 or more recent. As with (say) our QE support it would be good to define a policy if possible.

@prckent
Copy link
Contributor

prckent commented May 4, 2018

No replies yet. Seems like it would be safe to require cmake 3. Package managers have it and the HPC centers have it....

Some of the minimum version discussion had around the miniapp (3.4+) should be had here.

@PDoakORNL
Copy link
Contributor

It looks like for set(CXX_STANDARD 11) support for intel, gcc, and clang cmake >=3.6.0 is required.

@prckent
Copy link
Contributor

prckent commented May 5, 2018

We have been using 3.6.3 on oxygen since 9/2016. Unless anyone chirps up by the 9th, when this issue will have been up for a week, lets make 3.6.0 the minimum version.

@ye-luo
Copy link
Contributor

ye-luo commented May 5, 2018

ALCF Mira has 3.8.1 and Theta has 3.9.1.

markdewing added a commit to markdewing/qmcpack that referenced this issue Oct 19, 2018
Remove the unneeded cmake version tests.
Switch to the cmake mechanism for specifying the C++11 standard
3.6.0 is the first version that gets the C++11 flags correct for the Intel compiler

Addresses QMCPACK#832
@ye-luo ye-luo closed this as completed Oct 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants