noloader / cryptopp-cmake

CMake files for Crypto++ project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unknown CMake command "cryptopp_target_compile_properties".

noloader opened this issue · comments

I'm testing on GCC112, which is a ppc64-le machine. It is running:

$ cmake --version
cmake version 2.8.12.2

Running cmake ../ from a build directory results in:

-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- SRC_DIR: /home/cryptopp
CMake Error at CMakeLists.txt:716 (cryptopp_target_compile_properties):
  Unknown CMake command "cryptopp_target_compile_properties".

Why did you surround the cryptopp_target_compile_properties() function with test of cmake version grater then 3.0.0 in commit 3a1ab61?

Just checked in cmake 2.8.12 docs:
https://cmake.org/cmake/help/v2.8.12/cmake.html#command:target_compile_definitions
https://cmake.org/cmake/help/v2.8.12/cmake.html#command:target_compile_options

Why did you surround the cryptopp_target_compile_properties() function with test of cmake version grater then 3.0.0 in commit 3a1ab61

CMake on Solaris does not have the Cmake function command. Using it resulted in an error. The Solaris version is:

solaris:cryptopp$ cmake --version
cmake version 2.8.6

When I went looking for the CMake version that provides it, I came across 3.0.2 as the lower bound. Here are the Cmake docs I used: cmake-commands(7) | function.

If someone is able to contribute a Solaris build machine and has interest in helping, we could discuss with the CMake team and see if having official Solaris binaries is possible ?

Then you wouldn't have to support an old version of CMake and it would streamline the maintenance and development of the cryptopp-cmake build system.

@jcfr,

If someone is able to contribute a Solaris build machine...

I have several at the house for testing on Solaris i86pc. Solaris is not a good OS to put in a VM because of the way it handles virtual memory and swap. You definitely want to run Solaris on real iron.

I provide remote SSH access to the Solaris machines. I need an authorized_keys file with public keys. Send the authorized_keys to noloader, gmail account.

The downside is, I am in a Dynamic DHCP block. Every few months you need to ping me to find out my IP address. With an account you would log-in using:

ssh -p 1523 jcfr@108.15.18.253

If you don't want to use my machine then sign up for an account on OpenCSW. OpenCSW provides Solaris 9 through 11 on x86 and Sparc. See their upstream-maintianers page.

With 2.8.6 we are going cavemen...
This is way too penalizing for the rest of the platforms. 2.8.12 is acceptable but not 2.8.6.
Have you tried to download and build cmake later versions on Solaris using the shell installer of cmake?

BTW, here is the page for all versions docs: https://cmake.org/documentation/ - scroll to the bottom for cavemen versions :-)

With 2.8.6 we are going cavemen... This is way too penalizing for the rest of the platforms.

Well, it is what it is. If you download Solaris 11.3 that is what Sun provides.

Have you tried to download and build cmake later versions on Solaris using the shell installer of cmake?

I tried to use the Cmake installer in the past. It did not work. You can find the details at Building Cmake on AIX does not succeed?

But in the bigger picture we want things to "just work". We don't want thousands of developers each encountering the problem and attempting to fix it. We take the responsibility and do it once for them.

Maybe you can file a bug report with Cmake and ask them to make their system extensible. Then, on old systems that lack a function you want, you just supply it like an Autotools M4 macro.

Solaris build fixed as of commit ed5c3de

Hi @noloader ,

Thanks for volunteering your Solaris machines 👍

The first step would be to setup a dashboard client so that CMake is build and tested associated results are submitted to a public dashboard

The dashboard client would run every night or continuously. Compiling and running all the CMake tests takes only few minutes.

More details are available in this document https://gitlab.kitware.com/cmake/cmake/blob/master/Help/dev/testing.rst

If that sound like a reasonable plan, I will send you my public key by email so that I can help you set this up.

you download Solaris 11.3 that is what Sun provides

Out of curiosity, would it be worth trying to install version of CMake:
https://www.opencsw.org/package/cmake/

@jcfr,

Well, I'm not trying to take on additional work at the moment.

I'll make you an admin on the box and you can do what you want within reason. You are welcomed to test on the box regardless of the Cmake dashboard.

The only things I ask are, don't break the compilers and don't file share from it.

You are welcomed to test on the box

By now, you should have receive an email. Hopefully, we will be able to improve the availability for latest CMake binaries on Solaris.

If you don't want to use my machine then sign up for an account on OpenCSW. OpenCSW provides Solaris 9 through 11 on x86 and Sparc. See their upstream-maintainers page.

In parallel, we will also look into this option.

@jcfr ,

By now, you should have receive an email. Hopefully, we will be able to improve the availability for latest CMake binaries on Solaris.

You should be setup.

You are also free to test your other projects. I don't care if they are free software or not.

Thanks @noloader

This should allow to setup few more dashboard to complement the existing on already building for Solaris 12.3, 12.4 and 12.5. See https://open.cdash.org/index.php?project=CMake&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=Solaris