Changeset e7ecbbc in tol


Ignore:
Timestamp:
Nov 18, 2015, 6:07:55 PM (11 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
b7eb391
Parents:
b7e40d4
Message:

refs #1860, ajustes a los parametros del RPM

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@7044 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    rb7e40d4 re7ecbbc  
    11cmake_minimum_required(VERSION 2.8)
    22project(TOL-Installer)
    3 
    4 if(LIB64)
    5   message( STATUS "LIB64" )
    6 endif()
    73
    84if(WIN32)
    … …  
    2016  # usando MinGW
    2117  set(CPACK_PACKAGE_NAME "TOL (GNU)")
    22 endif(WIN32)
    23 if(UNIX)
     18else(WIN32)
    2419  set(CPACK_PACKAGE_NAME "TOL")
    25 endif(UNIX)
     20endif(WIN32)
    2621
    2722set(CPACK_PACKAGE_VENDOR "Tol-Project")
    … …  
    4136endif(UNIX)
    4237
     38# System specific information: https://cmake.org/pipermail/cmake/attachments/20100722/04976a73/attachment-0001.obj
     39if(UNIX)
     40  if(CMAKE_SYSTEM_NAME MATCHES "Linux")
     41    set(SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}")
     42    set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "TGZ")
     43    if(EXISTS "/etc/issue")
     44      set(LINUX_NAME "")
     45      file(READ "/etc/issue" LINUX_ISSUE)
     46      message( STATUS "LINUX_ISSUE = ${LINUX_ISSUE}" )
     47      # CentOS case
     48      if(LINUX_ISSUE MATCHES "CentOS")
     49        string(REGEX MATCH "release ([0-9]+)" CENTOS "${LINUX_ISSUE}")
     50        set(LINUX_NAME "CentOS_${CMAKE_MATCH_1}") 
     51        set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")     
     52      endif(LINUX_ISSUE MATCHES "CentOS")
     53      # Fedora case
     54      if(LINUX_ISSUE MATCHES "Fedora")
     55        string(REGEX MATCH "release ([0-9]+)" FEDORA "${LINUX_ISSUE}")
     56        set(LINUX_NAME "FC${CMAKE_MATCH_1}") 
     57        set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")     
     58      endif(LINUX_ISSUE MATCHES "Fedora")
     59      # Ubuntu case
     60      if(LINUX_ISSUE MATCHES "Ubuntu")
     61        string(REGEX MATCH "buntu ([0-9]+\\.[0-9]+)" UBUNTU "${LINUX_ISSUE}")
     62        set(LINUX_NAME "Ubuntu_${CMAKE_MATCH_1}")       
     63        set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB")
     64      endif(LINUX_ISSUE MATCHES "Ubuntu")
     65      # Debian case
     66      if(LINUX_ISSUE MATCHES "Debian")
     67        string(REGEX MATCH "Debian .*ux ([a-zA-Z]*/?[a-zA-Z]*) .*" DEBIAN "${LINUX_ISSUE}")
     68        set(LINUX_NAME "Debian_${CMAKE_MATCH_1}")
     69        string(REPLACE "/" "_" LINUX_NAME ${LINUX_NAME})
     70        set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "DEB")       
     71      endif(LINUX_ISSUE MATCHES "Debian")     
     72      # Open SuSE case
     73      if(LINUX_ISSUE MATCHES "SUSE")
     74        string(REGEX MATCH "SUSE  ([0-9]+\\.[0-9]+)" SUSE "${LINUX_ISSUE}")
     75        set(LINUX_NAME "openSUSE_${CMAKE_MATCH_1}")
     76        string(REPLACE "/" "_" LINUX_NAME ${LINUX_NAME})   
     77        set(SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR "RPM")     
     78      endif(LINUX_ISSUE MATCHES "SUSE")
     79      # Mandriva case
     80      # TODO     
     81      if(LINUX_NAME)
     82         set(SPECIFIC_SYSTEM_VERSION_NAME "${CMAKE_SYSTEM_NAME}-${LINUX_NAME}")
     83      endif(LINUX_NAME)   
     84    endif(EXISTS "/etc/issue")     
     85  endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
     86  set(SPECIFIC_SYSTEM_VERSION_NAME "${SPECIFIC_SYSTEM_VERSION_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
     87  set(SPECIFIC_COMPILER_NAME "")
     88endif(UNIX)
     89
    4390# obligatorio para DEB
    4491set(CPACK_PACKAGE_CONTACT "Pedro Gea <pgea@bayesforecast.com>")
    … …  
    4996
    5097if( UNIX )
     98  get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
     99  if ("${LIB64}" STREQUAL "TRUE")
     100    set(LIBSUFFIX 64)
     101  else()
     102    set(LIBSUFFIX "")
     103  endif()
     104
    51105  EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE )
    52106  message( STATUS "Architecture: ${ARCHITECTURE}" )
     107  message( STATUS "SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR = ${SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR}" )
     108  if( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR STREQUAL "RPM" )
     109    EXECUTE_PROCESS(
     110      COMMAND rpmbuild --eval "%_arch"
     111      OUTPUT_VARIABLE CPACK_RPM_PACKAGE_ARCHITECTURE
     112      ERROR_VARIABLE IGNORE_ERROR
     113      OUTPUT_STRIP_TRAILING_WHITESPACE )
     114
     115    EXECUTE_PROCESS(
     116      COMMAND rpmbuild --eval "${CPACK_PACKAGE_VERSION_PATCH}%dist"
     117      OUTPUT_VARIABLE CPACK_RPM_PACKAGE_RELEASE
     118      ERROR_VARIABLE IGNORE_ERROR
     119      OUTPUT_STRIP_TRAILING_WHITESPACE )
     120
     121    set( RPM_FILE_NAME "${CPACK_PACKAGE_NAMEV}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}" )
     122    message( STATUS "RPM_FILE_NAME = '${RPM_FILE_NAME}'" )
     123  endif()
    53124
    54125  # RPM
     126  set( CPACK_RPM_PACKAGE_URL "www.tol-project.org" )
     127  set( CPACK_RPM_PACKAGE_RELOCATABLE ON )
    55128  set( CPACK_RPM_PACKAGE_AUTOREQ " no" )
    56129  #set( CPACK_RPM_PACKAGE_REQUIRES "suitesparse >= 3, boost-filesystem >= 1.41, boost-thread >= 1.41, fftw-devel >= 3")
    … …  
    112185  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/tol*" exe_pattern)
    113186  file(GLOB RT_EXE  ${exe_pattern})
    114   install(FILES ${RT_EXE} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}/bin" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
     187  set( PREFIX_TOL "lib${LIBSUFFIX}/tol${CPACK_PACKAGE_VERSION}" )
     188  install(FILES ${RT_EXE} DESTINATION "${PREFIX_TOL}/bin"
     189    PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
     190                GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE
     191                WORLD_EXECUTE)
    115192  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir)
    116   install(DIRECTORY ${stdlib_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}/bin")
     193  install(DIRECTORY ${stdlib_dir} DESTINATION "${PREFIX_TOL}/bin")
    117194  # LIB
    118195  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir)
    119   install(DIRECTORY ${lib_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}")
     196  install(DIRECTORY ${lib_dir} DESTINATION "${PREFIX_TOL}")
    120197  # INCLUDE
    121198  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir)
    122   install(DIRECTORY ${include_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}")
     199  install(DIRECTORY ${include_dir} DESTINATION "${PREFIX_TOL}")
    123200  # SCRIPTS (/usr/bin)
    124201  ## !!
    … …  
    181258if(UNIX)
    182259  # nombre del paquete instalador
    183   set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAMEV}")
     260  if( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR STREQUAL "RPM" )
     261    set(CPACK_PACKAGE_FILE_NAME "${RPM_FILE_NAME}")
     262  else()
     263    set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAMEV}")
     264  endif()
     265  message( STATUS "CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}" )
    184266endif(UNIX)
    185267
Note: See TracChangeset for help on using the changeset viewer.