[opendnssec/SoftHSMv2] 6c8392: CMake Build System Support for SoftHSM

Rickard Bellgrim rickard at opendnssec.org
Wed May 30 20:09:01 CEST 2018


  Branch: refs/heads/develop
  Home:   https://github.com/opendnssec/SoftHSMv2
  Commit: 6c83922ee1dbecdd96947c9c58ca5c89a86b16c7
      https://github.com/opendnssec/SoftHSMv2/commit/6c83922ee1dbecdd96947c9c58ca5c89a86b16c7
  Author: Constantine Grantcharov <cgrantcharov at trustpointinnovation.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    A CMakeLists.txt
    A modules/FindBotan.cmake
    A modules/FindCppUnit.cmake
    A src/CMakeLists.txt
    A src/bin/CMakeLists.txt
    A src/bin/dump/CMakeLists.txt
    A src/bin/keyconv/CMakeLists.txt
    A src/bin/migrate/CMakeLists.txt
    A src/bin/util/CMakeLists.txt
    A src/lib/CMakeLists.txt
    A src/lib/common/CMakeLists.txt
    A src/lib/crypto/CMakeLists.txt
    A src/lib/crypto/test/CMakeLists.txt
    A src/lib/data_mgr/CMakeLists.txt
    A src/lib/data_mgr/test/CMakeLists.txt
    A src/lib/handle_mgr/CMakeLists.txt
    A src/lib/handle_mgr/test/CMakeLists.txt
    A src/lib/object_store/CMakeLists.txt
    A src/lib/object_store/test/CMakeLists.txt
    A src/lib/session_mgr/CMakeLists.txt
    A src/lib/session_mgr/test/CMakeLists.txt
    A src/lib/slot_mgr/CMakeLists.txt
    A src/lib/slot_mgr/test/CMakeLists.txt
    A src/lib/test/CMakeLists.txt

  Log Message:
  -----------
  CMake Build System Support for SoftHSM

Introducing a more modern & parallel build system for compiling SoftHSM.

Key Features:
* finds libraries and header files for OpenSSL, Botan, and CppUnit
* compiles all libraries
* compiles all tests
* integrates tests into CTest for more easier execution

Missing Features:
* currently relies on ./configure to generate config.h
* does not support all m4/acx_*.m4 configurations
* does not support SQLite3
* does not support install / packaging / versioning
* does not support win32

Build Instructions:

1. sh autogen.sh --> (to generate config.h)
2. ./configure --> generates config.h
3. cmake -H. -Bbuild -DBUILD_TESTS=ON
4. make -C build

Running Tests:

1. cd build/
2. ctest -V


  Commit: 10c45f18bd7b87bc4ad07aab49cc66fa0568966b
      https://github.com/opendnssec/SoftHSMv2/commit/10c45f18bd7b87bc4ad07aab49cc66fa0568966b
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    A modules/CompilerOptions.cmake
    A modules/FindSQLite3.cmake
    M src/bin/dump/CMakeLists.txt
    M src/bin/migrate/CMakeLists.txt
    M src/lib/object_store/CMakeLists.txt
    M src/lib/object_store/test/CMakeLists.txt

  Log Message:
  -----------
  Added more compile flags and build options

Features:
* libsqlite3.so and sqlite3.h detection
* abilitity to build softhsm2-migrate binary
* option to build WITH_OBJECTSTORE_BACKEND_DB (currently fails if
./configure is not invoked with same parameters first)
* support for m4/acx_64bit.m4 and m4/acx_visibility.m4
* added rest of ./configure options to cmake


  Commit: e68808cd8f3023b2074df6b09a9bffb70f4088f7
      https://github.com/opendnssec/SoftHSMv2/commit/e68808cd8f3023b2074df6b09a9bffb70f4088f7
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M modules/CompilerOptions.cmake
    A modules/tests/test_openssl_ecc.c
    A modules/tests/test_openssl_fips.c
    A modules/tests/test_openssl_gost.c
    A modules/tests/test_openssl_rfc3394.c
    A modules/tests/test_openssl_rfc5649.c
    M src/lib/CMakeLists.txt

  Log Message:
  -----------
  Compiler Option / config.h generation

- added support for more compiler options
- added ability to compile and test for openssl properties (i.e. mirros
acx_openssl_*.m4 files)
- added ability to generate config.h without help of autotools


  Commit: 0432b1775fcca8a17cb808e13541f89b9e23cf26
      https://github.com/opendnssec/SoftHSMv2/commit/0432b1775fcca8a17cb808e13541f89b9e23cf26
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    A config.h.in.cmake

  Log Message:
  -----------
  Adding missing config.h.in.cmake

