diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/CMakeLists.txt | 4 | ||||
-rw-r--r-- | host/Modules/UHDPackage.cmake | 35 |
2 files changed, 22 insertions, 17 deletions
diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 8516da401..db100129f 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -33,6 +33,10 @@ INCLUDE(UHDPackage) #setup cpack ######################################################################## # Install Dirs ######################################################################## +#when the library suffix should be 64 (applies to redhat linux family) +IF(NOT DEFINED LIB_SUFFIX AND REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") + SET(LIB_SUFFIX 64) +ENDIF() SET(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") SET(RUNTIME_DIR bin) SET(LIBRARY_DIR lib${LIB_SUFFIX}) diff --git a/host/Modules/UHDPackage.cmake b/host/Modules/UHDPackage.cmake index 1bae55b4c..ef1a82c9a 100644 --- a/host/Modules/UHDPackage.cmake +++ b/host/Modules/UHDPackage.cmake @@ -19,6 +19,17 @@ INCLUDE(UHDVersion) #sets version information ######################################################################## +# Setup additional defines for OS types +######################################################################## +IF(UNIX AND EXISTS "/etc/debian_version") + SET(DEBIAN TRUE) +ENDIF() + +IF(UNIX AND EXISTS "/etc/redhat-release") + SET(REDHAT TRUE) +ENDIF() + +######################################################################## # Setup package file name ######################################################################## IF(UHD_RELEASE_MODE) @@ -28,41 +39,31 @@ IF(UHD_RELEASE_MODE) SET(CPACK_GENERATOR PackageMaker) ELSEIF(WIN32) SET(CPACK_GENERATOR NSIS) - ELSEIF(UNIX AND EXISTS "/etc/debian_version") + ELSEIF(DEBIAN) SET(CPACK_GENERATOR DEB) - ELSEIF(UNIX AND EXISTS "/etc/redhat-release") + ELSEIF(REDHAT) SET(CPACK_GENERATOR RPM) ELSE() SET(CPACK_GENERATOR TGZ) ENDIF() FIND_PROGRAM(LSB_RELEASE_EXECUTABLE lsb_release) - FIND_PROGRAM(UNAME_EXECUTABLE uname) - IF(LSB_RELEASE_EXECUTABLE AND UNAME_EXECUTABLE) + IF(LSB_RELEASE_EXECUTABLE) #extract system information by executing the commands EXECUTE_PROCESS( COMMAND ${LSB_RELEASE_EXECUTABLE} --short --id - OUTPUT_VARIABLE _os_name OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_VARIABLE LSB_ID OUTPUT_STRIP_TRAILING_WHITESPACE ) EXECUTE_PROCESS( COMMAND ${LSB_RELEASE_EXECUTABLE} --short --release - OUTPUT_VARIABLE _os_version OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_VARIABLE LSB_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE ) - EXECUTE_PROCESS( - COMMAND ${UNAME_EXECUTABLE} --machine - OUTPUT_VARIABLE _machine OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - #when the library suffix should be 64 (applies to redhat linux family) - IF(CPACK_GENERATOR STREQUAL RPM AND _machine MATCHES "64$") - SET(LIB_SUFFIX 64) - ENDIF() #set a more sensible package name for this system - SET(CPACK_PACKAGE_FILE_NAME "UHD-${UHD_VERSION}-${_os_name}-${_os_version}-${_machine}") + SET(CPACK_PACKAGE_FILE_NAME "UHD-${UHD_VERSION}-${LSB_ID}-${LSB_RELEASE}-${CMAKE_SYSTEM_PROCESSOR}") - ENDIF(LSB_RELEASE_EXECUTABLE AND UNAME_EXECUTABLE) + ENDIF(LSB_RELEASE_EXECUTABLE) ENDIF(UHD_RELEASE_MODE) |