CMakeLists.txt
changeset 555 861a9d5ff283
parent 554 e6ae4999cf22
parent 503 64c2641286df
child 564 2b6d5d22bb23
equal deleted inserted replaced
16:21631cd83fc5 17:40fb4ef6ed62
     1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
     1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
     2 
     2 
     3 SET(PROJECT_NAME "LEMON")
     3 IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     4 SET(PROJECT_VERSION "hg-tip" CACHE STRING "The version string.")
     4   INCLUDE(${CMAKE_SOURCE_DIR}/cmake/version.cmake)
       
     5 ELSE(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
       
     6   SET(PROJECT_NAME "LEMON")
       
     7   SET(PROJECT_VERSION "hg-tip" CACHE STRING "LEMON version string.")
       
     8 ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     5 
     9 
     6 PROJECT(${PROJECT_NAME})
    10 PROJECT(${PROJECT_NAME})
     7 
    11 
     8 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
    12 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
     9 
    13 
    34 ADD_SUBDIRECTORY(demo)
    38 ADD_SUBDIRECTORY(demo)
    35 ADD_SUBDIRECTORY(doc)
    39 ADD_SUBDIRECTORY(doc)
    36 ADD_SUBDIRECTORY(test)
    40 ADD_SUBDIRECTORY(test)
    37 
    41 
    38 IF(WIN32)
    42 IF(WIN32)
    39   INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
       
    40     DESTINATION bin)
       
    41 ENDIF(WIN32)
       
    42 
       
    43 IF(WIN32)
       
    44   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    43   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    45   SET(CPACK_PACKAGE_VENDOR
    44   SET(CPACK_PACKAGE_VENDOR "EGRES")
    46     "EGRES - Egervary Research Group on Combinatorial Optimization")
       
    47   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    45   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    48     "LEMON - Library of Efficient Models and Optimization in Networks")
    46     "LEMON - Library of Efficient Models and Optimization in Networks")
    49   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
    47   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
    50 
    48 
    51   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    49   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    53   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    51   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    54     "${PROJECT_NAME} ${PROJECT_VERSION}")
    52     "${PROJECT_NAME} ${PROJECT_VERSION}")
    55   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    53   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    56     "${PROJECT_NAME} ${PROJECT_VERSION}")
    54     "${PROJECT_NAME} ${PROJECT_VERSION}")
    57 
    55 
    58   # Variables to generate a component-based installer.
    56   SET(CPACK_COMPONENTS_ALL headers library html_documentation)
    59   #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
       
    60 
    57 
    61   #SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    58   SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    62   #SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Static library")
    59   SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
    63   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    60   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    64 
    61 
    65   #SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    62   SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    66   #  "C++ header files for use with the LEMON library")
    63     "C++ header files")
    67   #SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    64   SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    68   #  "Static library used to build programs with LEMON")
    65     "DLL and import library")
    69   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    66   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    70   #  "Doxygen generated documentation")
    67     "Doxygen generated documentation")
    71 
    68 
    72   #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    69   SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    73 
    70 
    74   #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    71   SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    75   #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    72   SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    76   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    73   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    77 
    74 
    78   #SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    75   SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    79   #  "Components needed to develop software using LEMON")
    76     "Components needed to develop software using LEMON")
    80   #SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    77   SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    81   #  "Documentation of LEMON")
    78     "Documentation of LEMON")
    82 
    79 
    83   #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    80   SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    84 
    81 
    85   #SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    82   SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    86   #SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    83   SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    87   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    84   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    88 
    85 
    89   SET(CPACK_GENERATOR "NSIS")
    86   SET(CPACK_GENERATOR "NSIS")
    90   SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
    87   SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
    91   SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    88   SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    92   #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
    89   #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")