Changeset 416d6ed in tol


Ignore:
Timestamp:
Oct 8, 2015, 8:12:25 AM (11 years ago)
Author:
Pedro Gea <pgea@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
aa3723c
Parents:
ec3efea
Message:

Refs #1860, #1880
Se revisa el CMakeLists.txt del instalador.
Se incorpora un script para generar el instalador en linux (tanto DEB como RPM).

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

Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    rec3efea r416d6ed  
    22project(TOL-Installer)
    33
    4 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/NSIS" ${CMAKE_MODULE_PATH})
     4if(WIN32)
     5  # módulo adicional para construir el instalados con NSIS
     6  set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/NSIS" ${CMAKE_MODULE_PATH})
     7endif(WIN32)
    58
    69if(NOT TOL_RUNTIME_DIR)
    … …  
    811endif(NOT TOL_RUNTIME_DIR)
    912
    10 # => http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack
    11 
    12 if( WIN32 )
    13   # BIN (APPLICATION)
    14   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.dll" dll_pattern )
    15   file( GLOB RT_DLL  ${dll_pattern} )
    16   install( FILES ${RT_DLL} DESTINATION "bin" COMPONENT application)
    17   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.exe" exe_pattern )
    18   file( GLOB RT_EXE  ${exe_pattern} )
    19   install( FILES ${RT_EXE} DESTINATION "bin" COMPONENT application)
    20   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir )
    21   install( DIRECTORY ${stdlib_dir} DESTINATION "bin" COMPONENT application
    22     PATTERN ".svn" EXCLUDE )
    23   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/language.txt" language_txt )
    24   file( GLOB RT_TXT  ${language_txt} )
    25   install( FILES ${RT_TXT} DESTINATION "bin" COMPONENT application)
    26   # BIN (DEVELOPMENT)
    27   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.lib" lib_pattern )
    28   file( GLOB RT_LIB  ${lib_pattern} )
    29   install( FILES ${RT_LIB} DESTINATION "bin" COMPONENT development)
    30   # LIB (APPLICATION)
    31   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir )
    32   install( DIRECTORY ${lib_dir} DESTINATION "." COMPONENT application
    33     PATTERN "*.a" EXCLUDE PATTERN ".svn" EXCLUDE )
    34   # INCLUDE (DEVELOPMENT)
    35   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir )
    36   install( DIRECTORY ${include_dir} DESTINATION "." COMPONENT development)
    37 
    38   set(CPACK_COMPONENTS_GROUPING "ALL_COMPONENTS_IN_ONE")
    39   set(CPACK_COMPONENTS_ALL application development)
    40 
    41   set(CPACK_COMPONENT_APPLICATION_REQUIRED 1)
    42   set(CPACK_COMPONENT_DEVELOPMENT_DISABLED 1)
    43 
    44   set(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "TOL Application")
    45   set(CPACK_COMPONENT_DEVELOPMENT_DISPLAY_NAME "C++ Headers & Libraries")
    46 
    47   set(CPACK_COMPONENT_APPLICATION_DESCRIPTION
    48     "Main components of TOL Application")
    49   set(CPACK_COMPONENT_DEVELOPMENT_DESCRIPTION
    50     "C/C++ header files and libraries for development purposes")
    51 endif( WIN32 )
    52 
    53 if( UNIX )
    54   # BIN
    55   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/tol*" exe_pattern )
    56   file( GLOB RT_EXE  ${exe_pattern} )
    57   install( FILES ${RT_EXE} DESTINATION "local/tol3.2-i/bin" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
    58   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir )
    59   install( DIRECTORY ${stdlib_dir} DESTINATION "local/tol3.2-i/bin")
    60   # LIB
    61   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir )
    62   install( DIRECTORY ${lib_dir} DESTINATION "local/tol3.2-i")
    63   # INCLUDE
    64   file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir )
    65   install( DIRECTORY ${include_dir} DESTINATION "local/tol3.2-i")
    66 endif( UNIX )
    67 
    68 configure_file( ${CMAKE_SOURCE_DIR}/CPackOptions.cmake.in ${PROJECT_BINARY_DIR}/CPackOptions.cmake )
    69 
    70 # => http://stackoverflow.com/questions/21144655/customizing-nsis-installer-using-cpack
    7113# => http://www.cmake.org/Wiki/CMake:CPackPackageGenerators
    7214
    73 if( WIN32 )
     15if(WIN32)
     16  # usando MinGW
    7417  set(CPACK_PACKAGE_NAME "TOL (GNU)")
    75 endif( WIN32 )
    76 if( UNIX )
     18endif(WIN32)
     19if(UNIX)
    7720  set(CPACK_PACKAGE_NAME "TOL")
    78 endif( UNIX )
     21endif(UNIX)
     22
    7923set(CPACK_PACKAGE_VENDOR "Tol-Project")
    8024set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Time Oriented Language")
    … …  
    8327set(CPACK_PACKAGE_VERSION_PATCH "0")
    8428set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
    85 if( WIN32 )
     29
     30if(WIN32)
     31  # usando MinGW (ej. tol-gnu-v3.2)
    8632  set(CPACK_PACKAGE_NAMEV "tol-gnu-v${CPACK_PACKAGE_VERSION}")
    87 endif( WIN32 )
    88 if( UNIX )
    89   set(CPACK_PACKAGE_NAMEV "tol-v${CPACK_PACKAGE_VERSION}")
    90 endif( UNIX )
     33endif(WIN32)
     34if(UNIX)
     35  # (ej. tol_3.2)
     36  set(CPACK_PACKAGE_NAMEV "tol-${CPACK_PACKAGE_VERSION}")
     37endif(UNIX)
     38
     39# obligatorio para DEB
    9140set(CPACK_PACKAGE_CONTACT "Pedro Gea <pgea@bayesforecast.com>")
    92 set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAMEV}")
    93 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAMEV}")
    9441
    95 set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/NSIS/nsis_tol.bmp")
    96 if( WIN32 )
    97   string(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON ${CPACK_PACKAGE_ICON})
    98 endif( WIN32 )
     42if(UNIX)
     43  set(CPACK_DEBIAN_PACKAGE_SECTION "Mathematics")
     44endif(UNIX)
     45
     46if(WIN32)
     47  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAMEV}")
     48  set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAMEV}")
     49
     50  # => http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack
     51
     52  # BIN (APPLICATION)
     53  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.dll" dll_pattern)
     54  file(GLOB RT_DLL  ${dll_pattern})
     55  install(FILES ${RT_DLL} DESTINATION "bin" COMPONENT application)
     56  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.exe" exe_pattern)
     57  file(GLOB RT_EXE  ${exe_pattern})
     58  install(FILES ${RT_EXE} DESTINATION "bin" COMPONENT application)
     59  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir)
     60  install(DIRECTORY ${stdlib_dir} DESTINATION "bin" COMPONENT application
     61    PATTERN ".svn" EXCLUDE)
     62  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/language.txt" language_txt)
     63  file(GLOB RT_TXT  ${language_txt})
     64  install(FILES ${RT_TXT} DESTINATION "bin" COMPONENT application)
     65  # BIN (DEVELOPMENT)
     66  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.lib" lib_pattern)
     67  file(GLOB RT_LIB  ${lib_pattern})
     68  install(FILES ${RT_LIB} DESTINATION "bin" COMPONENT development)
     69  # LIB (APPLICATION)
     70  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir)
     71  install(DIRECTORY ${lib_dir} DESTINATION "." COMPONENT application
     72    PATTERN "*.a" EXCLUDE PATTERN ".svn" EXCLUDE)
     73  # INCLUDE (DEVELOPMENT)
     74  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir)
     75  install(DIRECTORY ${include_dir} DESTINATION "." COMPONENT development)
     76
     77  # Components
     78  set(CPACK_COMPONENTS_GROUPING "ALL_COMPONENTS_IN_ONE")
     79  set(CPACK_COMPONENTS_ALL application development)
     80  set(CPACK_COMPONENT_APPLICATION_REQUIRED 1)
     81  set(CPACK_COMPONENT_DEVELOPMENT_DISABLED 1)
     82  set(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "TOL Application")
     83  set(CPACK_COMPONENT_DEVELOPMENT_DISPLAY_NAME "C++ Headers & Libraries")
     84  set(CPACK_COMPONENT_APPLICATION_DESCRIPTION "Main components of TOL Application")
     85  set(CPACK_COMPONENT_DEVELOPMENT_DESCRIPTION "C/C++ header files and libraries for development purposes")
     86endif(WIN32)
     87
     88if(UNIX)
     89  # BIN
     90  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/tol*" exe_pattern)
     91  file(GLOB RT_EXE  ${exe_pattern})
     92  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)
     93  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir)
     94  install(DIRECTORY ${stdlib_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}/bin")
     95  # LIB
     96  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir)
     97  install(DIRECTORY ${lib_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}")
     98  # INCLUDE
     99  file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir)
     100  install(DIRECTORY ${include_dir} DESTINATION "lib/tol${CPACK_PACKAGE_VERSION}")
     101endif(UNIX)
     102
     103# => http://stackoverflow.com/questions/21144655/customizing-nsis-installer-using-cpack
     104configure_file(${CMAKE_SOURCE_DIR}/CPackOptions.cmake.in ${PROJECT_BINARY_DIR}/CPackOptions.cmake)
    99105
    100106set(CPACK_PROPERTIES_FILE "${PROJECT_BINARY_DIR}/CPackOptions.cmake")
    101107
    102 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/tol/COPYING" )
    103 if( WIN32 )
     108set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/tol/COPYING")
     109if(WIN32)
    104110  string(REPLACE "/" "\\\\" CPACK_RESOURCE_FILE_LICENSE ${CPACK_RESOURCE_FILE_LICENSE})
    105 endif( WIN32 )
     111endif(WIN32)
    106112
    107 if( UNIX )
    108 set(CPACK_DEBIAN_PACKAGE_SECTION "Mathematics")
    109 endif( UNIX )
     113if(WIN32)
     114  # => http://www.mantidproject.org/NSIS_CPACK_Customisations
     115  # => http://nsis.sourceforge.net/Environmental_Variables:_append,_prepend,_and_remove_entries
     116  # => http://www.cmake.org/Wiki/CMake:CPackNSISAdvancedTips
    110117
    111 if( WIN32 )
    112   set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/NSIS/tolbase-install.ico" )
     118  set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/NSIS/nsis_tol.bmp")
     119  string(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON ${CPACK_PACKAGE_ICON})
     120  set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/NSIS/tolbase-install.ico")
    113121    string(REPLACE "/" "\\\\" CPACK_NSIS_MUI_ICON ${CPACK_NSIS_MUI_ICON})
    114   set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/NSIS/tolbase-uninstall.ico" )
     122  set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/NSIS/tolbase-uninstall.ico")
    115123    string(REPLACE "/" "\\\\" CPACK_NSIS_MUI_UNIICON ${CPACK_NSIS_MUI_UNIICON})
    116124  set(CPACK_NSIS_HELP_LINK "www.tol-project.org")
    117 endif( WIN32 )
    118125
    119 # => http://www.mantidproject.org/NSIS_CPACK_Customisations
    120 # => http://nsis.sourceforge.net/Environmental_Variables:_append,_prepend,_and_remove_entries
    121 
    122 # => http://www.cmake.org/Wiki/CMake:CPackNSISAdvancedTips
    123 
    124 if(WIN32)
    125126  # nombre del paquete en el instalador
    126127  set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
    … …  
    151152endif(WIN32)
    152153
    153 if( UNIX )
    154   # nombre del instalador:
     154if(UNIX)
     155  # nombre del paquete instalador
    155156  set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAMEV}")
    156   # crea acceso directos a estos ejecutables (pares nombre_archivo nombre_acceso)
    157   set(CPACK_PACKAGE_EXECUTABLES tolsh "tolsh-v${CPACK_PACKAGE_VERSION}")
    158 endif( UNIX )
     157endif(UNIX)
    159158
    160159include(CPack)
Note: See TracChangeset for help on using the changeset viewer.