source: tol/installer/linux/CMakeLists.txt @ 4197fb9

1941-docker-image-to-testdevel
Last change on this file since 4197fb9 was 4197fb9, checked in by Jorge Pérez <josp.jorge@…>, 11 years ago

refs #1899, en linux hay que instalar bin/tolbase.tcl ya que el ejecutable tolbase lo necesita como script de arranque.

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

  • Property mode set to 100644
File size: 6.7 KB
RevLine 
[0ca91a5]1macro( subdirlist result dir )
2  set( ExtraMacroArgs ${ARGN} )
3  message( "GLOB children RELATIVE ${dir} ${dir}/*" )
4  file( GLOB children RELATIVE ${dir} ${dir}/* )
5  set( dirlist "" )
6  foreach( child ${children} )
7    if( IS_DIRECTORY ${dir}/${child} )
8      if( ExtraMacroArgs STREQUAL RELATIVE )
9        list(APPEND dirlist ${child})
10      else( ExtraMacroArgs STREQUAL RELATIVE )
11        list(APPEND dirlist ${dir}/${child} )
12      endif( ExtraMacroArgs STREQUAL RELATIVE )
13    endif( IS_DIRECTORY ${dir}/${child} )
14  endforeach( )
15  set( ${result} ${dirlist} )
16endmacro()
17
18set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" ${CMAKE_MODULE_PATH} )
19include( cpack_generator )
20
21message( STATUS "LINUX_NAME = ${LINUX_NAME}" )
22
23if( CPACK_GENERATOR )
24  message( STATUS "requested CPACK_GENERATOR = ${CPACK_GENERATOR}" )
25else( CPACK_GENERATOR )
26  if( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR )
27    message( STATUS "Setting CPACK_GENERATOR to ${SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR}" )
28    set( CPACK_GENERATOR ${SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR} CACHE STRING "" )
29  endif( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR )
30endif( CPACK_GENERATOR )
31
32set( CPACK_TGZ_COMPONENT_INSTALL 1 PARENT_SCOPE )
33set( CPACK_DEB_COMPONENT_INSTALL 1 PARENT_SCOPE )
34set( CPACK_RPM_COMPONENT_INSTALL 1 PARENT_SCOPE )
35set( CPACK_PACKAGE_NAME tol PARENT_SCOPE )
36
37#cpack --help-variable CPACK_PACKAGE_FILE_NAME
38message( STATUS "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}" )
39
40#set(SPECIFIC_COMPILER_NAME "")
41 
42set(CPACK_DEBIAN_PACKAGE_SECTION "Mathematics")
43
[8bac87d]44if ( CPACK_GENERATOR STREQUAL "RPM" )
45  execute_process(COMMAND uname "-m"
46    OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
47    OUTPUT_STRIP_TRAILING_WHITESPACE )
48elseif( CPACK_GENERATOR STREQUAL "DEB" )
49  find_program(DPKG_CMD dpkg)
50  if(NOT DPKG_CMD)
51    message(STATUS "Can not find dpkg in your path, default to i386.")
52    set( PACKAGE_ARCHITECTURE i386 )
53  endif()
54  execute_process(COMMAND "${DPKG_CMD}" --print-architecture
55    OUTPUT_VARIABLE PACKAGE_ARCHITECTURE
56    OUTPUT_STRIP_TRAILING_WHITESPACE )
57else( CPACK_GENERATOR STREQUAL "RPM" )
58  set( PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR} )
59endif( CPACK_GENERATOR STREQUAL "RPM" )
60
61string( TOLOWER "${LINUX_NAME}.${PACKAGE_ARQUITECTURE}" _CPACK_SYSTEM_NAME )
62set( CPACK_SYSTEM_NAME ${_CPACK_SYSTEM_NAME} CACHE STRING "" )
63
[0ca91a5]64get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
65if( "${LIB64}" STREQUAL "TRUE" )
66  set( LIBSUFFIX 64 )
67else( "${LIB64}" STREQUAL "TRUE" )
68  set( LIBSUFFIX "" )
69endif( "${LIB64}" STREQUAL "TRUE" )
70
71# RPM
72set( CPACK_RPM_PACKAGE_URL "www.tol-project.org" PARENT_SCOPE )
73set( CPACK_RPM_PACKAGE_VENDOR "TOL Project" PARENT_SCOPE )
74set( CPACK_RPM_PACKAGE_RELOCATABLE OFF PAREENT_SCOPE )
75set( CPACK_RPM_PACKAGE_AUTOREQ " no" PARENT_SCOPE )
76set( CPACK_RPM_PACKAGE_GROUP "Applications/Engineering" PARENT_SCOPE )
77
78set( CPACK_RPM_core_PACKAGE_SUMMARY "The minimal TOL components necessary for a functional runtime" PARENT_SCOPE )
79set( CPACK_RPM_core_PACKAGE_DESCRIPTION
80"
81TOL = Time Oriented Language is a language and environment for statistical
82computing. It provides a natural way to handle time series data and model it.
83
84There is a TOL package called TolRInside based on Rcpp/RInside wich R which
85expose all R funcionality whithin TOL.
86
87" PARENT_SCOPE )
88set( CPACK_RPM_core_PACKAGE_REQUIRES " atlas, tcl >= 8.5, boost-filesystem >= 1.41, boost-thread >= 1.41, suitesparse >= 3, fftw >= 3, gsl >= 1.13, bzip2-libs, zlib, libtool-ltdl, libcurl >= 7.19, postgresql-libs >= 8.4, mysql-libs, unixODBC " PARENT_SCOPE )
89set( CPACK_RPM_headers_PACKAGE_REQUIRES " tol-core = ${CPACK_PACKAGE_VERSION} "  PARENT_SCOPE )
90set( CPACK_RPM_gui_PACKAGE_REQUIRES " tol-core = ${CPACK_PACKAGE_VERSION}, tk >= 8.5, bwidget, tcllib, blt, tcl-tktreectrl, tkimg "  PARENT_SCOPE )
91
92set( CPACK_RPM_core_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR} PARENT_SCOPE )
93set( CPACK_RPM_headers_PACKAGE_ARCHITECTURE noarch PARENT_SCOPE )
94set( CPACK_RPM_gui_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR} PARENT_SCOPE )
95
96# DEB
97set( CPACK_DEBIAN_core_PACKAGE_DEPENDS "libboost-filesystem (>= 1.41), libboost-thread (>= 1.41), libsuitesparse, libfftw3, libgsl0 (>= 1.13), bzip2, zlib1g, libltdl, libcurl3 (>=7.19), tcl (>= 8.5)" PARENT_SCOPE )
98set( CPACK_DEBIAN_headers_PACKAGE_DEPENDS "tol-core (= ${CPACK_PACKAGE_VERSION})")
99set( CPACK_DEBIAN_gui_PACKAGE_DEPENDS "tol-core (= ${CPACK_PACKAGE_VERSION}), tk (>= 8.5)")
100
101# BIN: TOL-CORE
102#file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/tol*" exe_pattern)
103#file(GLOB RT_EXE  ${exe_pattern} "${TOL_RUNTIME_DIR}/bin/confenv.sh" )
104set( PREFIX_TOL "lib${LIBSUFFIX}/tol${CPACK_PACKAGE_VERSION}" )
105install(FILES
106  "${TOL_RUNTIME_DIR}/bin/tolcon"
107  "${TOL_RUNTIME_DIR}/bin/tolsh"
108  DESTINATION "${PREFIX_TOL}/bin"
109  COMPONENT core
110  PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
111  GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE
112  WORLD_EXECUTE)
113
114file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir)
115install(DIRECTORY ${stdlib_dir} DESTINATION "${PREFIX_TOL}/bin"
116  COMPONENT core )
117
118# LIB
119file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir)
120file( GLOB TOL_SH_LIBS  "${TOL_RUNTIME_DIR}/lib/*.so" )
121install( FILES ${TOL_SH_LIBS} DESTINATION "${PREFIX_TOL}/lib"
122  COMPONENT core)
123file( GLOB toltcl_dir  "${TOL_RUNTIME_DIR}/lib/toltcl*" )
124install( DIRECTORY ${toltcl_dir} DESTINATION "${PREFIX_TOL}/lib"
125  COMPONENT core )
126
127# INCLUDE
128file(TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/include" include_dir)
129install( DIRECTORY ${include_dir} DESTINATION "${PREFIX_TOL}"
130  COMPONENT headers )
131
132# TOLBASE = gui
133subdirlist( tclExtDirs "${TOL_RUNTIME_DIR}/lib" )
134install(FILES
[4197fb9]135  "${TOL_RUNTIME_DIR}/bin/tolbase.tcl"
[0ca91a5]136  "${TOL_RUNTIME_DIR}/bin/tolbase"
137  DESTINATION "${PREFIX_TOL}/bin"
138  COMPONENT gui
139  PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
140  GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE
141  WORLD_EXECUTE)
142install( DIRECTORY ${tclExtDirs} DESTINATION "${PREFIX_TOL}/lib"
143  COMPONENT gui
144  PATTERN *toltcl* EXCLUDE )
145
146# SCRIPTS (/usr/bin)
147## !!
148## file(TO_CMAKE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/building/Linux_32/scripts/tol*" sh_pattern)
149## file(GLOB RT_SH  ${sh_pattern})
150## install(FILES ${RT_SH} DESTINATION "bin" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
151
152# nombre del paquete instalador
[6dce91c]153#if( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR STREQUAL "RPM" )
154#  configure_file(
155#    ${CMAKE_CURRENT_SOURCE_DIR}/rpm_post_install.sh.in
156#    ${CMAKE_CURRENT_BINARY_DIR}/rpm_post_install.sh )
157#  set( CPACK_RPM_core_POST_INSTALL_SCRIPT_FILE
158#    "${CMAKE_CURRENT_BINARY_DIR}/rpm_post_install.sh" PARENT_SCOPE )
159#endif( SPECIFIC_SYSTEM_PREFERED_CPACK_GENERATOR STREQUAL "RPM" )
[0ca91a5]160# Estudiar como hacer lo mismo con CPACK_DEBIAN_core_PACKAGE_CONTROL_EXTRA
Note: See TracBrowser for help on using the repository browser.