JPenuchot / ctbench

Compiler-assisted variable size benchmarking for the study of C++ metaprogram compile times.

Home Page:https://jpenuchot.github.io/ctbench-docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cmake too new with conflicting requirements.

r-barnes opened this issue · comments

I'm on Ubuntu 22.04, which is not that old, and finding that cmake 3.22.1 is too old to meet your CMakeLists.txt requirements. Can these be relaxed?

Furthermore, CMakeLists.txt requires 3.25 while CMakePresets.json requires 3.23. Can you make these consistent?

openjournals/joss-reviews#5165

commented

Sadly the CMake 3.25 requirement can't be relaxed. Generator expressions are the only consistent way to set the CXX_COMPILER_LAUNCHER property properly that is essential for ctbench to function properly, and CMake 3.25 is the first version to allow that.

I know this is far from being a satisfying solution, but as a temporary fix CMake 3.25 or newer can be installed locally using Spack. Please let me know if you are willing to try this out. In the meantime I'll look for a better solution.

I can probably get cmake 3.25 installed, but I'm not sure if that level of effort is commensurate with your expected audience. If so, you're fine. If not, then having me do it for the review isn't really helping making your software accessible.

Can you sort out the conflicting requirements, though? cmake 3.23 versus 3.25 in the same project seems odd.

commented

I can probably get cmake 3.25 installed, but I'm not sure if that level of effort is commensurate with your expected audience. If so, you're fine. If not, then having me do it for the review isn't really helping making your software accessible.

The next release of Ubuntu will come next month with CMake 3.25, so I will keep the CMake 3.25 requirement. The Ubuntu CI will target this release and I'll be working on the other issues in the meantime.

I tried several ways to handle it in the past, and using the generator expression in this context made the handling of the compiler launcher location much easier and more consistent.

Can you sort out the conflicting requirements, though? cmake 3.23 versus 3.25 in the same project seems odd.

Sure! I already pushed that change in the ubuntu-compatibility branch which is where I'm staging changes related to your issues. I will close this issue when Ubuntu 23.04 gets released or when ubuntu-compatibility gets merged, but you can close it now if you feel like the issue is solved.

commented

ubuntu-compatibility was merged, CMake 3.25 is the minimum requirement from now on as it can't really be worked around.