diff options
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CPackComponentsForAll/CMakeLists.txt | 11 | ||||
-rw-r--r-- | Tests/CPackComponentsForAll/SystemSpecificInformations.cmake | 164 |
2 files changed, 3 insertions, 172 deletions
diff --git a/Tests/CPackComponentsForAll/CMakeLists.txt b/Tests/CPackComponentsForAll/CMakeLists.txt index ce12b3b..5449d09 100644 --- a/Tests/CPackComponentsForAll/CMakeLists.txt +++ b/Tests/CPackComponentsForAll/CMakeLists.txt @@ -10,13 +10,8 @@ cmake_minimum_required(VERSION 2.8.3.20101130 FATAL_ERROR) project(CPackComponentsForAll) -set(LIBDEST "lib") -include(${CMAKE_SOURCE_DIR}/SystemSpecificInformations.cmake) -if(DISTRO_ID MATCHES "SUSE") - if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) - set(LIBDEST "lib64") - endif("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) -endif(DISTRO_ID MATCHES "SUSE") +# Use GNUInstallDirs in order to enforce lib64 if needed +include(GNUInstallDirs) # Create the mylib library add_library(mylib mylib.cpp) @@ -35,7 +30,7 @@ target_link_libraries(mylibapp2 mylib) # be used to create the installation components. install(TARGETS mylib ARCHIVE - DESTINATION ${LIBDEST} + DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) install(TARGETS mylibapp RUNTIME diff --git a/Tests/CPackComponentsForAll/SystemSpecificInformations.cmake b/Tests/CPackComponentsForAll/SystemSpecificInformations.cmake deleted file mode 100644 index 8d11400..0000000 --- a/Tests/CPackComponentsForAll/SystemSpecificInformations.cmake +++ /dev/null @@ -1,164 +0,0 @@ - -# define a set of string with may-be useful readable name -# this file is meant to be included in a CMakeLists.txt -# not as a standalone CMake script -set(SPECIFIC_COMPILER_NAME "") -set(SPECIFIC_SYSTEM_VERSION_NAME "") -set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "") - -# In the WIN32 case try to guess a "readable system name" -if(WIN32) - set(SPECIFIC_SYSTEM_PREFERED_PACKAGE "NSIS") - # information taken from - # http://www.codeguru.com/cpp/w-p/system/systeminformation/article.php/c8973/ - # Win9x series - if(CMAKE_SYSTEM_VERSION MATCHES "4.0") - set(SPECIFIC_SYSTEM_VERSION_NAME "Win95") - endif(CMAKE_SYSTEM_VERSION MATCHES "4.0") - if(CMAKE_SYSTEM_VERSION MATCHES "4.10") - set(SPECIFIC_SYSTEM_VERSION_NAME "Win98") - endif(CMAKE_SYSTEM_VERSION MATCHES "4.10") - if(CMAKE_SYSTEM_VERSION MATCHES "4.90") - set(SPECIFIC_SYSTEM_VERSION_NAME "WinME") - endif(CMAKE_SYSTEM_VERSION MATCHES "4.90") - - # WinNTyyy series - if(CMAKE_SYSTEM_VERSION MATCHES "3.0") - set(SPECIFIC_SYSTEM_VERSION_NAME "WinNT351") - endif(CMAKE_SYSTEM_VERSION MATCHES "3.0") - if(CMAKE_SYSTEM_VERSION MATCHES "4.1") - set(SPECIFIC_SYSTEM_VERSION_NAME "WinNT4") - endif(CMAKE_SYSTEM_VERSION MATCHES "4.1") - - # Win2000/XP series - if(CMAKE_SYSTEM_VERSION MATCHES "5.0") - set(SPECIFIC_SYSTEM_VERSION_NAME "Win2000") - endif(CMAKE_SYSTEM_VERSION MATCHES "5.0") - if(CMAKE_SYSTEM_VERSION MATCHES "5.1") - set(SPECIFIC_SYSTEM_VERSION_NAME "WinXP") - endif(CMAKE_SYSTEM_VERSION MATCHES "5.1") - if(CMAKE_SYSTEM_VERSION MATCHES "5.2") - set(SPECIFIC_SYSTEM_VERSION_NAME "Win2003") - endif(CMAKE_SYSTEM_VERSION MATCHES "5.2") - - # WinVista/7 series - if(CMAKE_SYSTEM_VERSION MATCHES "6.0") - set(SPECIFIC_SYSTEM_VERSION_NAME "WinVISTA") - endif(CMAKE_SYSTEM_VERSION MATCHES "6.0") - if(CMAKE_SYSTEM_VERSION MATCHES "6.1") - set(SPECIFIC_SYSTEM_VERSION_NAME "Win7") - endif(CMAKE_SYSTEM_VERSION MATCHES "6.1") - - # Compilers - # taken from http://predef.sourceforge.net/precomp.html#sec34 - if(MSVC) - set(SPECIFIC_COMPILER_NAME "MSVC-Unknown-${MSVC_VERSION}") - if(MSVC_VERSION EQUAL 1200) - set(SPECIFIC_COMPILER_NAME "MSVC-6.0") - endif(MSVC_VERSION EQUAL 1200) - if(MSVC_VERSION EQUAL 1300) - set(SPECIFIC_COMPILER_NAME "MSVC-7.0") - endif(MSVC_VERSION EQUAL 1300) - if(MSVC_VERSION EQUAL 1310) - set(SPECIFIC_COMPILER_NAME "MSVC-7.1-2003") #Visual Studio 2003 - endif(MSVC_VERSION EQUAL 1310) - if(MSVC_VERSION EQUAL 1400) - set(SPECIFIC_COMPILER_NAME "MSVC-8.0-2005") #Visual Studio 2005 - endif(MSVC_VERSION EQUAL 1400) - if(MSVC_VERSION EQUAL 1500) - set(SPECIFIC_COMPILER_NAME "MSVC-9.0-2008") #Visual Studio 2008 - endif(MSVC_VERSION EQUAL 1500) - if(MSVC_VERSION EQUAL 1600) - set(SPECIFIC_COMPILER_NAME "MSVC-10.0-2010") #Visual Studio 2010 - endif(MSVC_VERSION EQUAL 1600) - endif(MSVC) - if(MINGW) - set(SPECIFIC_COMPILER_NAME "MinGW") - endif(MINGW) - if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - set(SPECIFIC_SYSTEM_VERSION_NAME "${SPECIFIC_SYSTEM_VERSION_NAME}-x86_64") - endif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") -endif(WIN32) - -# In the Linux case try to guess the distro name/type -# using either lsb_release program or fallback -# to the content of the /etc/issue file -if(UNIX) - if(CMAKE_SYSTEM_NAME MATCHES "Linux") - set(SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}") - set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "TGZ") - find_program(LSB_RELEASE_EXECUTABLE lsb_release) - if(LSB_RELEASE_EXECUTABLE) - execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -i - OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REGEX MATCH "Distributor ID:(.*)" DISTRO_ID ${_TMP_LSB_RELEASE_OUTPUT}) - string(STRIP "${CMAKE_MATCH_1}" DISTRO_ID) - # replace potential space with underscore - string(REPLACE " " "_" DISTRO_ID "${DISTRO_ID}") - execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -r - OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REGEX MATCH "Release:(.*)" DISTRO_RELEASE ${_TMP_LSB_RELEASE_OUTPUT}) - string(STRIP "${CMAKE_MATCH_1}" DISTRO_RELEASE) - execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -c - OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REGEX MATCH "Codename:(.*)" DISTRO_CODENAME ${_TMP_LSB_RELEASE_OUTPUT}) - string(STRIP "${CMAKE_MATCH_1}" DISTRO_CODENAME) - elseif (EXISTS "/etc/issue") - set(LINUX_NAME "") - file(READ "/etc/issue" LINUX_ISSUE) - # Fedora case - if(LINUX_ISSUE MATCHES "Fedora") - string(REGEX MATCH "release ([0-9]+)" FEDORA "${LINUX_ISSUE}") - set(DISTRO_ID "Fedora") - set(DISTRO_RELEASE "${CMAKE_MATCH_1}") - # FIXME can we find that in /etc/issue - set(DISTRO_CODENAME "") - endif(LINUX_ISSUE MATCHES "Fedora") - # Ubuntu case - if(LINUX_ISSUE MATCHES "Ubuntu") - string(REGEX MATCH "buntu ([0-9]+\\.[0-9]+)" UBUNTU "${LINUX_ISSUE}") - set(DISTRO_ID "Ubuntu") - set(DISTRO_RELEASE "${CMAKE_MATCH_1}") - # FIXME can we find that in /etc/issue - set(DISTRO_CODENAME "") - endif(LINUX_ISSUE MATCHES "Ubuntu") - # Debian case - if(LINUX_ISSUE MATCHES "Debian") - string(REGEX MATCH "Debian .*ux ([0-9]+\\.[0-9]+)" - DEBIAN "${LINUX_ISSUE}") - set(DISTRO_ID "Debian") - set(DISTRO_RELEASE "${CMAKE_MATCH_1}") - set(DISTRO_CODENAME "") - endif(LINUX_ISSUE MATCHES "Debian") - # Open SuSE case - if(LINUX_ISSUE MATCHES "SUSE") - string(REGEX MATCH "SUSE ([0-9]+\\.[0-9]+)" SUSE "${LINUX_ISSUE}") - set(DISTRO_ID "SUSE") - set(DISTRO_RELEASE "${CMAKE_MATCH_1}") - set(DISTRO_CODENAME "") - endif(LINUX_ISSUE MATCHES "SUSE") - # Mandriva case - # TODO - endif(LSB_RELEASE_EXECUTABLE) - # Now mangle some names - set(LINUX_NAME "${DISTRO_ID}_${DISTRO_RELEASE}") - if(DISTRO_ID MATCHES "Fedora|Mandriva|SUSE|OpenSUSE") - set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM") - endif(DISTRO_ID MATCHES "Fedora|Mandriva|SUSE|OpenSUSE") - if(DISTRO_ID MATCHES "Debian|Ubuntu") - set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB") - endif(DISTRO_ID MATCHES "Debian|Ubuntu") - if(LINUX_NAME) - set(SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}-${LINUX_NAME}") - endif(LINUX_NAME) - endif(CMAKE_SYSTEM_NAME MATCHES "Linux") - set(SPECIFIC_SYSTEM_VERSION_NAME - "${SPECIFIC_SYSTEM_VERSION_NAME}-${CMAKE_SYSTEM_PROCESSOR}") - set(SPECIFIC_COMPILER_NAME "") -endif(UNIX) |