COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    r682 r672  
    11CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
    22
    3 SET(PROJECT_NAME "LEMON")
     3IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     4  INCLUDE(${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     5ELSE(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     6  SET(PROJECT_NAME "LEMON")
     7  SET(PROJECT_VERSION "hg-tip" CACHE STRING "LEMON version string.")
     8ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
     9
    410PROJECT(${PROJECT_NAME})
    5 
    6 IF(EXISTS ${PROJECT_SOURCE_DIR}/cmake/version.cmake)
    7   INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
    8 ELSEIF(DEFINED ENV{LEMON_VERSION})
    9   SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
    10 ELSE()
    11   EXECUTE_PROCESS(
    12     COMMAND hg id -i
    13     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    14     OUTPUT_VARIABLE HG_REVISION
    15     ERROR_QUIET
    16     OUTPUT_STRIP_TRAILING_WHITESPACE
    17   )
    18   IF(HG_REVISION STREQUAL "")
    19     SET(HG_REVISION "hg-tip")
    20   ENDIF()
    21   SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
    22 ENDIF()
    23 
    24 SET(PROJECT_VERSION ${LEMON_VERSION})
    2511
    2612SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
    2713
    28 FIND_PACKAGE(Doxygen)
    29 FIND_PACKAGE(Ghostscript)
     14INCLUDE(FindDoxygen)
     15INCLUDE(FindGhostscript)
    3016FIND_PACKAGE(GLPK 4.33)
    3117FIND_PACKAGE(CPLEX)
     
    3319
    3420INCLUDE(CheckTypeSize)
    35 CHECK_TYPE_SIZE("long long" LONG_LONG)
    36 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
     21CHECK_TYPE_SIZE("long long" LEMON_LONG_LONG)
    3722
    3823ENABLE_TESTING()
     
    4429  ADD_SUBDIRECTORY(doc)
    4530  ADD_SUBDIRECTORY(test)
    46 ENDIF()
     31ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
    4732
    48 CONFIGURE_FILE(
    49   ${PROJECT_SOURCE_DIR}/cmake/LEMONConfig.cmake.in
    50   ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
    51   @ONLY
    52 )
    53 IF(UNIX)
    54   INSTALL(
    55     FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
    56     DESTINATION share/lemon/cmake
    57   )
    58 ELSEIF(WIN32)
    59   INSTALL(
    60     FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
    61     DESTINATION cmake
    62   )
    63 ENDIF()
     33IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
     34  IF(WIN32)
     35    SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
     36    SET(CPACK_PACKAGE_VENDOR "EGRES")
     37    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
     38      "LEMON - Library for Efficient Modeling and Optimization in Networks")
     39    SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
    6440
    65 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
    66   SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    67   SET(CPACK_PACKAGE_VENDOR "EGRES")
    68   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    69     "LEMON - Library for Efficient Modeling and Optimization in Networks")
    70   SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
     41    SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
    7142
    72   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
     43    SET(CPACK_PACKAGE_INSTALL_DIRECTORY
     44      "${PROJECT_NAME} ${PROJECT_VERSION}")
     45    SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
     46      "${PROJECT_NAME} ${PROJECT_VERSION}")
    7347
    74   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
    75     "${PROJECT_NAME} ${PROJECT_VERSION}")
    76   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    77     "${PROJECT_NAME} ${PROJECT_VERSION}")
     48    SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
    7849
    79   SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
     50    SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
     51    SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
     52    SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
     53    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    8054
    81   SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
    82   SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
    83   SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
    84   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
     55    SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
     56      "C++ header files")
     57    SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
     58      "DLL and import library")
     59    SET(CPACK_COMPONENT_BIN_DESCRIPTION
     60      "Command line utilities")
     61    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
     62      "Doxygen generated documentation")
    8563
    86   SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
    87     "C++ header files")
    88   SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
    89     "DLL and import library")
    90   SET(CPACK_COMPONENT_BIN_DESCRIPTION
    91     "Command line utilities")
    92   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
    93     "Doxygen generated documentation")
     64    SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    9465
    95   SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
     66    SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
     67    SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
     68    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    9669
    97   SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    98   SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    99   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
     70    SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
     71      "Components needed to develop software using LEMON")
     72    SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
     73      "Documentation of LEMON")
    10074
    101   SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
    102     "Components needed to develop software using LEMON")
    103   SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    104     "Documentation of LEMON")
     75    SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    10576
    106   SET(CPACK_ALL_INSTALL_TYPES Full Developer)
     77    SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
     78    SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
     79    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    10780
    108   SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
    109   SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
    110   SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
     81    SET(CPACK_GENERATOR "NSIS")
     82    SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
     83    SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
     84    #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
     85    SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
     86    SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
     87    SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
     88    SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
     89    SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
     90    SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
     91      CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
     92      ")
     93    SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
     94      !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
     95      Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
     96      ")
    11197
    112   SET(CPACK_GENERATOR "NSIS")
    113   SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
    114   SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
    115   #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
    116   SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
    117   SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
    118   SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
    119   SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
    120   SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
    121   SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
    122     CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
    123     ")
    124   SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
    125     !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
    126     Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
    127     ")
    128 
    129   INCLUDE(CPack)
    130 ENDIF()
     98    INCLUDE(CPack)
     99  ENDIF(WIN32)
     100ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
Note: See TracChangeset for help on using the changeset viewer.