COIN-OR::LEMON - Graph Library

Changeset 225:c5a40fc54f1a in lemon-1.0 for CMakeLists.txt


Ignore:
Timestamp:
07/18/08 17:36:58 (11 years ago)
Author:
Alpar Juttner <alpar@…>
Branch:
default
Phase:
public
Message:

CMake improvements.

  • documentation generation with Doxygen
  • installation support
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    r141 r225  
    1 project (LEMON)
    2 enable_testing ()
    3 add_subdirectory (lemon)
    4 add_subdirectory (demo)
    5 add_subdirectory (test)
     1CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
     2
     3#EXECUTE_PROCESS(
     4#  COMMAND hg id -i
     5#  OUTPUT_VARIABLE HG_REVISION
     6#  OUTPUT_STRIP_TRAILING_WHITESPACE)
     7
     8SET(PROJECT_NAME "Lemon")
     9SET(PROJECT_VERSION_MAJOR "0")
     10SET(PROJECT_VERSION_MINOR "99")
     11SET(PROJECT_VERSION_PATCH "0")
     12SET(PROJECT_VERSION
     13  "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
     14
     15PROJECT(${PROJECT_NAME})
     16
     17SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
     18
     19INCLUDE(FindDoxygen)
     20INCLUDE(FindGhostscript)
     21
     22ENABLE_TESTING()
     23
     24ADD_SUBDIRECTORY(lemon)
     25ADD_SUBDIRECTORY(demo)
     26ADD_SUBDIRECTORY(doc)
     27ADD_SUBDIRECTORY(test)
     28
     29IF(WIN32)
     30  INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
     31    DESTINATION bin)
     32ENDIF(WIN32)
     33
     34IF(WIN32)
     35  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
     36  SET(CPACK_PACKAGE_VENDOR
     37    "EGRES - Egervary Research Group on Combinatorial Optimization")
     38  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
     39    "Lemon - Library of Efficient Models and Optimization in Networks")
     40  SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
     41
     42  SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
     43  SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
     44  SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
     45  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
     46
     47  SET(CPACK_PACKAGE_INSTALL_DIRECTORY
     48    "${PROJECT_NAME} ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
     49  SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
     50    "${PROJECT_NAME} ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
     51
     52  # Variables to generate a component-based installer.
     53  #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
     54
     55  #SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
     56  #SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Static library")
     57  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
     58
     59  #SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
     60  #  "C++ header files for use with the Lemon library")
     61  #SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
     62  #  "Static library used to build programs with Lemon")
     63  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
     64  #  "Doxygen generated documentation")
     65
     66  #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
     67
     68  #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
     69  #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
     70  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
     71
     72  #SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
     73  #  "Components needed to develop software using Lemon")
     74  #SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
     75  #  "Documentation of Lemon")
     76
     77  #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
     78
     79  #SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
     80  #SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
     81  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
     82
     83  SET(CPACK_GENERATOR "NSIS")
     84  SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
     85  SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
     86  #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
     87  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
     88  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
     89  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
     90  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
     91  SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
     92  SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
     93    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\doc\\\\index.html\\\"
     94    ")
     95  SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
     96    !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
     97    Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
     98    ")
     99
     100  INCLUDE(CPack)
     101ENDIF(WIN32)
Note: See TracChangeset for help on using the changeset viewer.