jasper-software / jasper

Official Repository for the JasPer Image Coding Toolkit
http://www.ece.uvic.ca/~mdadams/jasper
Other
223 stars 101 forks source link

CMake 3.20 or higher is required. You are running version 3.16.3 #375

Closed bobfriesenhahn closed 6 months ago

bobfriesenhahn commented 6 months ago

JasPer has now elevated its CMake version requirement so that it can't be built on stable and still supported Linux LTS editions using the latest CMake provided by the OS. For example, Ubuntu 20.04 LTS provides CMake 3.16.3. Even the "focal-updates" package repository does not provide a newer version.

What feature provided by 3.20 is so immensely valuable that it warrants making it very difficult for a popular still-supported Linux distribution to compile the software?

See https://repology.org/project/cmake/versions for the CMake versions provided by various distributions.

mdadams commented 6 months ago

The reason for the use of version 3.20 of CMake is documented in the top-level CMakeLists.txt file. This version was needed in order to fix the major problem of a growing number of bogus bug reports caused by users shooting themselves in the foot when building JasPer with an in-source build. The cmake_path functionality was used to more reliably detect this problem and prevent self-inflicted foot gun wounds (as well as avoid wasting developer time on bogus bug reports). CMake 3.20 was released about 3 years ago. Ubuntu 20.04 is quite old now. In the worst case, the binaries can always be downloaded from the CMake website. CMake has a Ubuntu repository with a prebuilt CMake package. You can probably get away with an earlier CMake version if you disable the in-source build checking. I am not going to do this, however, due to the issues mentioned above.