- for some reason this file was not picked up by git by default


  Commit: 5d0160b8bdf2f23c494d7997cd3c831e87c190bc
      https://github.com/opendnssec/SoftHSMv2/commit/5d0160b8bdf2f23c494d7997cd3c831e87c190bc
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M config.h.in.cmake
    M modules/CompilerOptions.cmake
    M src/bin/dump/CMakeLists.txt
    M src/bin/keyconv/CMakeLists.txt
    M src/bin/migrate/CMakeLists.txt
    M src/bin/util/CMakeLists.txt
    M src/lib/CMakeLists.txt
    M src/lib/common/CMakeLists.txt
    M src/lib/crypto/CMakeLists.txt
    M src/lib/data_mgr/CMakeLists.txt
    M src/lib/handle_mgr/CMakeLists.txt
    M src/lib/object_store/CMakeLists.txt
    M src/lib/session_mgr/CMakeLists.txt
    M src/lib/slot_mgr/CMakeLists.txt

  Log Message:
  -----------
  Working config.h generation with CMake

- ported most acx_*.m4 files
- generate a config.h file that is almost identical to one generated by
autools
- all libraries builds
- all test pass


  Commit: 4f787a97c321332b8afc53abdb4e35796c4f8a29
      https://github.com/opendnssec/SoftHSMv2/commit/4f787a97c321332b8afc53abdb4e35796c4f8a29
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M modules/CompilerOptions.cmake
    M src/bin/dump/CMakeLists.txt
    M src/bin/keyconv/CMakeLists.txt
    M src/bin/util/CMakeLists.txt
    M src/lib/CMakeLists.txt
    M src/lib/common/CMakeLists.txt

  Log Message:
  -----------
  Install / Packaging support for build artifacts and source code

- added a few missing compiler options
- added support for 'make install' target (equivalent to autotools)
- added packaging support for all build artifacts through 'make package'
target; generates SoftHSM-2.5.0-Linux.tar.gz
- added packaging support for source code through 'make package_source'
target; generates SoftHSM-2.5.0-Source.tar.gz, which is a snapshot of
the source code at time of packaging


  Commit: 2b9f6464fa52e5c9a8bc54428fc1fd1f500b32d4
      https://github.com/opendnssec/SoftHSMv2/commit/2b9f6464fa52e5c9a8bc54428fc1fd1f500b32d4
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M src/lib/test/CMakeLists.txt

  Log Message:
  -----------
  Fixed p11test when executed by CTest test harness

- p11test has dependencies on softhsm2.conf, softhsm2-alt.conf and
requires the tokens/ directory to exist in the folder where it's
executed

- running 'ctest -V' with p11test causes all unit tests to pass


  Commit: 4f1a5dda0232a4edb7add4d19084f34a5a4f29a9
      https://github.com/opendnssec/SoftHSMv2/commit/4f1a5dda0232a4edb7add4d19084f34a5a4f29a9
  Author: Constantine Grantcharov <constantine.grantcharov at gmail.com>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M modules/CompilerOptions.cmake
    M src/lib/object_store/test/CMakeLists.txt
    M src/lib/session_mgr/test/CMakeLists.txt
    M src/lib/slot_mgr/test/CMakeLists.txt
    M src/lib/test/CMakeLists.txt

  Log Message:
  -----------
  sqlite3 backend support

- able to switch between "file" and "db" backends

- able to detect and configure build options to link in libsqlite3 &
associated find header files

