Changeset e7ecbbc in tol
- Timestamp:
- Nov 18, 2015, 6:07:55 PM (11 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- b7eb391
- Parents:
- b7e40d4
- File:
-
- 1 edited
-
CMakeLists.txt (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
rb7e40d4 re7ecbbc 1 1 cmake_minimum_required(VERSION 2.8) 2 2 project(TOL-Installer) 3 4 if(LIB64)5 message( STATUS "LIB64" )6 endif()7 3 8 4 if(WIN32) … … 20 16 # usando MinGW 21 17 set(CPACK_PACKAGE_NAME "TOL (GNU)") 22 endif(WIN32) 23 if(UNIX) 18 else(WIN32) 24 19 set(CPACK_PACKAGE_NAME "TOL") 25 endif( UNIX)20 endif(WIN32) 26 21 27 22 set(CPACK_PACKAGE_VENDOR "Tol-Project") … … 41 36 endif(UNIX) 42 37 38 # System specific information: https://cmake.org/pipermail/cmake/attachments/20100722/04976a73/attachment-0001.obj 39 if(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 "") 88 endif(UNIX) 89 43 90 # obligatorio para DEB 44 91 set(CPACK_PACKAGE_CONTACT "Pedro Gea <pgea@bayesforecast.com>") … … 49 96 50 97 if( 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 51 105 EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE ) 52 106 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() 53 124 54 125 # RPM 126 set( CPACK_RPM_PACKAGE_URL "www.tol-project.org" ) 127 set( CPACK_RPM_PACKAGE_RELOCATABLE ON ) 55 128 set( CPACK_RPM_PACKAGE_AUTOREQ " no" ) 56 129 #set( CPACK_RPM_PACKAGE_REQUIRES "suitesparse >= 3, boost-filesystem >= 1.41, boost-thread >= 1.41, fftw-devel >= 3") … … 112 185 file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/tol*" exe_pattern) 113 186 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) 115 192 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") 117 194 # LIB 118 195 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}") 120 197 # INCLUDE 121 198 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}") 123 200 # SCRIPTS (/usr/bin) 124 201 ## !! … … 181 258 if(UNIX) 182 259 # 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}" ) 184 266 endif(UNIX) 185 267
Note: See TracChangeset
for help on using the changeset viewer.
