PeterHuewe / tpm-emulator

The famous tpm-emulator by Mario Strasser, previously hosted on BerliOs. It supports TPM1.2 only!
GNU General Public License v2.0
177 stars 75 forks source link

cmake improvements #37

Closed alonbl closed 6 years ago

alonbl commented 6 years ago

Allow overriding install directories Do not build MTM unless requested Allow disable device build

PeterHuewe commented 6 years ago

Looks good to me - merged

alonbl commented 6 years ago

which version of cmake do you use?

PeterHuewe commented 6 years ago

$ cmake --version cmake version 3.9.6 on gentoo

cat /etc/gentoo-release Gentoo Base System release 2.4.1

$ eix cmake
* dev-ros/cmake_modules
     Verfügbare Versionen:   ~0.4.0 ~0.4.1 **9999 {test PYTHON_TARGETS="python2_7"}
     Startseite:             https://wiki.ros.org/cmake_modules https://github.com/ros/cmake_modules
     Beschreibung:           CMake Modules which are not distributed with CMake but are commonly used by ROS packages

[I] dev-util/cmake
     Verfügbare Versionen:   3.9.6 ~3.10.3 ~3.11.4-r1 ~3.12.0 {doc emacs ncurses qt5 server system-jsoncpp test}
     Installierte Versionen: 3.9.6(17:35:49 25.03.2018)(ncurses -doc -emacs -qt5 -server -system-jsoncpp -test)
     Startseite:             https://cmake.org/
     Beschreibung:           Cross platform Make

* dev-util/cmake-fedora
     Verfügbare Versionen:   2.7.1^t
     Startseite:             https://pagure.io/cmake-fedora
     Beschreibung:           Provides cmake helper macros and targets for linux, especially fedora developers

* dev-util/icmake
     Verfügbare Versionen:   ~9.02.07 ~9.02.08
     Startseite:             http://fbb-git.gitlab.io/icmake/ https://gitlab.com/fbb-git/icmake
     Beschreibung:           Hybrid between a make utility and a shell scripting language

* dev-util/ignition-cmake
     Verfügbare Versionen:   ~0.2.0 ~0.4.0 {ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Startseite:             https://bitbucket.org/ignitionrobotics/ign-cmake
     Beschreibung:           CMake modules to be used by the Ignition projects.

[I] kde-frameworks/extra-cmake-modules
     Verfügbare Versionen:   (5) 5.46.0(5/5.46) ~5.48.0(5/5.48)
       {doc test}
     Installierte Versionen: 5.46.0(5)(23:28:52 02.08.2018)(-doc -test)
     Startseite:             https://cgit.kde.org/extra-cmake-modules.git
     Beschreibung:           Extra modules and scripts for CMake

* x11-misc/gccmakedep
     Verfügbare Versionen:   1.0.3 ~1.0.3-r1 **9999
     Startseite:             https://www.x.org/wiki/ https://cgit.freedesktop.org/
     Beschreibung:           create dependencies in makefiles using 'gcc -M'
alonbl commented 6 years ago

same as I, what is the output of:

$ cmake -LA .. | grep CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBDIR:PATH=lib64
PeterHuewe commented 6 years ago
/fast/tpm-emulator $ cmake -LA .. | grep CMAKE_INSTALL_LIBDIR
CMake Error: The source directory "/fast" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
$ cd build
/fast/tpm-emulator/build $ cmake -LA .. | grep CMAKE_INSTALL_LIBDIR
CMake Error at CMakeLists.txt:19 (install):
  install TARGETS given no LIBRARY DESTINATION for shared library target
  "tddl".

CMake Error at CMakeLists.txt:20 (install):
  install TARGETS given no ARCHIVE DESTINATION for static library target
  "tddl_static".

CMake Error at CMakeLists.txt:21 (install):
  install FILES given no DESTINATION!
PeterHuewe commented 6 years ago

sorry, please ignore - I had to delete the cmake cache first.

alonbl commented 6 years ago

I can reproduce this if I remove the following from CMakeLists.txt:

include(GNUInstallDirs)

This is workaround:

cmake -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_INSTALL_BINDIR=bin -DCMAKE_INSTALL_INCLUDEDIR=include ..

Need to understand why it is not included for you, searching.

alonbl commented 6 years ago

oh... everything is ok?

PeterHuewe commented 6 years ago

Yes - everything okay.