source: tol/CMakeLists.txt @ bb4284b

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

refs #1827, completamos la primera version del instalador. Posiblemente hay que modificar ya que tiene especificidades de TOL-GNU/WIN32.

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

  • Property mode set to 100644
File size: 3.1 KB
Line 
1cmake_minimum_required( VERSION 2.8 )
2project( TOL-Installer )
3
4set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/NSIS" ${CMAKE_MODULE_PATH})
5
6if( NOT TOL_RUNTIME_DIR )
7  message( FATAL_ERROR "You must specify the variable TOL_RUNTIME_DIR with the path to binary instalation of TOL. TOLTCL and TOLBASE should also be installed on that location." )
8endif(  NOT TOL_RUNTIME_DIR )
9
10if( WIN32 )
11  file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.dll" dll_pattern )
12  file( GLOB RT_DLL  ${dll_pattern} )
13  install( FILES ${RT_DLL} DESTINATION "bin" )
14  file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/*.exe" exe_pattern )
15  file( GLOB RT_EXE  ${exe_pattern} )
16  install( FILES ${RT_EXE} DESTINATION "bin" )
17  file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/lib" lib_dir )
18  install( DIRECTORY ${lib_dir} DESTINATION "." PATTERN "*.a" EXCLUDE )
19  file( TO_CMAKE_PATH "${TOL_RUNTIME_DIR}/bin/stdlib" stdlib_dir )
20  install( DIRECTORY ${stdlib_dir} DESTINATION "bin" )
21  file( TO_CMAKE_PATH "${CMAKE_SOURCE_DIR}/tolbase-gnu.ico" ico_tolbase )
22  install( FILES ${ico_tolbase} DESTINATION "bin" )
23endif( WIN32 )
24
25configure_file( ${CMAKE_SOURCE_DIR}/CPackOptions.cmake.in ${PROJECT_BINARY_DIR}/CPackOptions.cmake)
26
27# http://stackoverflow.com/questions/21144655/customizing-nsis-installer-using-cpack
28# ...
29
30set(CPACK_PACKAGE_NAME "TOL")
31set(CPACK_PACKAGE_VENDOR "www.tol-project.org")
32set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Time Oriented Language")
33set(CPACK_PACKAGE_VERSION "3.2.0")
34set(CPACK_PACKAGE_VERSION_MAJOR "3")
35set(CPACK_PACKAGE_VERSION_MINOR "2")
36set(CPACK_PACKAGE_VERSION_PATCH "0")
37set(CPACK_PACKAGE_INSTALL_DIRECTORY "tolbase")
38set(CPACK_PROPERTIES_FILE "${PROJECT_BINARY_DIR}/CPackOptions.cmake")
39set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/splash-gnu.gif")
40string(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON ${CPACK_PACKAGE_ICON})
41set( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/tol/COPYING" )
42string(REPLACE "/" "\\\\" CPACK_RESOURCE_FILE_LICENSE ${CPACK_RESOURCE_FILE_LICENSE})
43set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/tolbase-gnu.ico" )
44string(REPLACE "/" "\\\\" CPACK_NSIS_MUI_ICON ${CPACK_NSIS_MUI_ICON})
45set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/tolbase-gnu.ico" )
46string(REPLACE "/" "\\\\" CPACK_NSIS_MUI_UNIICON ${CPACK_NSIS_MUI_UNIICON})
47
48# http://www.mantidproject.org/NSIS_CPACK_Customisations
49# http://nsis.sourceforge.net/Environmental_Variables:_append,_prepend,_and_remove_entries
50
51if( WIN32 )
52  set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS
53    "
54    Push \\\"TOLGNU_ROOT\\\"
55    Push \\\"A\\\"
56    Push \\\"HKCU\\\"
57    Push \\\"$INSTDIR\\\"
58    Call EnvVarUpdate
59    Pop  \\\$0" ) 
60  set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "Push \\\"TOLGNU_ROOT\\\"
61    Push \\\"R\\\"
62    Push \\\"HKCU\\\"
63    Push \\\"$INSTDIR\\\"
64    Call un.EnvVarUpdate
65    Pop  \\\$0" )
66  set (ICONPATH "$INSTDIR/bin/tolbase-gnu.ico")
67        string(REPLACE "/" "\\\\" ICONPATH ${ICONPATH})
68        set(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut       '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\tolbase.lnk'       '$INSTDIR\\\\bin\\\\tolbase.exe' ''     '${ICONPATH}'" )
69        set(CPACK_NSIS_DELETE_ICONS_EXTRA "Delete       '$SMPROGRAMS\\\\$MUI_TEMP\\\\tolbase.lnk'" )
70
71endif( WIN32 )
72include(CPack)
Note: See TracBrowser for help on using the repository browser.