CMakeLists.txt
branch1.0
changeset 369 65f80c81d41c
parent 357 2b6a20528f35
parent 360 64c2641286df
child 376 d3524090d5e2
equal deleted inserted replaced
4:94d79f36475c 7:abf0fe4a6d3b
     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 
    25 ADD_SUBDIRECTORY(demo)
    29 ADD_SUBDIRECTORY(demo)
    26 ADD_SUBDIRECTORY(doc)
    30 ADD_SUBDIRECTORY(doc)
    27 ADD_SUBDIRECTORY(test)
    31 ADD_SUBDIRECTORY(test)
    28 
    32 
    29 IF(WIN32)
    33 IF(WIN32)
    30   INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
       
    31     DESTINATION bin)
       
    32 ENDIF(WIN32)
       
    33 
       
    34 IF(WIN32)
       
    35   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    34   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    36   SET(CPACK_PACKAGE_VENDOR
    35   SET(CPACK_PACKAGE_VENDOR "EGRES")
    37     "EGRES - Egervary Research Group on Combinatorial Optimization")
       
    38   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    36   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    39     "LEMON - Library of Efficient Models and Optimization in Networks")
    37     "LEMON - Library of Efficient Models and Optimization in Networks")
    40   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
    38   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
    41 
    39 
    42   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    40   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    44   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    42   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    45     "${PROJECT_NAME} ${PROJECT_VERSION}")
    43     "${PROJECT_NAME} ${PROJECT_VERSION}")
    46   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    44   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    47     "${PROJECT_NAME} ${PROJECT_VERSION}")
    45     "${PROJECT_NAME} ${PROJECT_VERSION}")
    48 
    46 
    49   # Variables to generate a component-based installer.
    47   SET(CPACK_COMPONENTS_ALL headers library html_documentation)
    50   #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
       
    51 
    48 
    52   #SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    49   SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    53   #SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Static library")
    50   SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
    54   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    51   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    55 
    52 
    56   #SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    53   SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    57   #  "C++ header files for use with the LEMON library")
    54     "C++ header files")
    58   #SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    55   SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    59   #  "Static library used to build programs with LEMON")
    56     "DLL and import library")
    60   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    57   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    61   #  "Doxygen generated documentation")
    58     "Doxygen generated documentation")
    62 
    59 
    63   #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    60   SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    64 
    61 
    65   #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    62   SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    66   #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    63   SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    67   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    64   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    68 
    65 
    69   #SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    66   SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    70   #  "Components needed to develop software using LEMON")
    67     "Components needed to develop software using LEMON")
    71   #SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    68   SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    72   #  "Documentation of LEMON")
    69     "Documentation of LEMON")
    73 
    70 
    74   #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    71   SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    75 
    72 
    76   #SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    73   SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    77   #SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    74   SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    78   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    75   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    79 
    76 
    80   SET(CPACK_GENERATOR "NSIS")
    77   SET(CPACK_GENERATOR "NSIS")
    81   SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
    78   SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
    82   SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    79   SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    83   #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
    80   #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")