CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 28 Oct 2008 15:37:46 +0100
changeset 353 f8832dc16d45
parent 236 da953e387d31
child 496 17d918051964
child 500 2b6a20528f35
child 502 e58c511a5eba
permissions -rw-r--r--
Use standard error/warning message format in the unifier script
     1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
     2 
     3 SET(PROJECT_NAME "LEMON")
     4 SET(PROJECT_VERSION "hg-tip" CACHE STRING "The version string.")
     5 
     6 PROJECT(${PROJECT_NAME})
     7 
     8 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
     9 
    10 INCLUDE(FindDoxygen)
    11 INCLUDE(FindGhostscript)
    12 
    13 ENABLE_TESTING()
    14 
    15 ADD_SUBDIRECTORY(lemon)
    16 ADD_SUBDIRECTORY(demo)
    17 ADD_SUBDIRECTORY(doc)
    18 ADD_SUBDIRECTORY(test)
    19 
    20 IF(WIN32)
    21   INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
    22     DESTINATION bin)
    23 ENDIF(WIN32)
    24 
    25 IF(WIN32)
    26   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    27   SET(CPACK_PACKAGE_VENDOR
    28     "EGRES - Egervary Research Group on Combinatorial Optimization")
    29   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    30     "LEMON - Library of Efficient Models and Optimization in Networks")
    31   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
    32 
    33   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    34 
    35   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    36     "${PROJECT_NAME} ${PROJECT_VERSION}")
    37   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    38     "${PROJECT_NAME} ${PROJECT_VERSION}")
    39 
    40   # Variables to generate a component-based installer.
    41   #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
    42 
    43   #SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    44   #SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Static library")
    45   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    46 
    47   #SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    48   #  "C++ header files for use with the LEMON library")
    49   #SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    50   #  "Static library used to build programs with LEMON")
    51   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    52   #  "Doxygen generated documentation")
    53 
    54   #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    55 
    56   #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    57   #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    58   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    59 
    60   #SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    61   #  "Components needed to develop software using LEMON")
    62   #SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    63   #  "Documentation of LEMON")
    64 
    65   #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    66 
    67   #SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    68   #SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    69   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    70 
    71   SET(CPACK_GENERATOR "NSIS")
    72   SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
    73   SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    74   #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
    75   SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
    76   SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
    77   SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
    78   SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
    79   SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
    80   SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
    81     CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\doc\\\\index.html\\\"
    82     ")
    83   SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
    84     !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
    85     Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
    86     ")
    87 
    88   INCLUDE(CPack)
    89 ENDIF(WIN32)