- unit tests and p11tests pass with sqlite3 backend


  Commit: b99bfb2306d98cff77cf42eba258cb6c43e599de
      https://github.com/opendnssec/SoftHSMv2/commit/b99bfb2306d98cff77cf42eba258cb6c43e599de
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M modules/CompilerOptions.cmake
    M src/lib/test/CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Fix p11test


  Commit: d47c125f8f69255c36e8925edd6e9ba844b2e22f
      https://github.com/opendnssec/SoftHSMv2/commit/d47c125f8f69255c36e8925edd6e9ba844b2e22f
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M config.h.in.cmake
    M modules/CompilerOptions.cmake
    A modules/tests/test_openssl_ed25519.c
    A modules/tests/test_openssl_ed448.c
    M modules/tests/test_openssl_rfc3394.c
    M modules/tests/test_openssl_rfc5649.c
    M src/lib/crypto/CMakeLists.txt
    M src/lib/crypto/test/CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Add cmake support for EDDSA and fix OpenSSL tests


  Commit: da91238b88eeaa83e2f6a4afd7a8d14b42da2874
      https://github.com/opendnssec/SoftHSMv2/commit/da91238b88eeaa83e2f6a4afd7a8d14b42da2874
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M config.h.in.cmake
    M modules/CompilerOptions.cmake

  Log Message:
  -----------
  Issue #362: Build with different crypto backend


  Commit: 5cb32eddd4041d6d99a310ccf949cd4dd065691b
      https://github.com/opendnssec/SoftHSMv2/commit/5cb32eddd4041d6d99a310ccf949cd4dd065691b
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Fix paths in config.h


  Commit: e3278cc693ad0dfaa75a3fcf63d140c3b135e1a9
      https://github.com/opendnssec/SoftHSMv2/commit/e3278cc693ad0dfaa75a3fcf63d140c3b135e1a9
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M modules/CompilerOptions.cmake
    M modules/FindBotan.cmake
    A modules/tests/test_botan_aes_gcm.cpp
    A modules/tests/test_botan_ecc.cpp
    A modules/tests/test_botan_ed25519.cpp
    A modules/tests/test_botan_gost.cpp
    A modules/tests/test_botan_rawpss.cpp
    A modules/tests/test_botan_rfc5649.cpp
    M src/lib/CMakeLists.txt
    M src/lib/crypto/test/CMakeLists.txt
    M src/lib/data_mgr/test/CMakeLists.txt
    M src/lib/handle_mgr/test/CMakeLists.txt
    M src/lib/object_store/test/CMakeLists.txt
    M src/lib/session_mgr/test/CMakeLists.txt
    M src/lib/slot_mgr/test/CMakeLists.txt
    M src/lib/test/CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Add Botan tests


  Commit: 84c930c24e9b708c90f5a8009fac1cf5c679b4d2
      https://github.com/opendnssec/SoftHSMv2/commit/84c930c24e9b708c90f5a8009fac1cf5c679b4d2
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M modules/CompilerOptions.cmake

  Log Message:
  -----------
  Issue #362: Fix DB tests


  Commit: c45a5606e40f4a9015f756092cb76f9a42b62def
      https://github.com/opendnssec/SoftHSMv2/commit/c45a5606e40f4a9015f756092cb76f9a42b62def
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-04-30 (Mon, 30 Apr 2018)

  Changed paths:
    M src/bin/migrate/CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Install migration tool


  Commit: 53fdca137df874ce8294ee6479755f9329b5fcf3
      https://github.com/opendnssec/SoftHSMv2/commit/53fdca137df874ce8294ee6479755f9329b5fcf3
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-05-01 (Tue, 01 May 2018)

  Changed paths:
    M src/lib/CMakeLists.txt
    M src/lib/common/CMakeLists.txt

  Log Message:
  -----------
  Issue #362: Create dir with correct perm and do not overwrite config


  Commit: 2c3f46cd1123c6e15611658f5ec2ef598c1e3094
      https://github.com/opendnssec/SoftHSMv2/commit/2c3f46cd1123c6e15611658f5ec2ef598c1e3094
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-05-09 (Wed, 09 May 2018)

  Changed paths:
    M CMakeLists.txt
    M modules/CompilerOptions.cmake

  Log Message:
  -----------
  Issue #362: Handle softhsm2.module


  Commit: 63547a047972e6981f8b0c0a421900ef69891967
      https://github.com/opendnssec/SoftHSMv2/commit/63547a047972e6981f8b0c0a421900ef69891967
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-05-30 (Wed, 30 May 2018)

  Changed paths:
    M Makefile.am
    M src/Makefile.am
    M src/bin/Makefile.am
    M src/bin/dump/Makefile.am
    M src/bin/keyconv/Makefile.am
    M src/bin/migrate/Makefile.am
    M src/bin/util/Makefile.am
    M src/lib/Makefile.am
    M src/lib/common/Makefile.am
    M src/lib/crypto/Makefile.am
    M src/lib/crypto/test/Makefile.am
    M src/lib/data_mgr/Makefile.am
    M src/lib/data_mgr/test/Makefile.am
    M src/lib/handle_mgr/Makefile.am
    M src/lib/handle_mgr/test/Makefile.am
    M src/lib/object_store/Makefile.am
    M src/lib/object_store/test/Makefile.am
    M src/lib/session_mgr/Makefile.am
    M src/lib/session_mgr/test/Makefile.am
    M src/lib/slot_mgr/Makefile.am
    M src/lib/slot_mgr/test/Makefile.am
    M src/lib/test/Makefile.am

  Log Message:
  -----------
  Issue #362: Include CMake files in make-dist


  Commit: 71c90d369a0165e84a1d298f00f5cd1548a58870
      https://github.com/opendnssec/SoftHSMv2/commit/71c90d369a0165e84a1d298f00f5cd1548a58870
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-05-30 (Wed, 30 May 2018)

  Changed paths:
    A CMAKE-NOTES.md
    M Makefile.am

  Log Message:
  -----------
  Issue #362: Add CMAKE-NOTES.md


  Commit: f82d4eda55401a4d23e647d85a00a8b0c8ccf712
      https://github.com/opendnssec/SoftHSMv2/commit/f82d4eda55401a4d23e647d85a00a8b0c8ccf712
  Author: Rickard Bellgrim <rickard at opendnssec.org>
  Date:   2018-05-30 (Wed, 30 May 2018)

  Changed paths:
    A CMAKE-NOTES.md
    A CMakeLists.txt
    M Makefile.am
    A config.h.in.cmake
    A modules/CompilerOptions.cmake
    A modules/FindBotan.cmake
    A modules/FindCppUnit.cmake
    A modules/FindSQLite3.cmake
    A modules/tests/test_botan_aes_gcm.cpp
    A modules/tests/test_botan_ecc.cpp
    A modules/tests/test_botan_ed25519.cpp
    A modules/tests/test_botan_gost.cpp
    A modules/tests/test_botan_rawpss.cpp
    A modules/tests/test_botan_rfc5649.cpp
    A modules/tests/test_openssl_ecc.c
    A modules/tests/test_openssl_ed25519.c
    A modules/tests/test_openssl_ed448.c
    A modules/tests/test_openssl_fips.c
    A modules/tests/test_openssl_gost.c
    A modules/tests/test_openssl_rfc3394.c
    A modules/tests/test_openssl_rfc5649.c
    A src/CMakeLists.txt
    M src/Makefile.am
    A src/bin/CMakeLists.txt
    M src/bin/Makefile.am
    A src/bin/dump/CMakeLists.txt
    M src/bin/dump/Makefile.am
    A src/bin/keyconv/CMakeLists.txt
    M src/bin/keyconv/Makefile.am
    A src/bin/migrate/CMakeLists.txt
    M src/bin/migrate/Makefile.am
    A src/bin/util/CMakeLists.txt
    M src/bin/util/Makefile.am
    A src/lib/CMakeLists.txt
    M src/lib/Makefile.am
    A src/lib/common/CMakeLists.txt
    M src/lib/common/Makefile.am
    A src/lib/crypto/CMakeLists.txt
    M src/lib/crypto/Makefile.am
    A src/lib/crypto/test/CMakeLists.txt
    M src/lib/crypto/test/Makefile.am
    A src/lib/data_mgr/CMakeLists.txt
    M src/lib/data_mgr/Makefile.am
    A src/lib/data_mgr/test/CMakeLists.txt
    M src/lib/data_mgr/test/Makefile.am
    A src/lib/handle_mgr/CMakeLists.txt
    M src/lib/handle_mgr/Makefile.am
    A src/lib/handle_mgr/test/CMakeLists.txt
    M src/lib/handle_mgr/test/Makefile.am
    A src/lib/object_store/CMakeLists.txt
    M src/lib/object_store/Makefile.am
    A src/lib/object_store/test/CMakeLists.txt
    M src/lib/object_store/test/Makefile.am
    A src/lib/session_mgr/CMakeLists.txt
    M src/lib/session_mgr/Makefile.am
    A src/lib/session_mgr/test/CMakeLists.txt
    M src/lib/session_mgr/test/Makefile.am
    A src/lib/slot_mgr/CMakeLists.txt
    M src/lib/slot_mgr/Makefile.am
    A src/lib/slot_mgr/test/CMakeLists.txt
    M src/lib/slot_mgr/test/Makefile.am
    A src/lib/test/CMakeLists.txt
    M src/lib/test/Makefile.am

  Log Message:
  -----------
  Merge pull request #362 from conz27/cmake_support

CMake Build System Support for SoftHSM


Compare: https://github.com/opendnssec/SoftHSMv2/compare/94f4801d1d67...f82d4eda5540
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the Opendnssec-commits mailing list