diff options
| -rw-r--r-- | CMakeLists.txt | 14 | ||||
| -rw-r--r-- | cmake/GNUInstallDirs.cmake | 182 | ||||
| -rw-r--r-- | hardinfo.desktop.cmake | 5 | 
3 files changed, 190 insertions, 11 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e160c14..b6b272e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,12 +3,9 @@ cmake_minimum_required(VERSION 2.6)  set(HARDINFO_VERSION "0.5.2pre") +SET( CMAKE_MODULE_PATH  "${CMAKE_CURRENT_SOURCE_DIR}/cmake" )  include(GNUInstallDirs) -if(${CMAKE_BUILD_TYPE} MATCHES "Debug") -	set(HARDINFO_DEBUG 1) -endif() -  if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")  	set(HARDINFO_OS "linux")  else() @@ -189,21 +186,20 @@ install(TARGETS hardinfo ${HARDINFO_MODULES}  	PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE  )  install(FILES ${CMAKE_BINARY_DIR}/hardinfo.desktop -	DESTINATION share/applications +	DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications  	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ  )  install(FILES ${HARDINFO_RESOURCES} -	DESTINATION share/hardinfo +	DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/hardinfo  	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ  )  install(DIRECTORY pixmaps -	DESTINATION share/hardinfo +	DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/hardinfo  	PATTERN "*.{png,svg}"  	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ  )  install(DIRECTORY doc -	DESTINATION share/hardinfo +	DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/hardinfo  	PATTERN "*.{hlp,png}"  	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ  ) - diff --git a/cmake/GNUInstallDirs.cmake b/cmake/GNUInstallDirs.cmake new file mode 100644 index 00000000..a114dcb2 --- /dev/null +++ b/cmake/GNUInstallDirs.cmake @@ -0,0 +1,182 @@ +# - Define GNU standard installation directories +# Provides install directory variables as defined for GNU software: +#  http://www.gnu.org/prep/standards/html_node/Directory-Variables.html +# Inclusion of this module defines the following variables: +#  CMAKE_INSTALL_<dir>      - destination for files of a given type +#  CMAKE_INSTALL_FULL_<dir> - corresponding absolute path +# where <dir> is one of: +#  BINDIR           - user executables (bin) +#  SBINDIR          - system admin executables (sbin) +#  LIBEXECDIR       - program executables (libexec) +#  SYSCONFDIR       - read-only single-machine data (etc) +#  SHAREDSTATEDIR   - modifiable architecture-independent data (com) +#  LOCALSTATEDIR    - modifiable single-machine data (var) +#  LIBDIR           - object code libraries (lib or lib64) +#  INCLUDEDIR       - C header files (include) +#  OLDINCLUDEDIR    - C header files for non-gcc (/usr/include) +#  DATAROOTDIR      - read-only architecture-independent data root (share) +#  DATADIR          - read-only architecture-independent data (DATAROOTDIR) +#  INFODIR          - info documentation (DATAROOTDIR/info) +#  LOCALEDIR        - locale-dependent data (DATAROOTDIR/locale) +#  MANDIR           - man documentation (DATAROOTDIR/man) +#  DOCDIR           - documentation root (DATAROOTDIR/doc/PROJECT_NAME) +# Each CMAKE_INSTALL_<dir> value may be passed to the DESTINATION options of +# install() commands for the corresponding file type.  If the includer does +# not define a value the above-shown default will be used and the value will +# appear in the cache for editing by the user. +# Each CMAKE_INSTALL_FULL_<dir> value contains an absolute path constructed +# from the corresponding destination by prepending (if necessary) the value +# of CMAKE_INSTALL_PREFIX. + +#============================================================================= +# Copyright 2011 Nikita Krupen'ko <krnekit@gmail.com> +# Copyright 2011 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +#  License text for the above reference.) + +# Installation directories +# +if(NOT DEFINED CMAKE_INSTALL_BINDIR) +  set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SBINDIR) +  set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR) +  set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) +  set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR) +  set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR) +  set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_LIBDIR) +  set(_LIBDIR_DEFAULT "lib") +  # Override this default 'lib' with 'lib64' iff: +  #  - we are on Linux system but NOT cross-compiling +  #  - we are NOT on debian +  #  - we are on a 64 bits system +  # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf +  # Note that the future of multi-arch handling may be even +  # more complicated than that: http://wiki.debian.org/Multiarch +  if(CMAKE_SYSTEM_NAME MATCHES "Linux" +      AND NOT CMAKE_CROSSCOMPILING +      AND NOT EXISTS "/etc/debian_version") +    if(NOT DEFINED CMAKE_SIZEOF_VOID_P) +      message(AUTHOR_WARNING +        "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. " +        "Please enable at least one language before including GNUInstallDirs.") +    else() +      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +        set(_LIBDIR_DEFAULT "lib64") +      endif() +    endif() +  endif() +  set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})") +endif() + +if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR) +  set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR) +  set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)") +endif() + +if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR) +  set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)") +endif() + +#----------------------------------------------------------------------------- +# Values whose defaults are relative to DATAROOTDIR.  Store empty values in +# the cache and store the defaults in local variables if the cache values are +# not set explicitly.  This auto-updates the defaults as DATAROOTDIR changes. + +if(NOT CMAKE_INSTALL_DATADIR) +  set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)") +  set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}") +endif() + +if(NOT CMAKE_INSTALL_INFODIR) +  set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)") +  set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info") +endif() + +if(NOT CMAKE_INSTALL_LOCALEDIR) +  set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)") +  set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale") +endif() + +if(NOT CMAKE_INSTALL_MANDIR) +  set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)") +  set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man") +endif() + +if(NOT CMAKE_INSTALL_DOCDIR) +  set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)") +  set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}") +endif() + +#----------------------------------------------------------------------------- + +mark_as_advanced( +  CMAKE_INSTALL_BINDIR +  CMAKE_INSTALL_SBINDIR +  CMAKE_INSTALL_LIBEXECDIR +  CMAKE_INSTALL_SYSCONFDIR +  CMAKE_INSTALL_SHAREDSTATEDIR +  CMAKE_INSTALL_LOCALSTATEDIR +  CMAKE_INSTALL_LIBDIR +  CMAKE_INSTALL_INCLUDEDIR +  CMAKE_INSTALL_OLDINCLUDEDIR +  CMAKE_INSTALL_DATAROOTDIR +  CMAKE_INSTALL_DATADIR +  CMAKE_INSTALL_INFODIR +  CMAKE_INSTALL_LOCALEDIR +  CMAKE_INSTALL_MANDIR +  CMAKE_INSTALL_DOCDIR +  ) + +# Result directories +# +foreach(dir +    BINDIR +    SBINDIR +    LIBEXECDIR +    SYSCONFDIR +    SHAREDSTATEDIR +    LOCALSTATEDIR +    LIBDIR +    INCLUDEDIR +    OLDINCLUDEDIR +    DATAROOTDIR +    DATADIR +    INFODIR +    LOCALEDIR +    MANDIR +    DOCDIR +    ) +  if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}}) +    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}") +  else() +    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}") +  endif() +endforeach() diff --git a/hardinfo.desktop.cmake b/hardinfo.desktop.cmake index 2732910a..bf73dd12 100644 --- a/hardinfo.desktop.cmake +++ b/hardinfo.desktop.cmake @@ -1,8 +1,9 @@  [Desktop Entry]  Name=System Profiler and Benchmark  Name[pt_BR]=Informações e Testes do Sistema -Exec=@CMAKE_INSTALL_PREFIX@/bin/hardinfo -Icon=@CMAKE_INSTALL_PREFIX@/share/hardinfo/pixmaps/logo.png +Name[es]=Informacion y Rendimiento del Sistema +Exec=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/hardinfo +Icon=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_DATAROOTDIR@/hardinfo/pixmaps/logo.png  Terminal=false  Type=Application  StartupNotify=true | 
