COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    r274 r791  
    22
    33SET(PROJECT_NAME "LEMON")
    4 SET(PROJECT_VERSION "hg-tip" CACHE STRING "The version string.")
    5 
    64PROJECT(${PROJECT_NAME})
    75
    8 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
     6IF(EXISTS ${PROJECT_SOURCE_DIR}/cmake/version.cmake)
     7  INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
     8ELSEIF(DEFINED ENV{LEMON_VERSION})
     9  SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
     10ELSE()
     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.")
     22ENDIF()
    923
    10 INCLUDE(FindDoxygen)
    11 INCLUDE(FindGhostscript)
     24SET(PROJECT_VERSION ${LEMON_VERSION})
     25
     26SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
     27
     28FIND_PACKAGE(Doxygen)
     29FIND_PACKAGE(Ghostscript)
     30FIND_PACKAGE(GLPK 4.33)
     31FIND_PACKAGE(CPLEX)
     32FIND_PACKAGE(COIN)
     33
     34INCLUDE(CheckTypeSize)
     35CHECK_TYPE_SIZE("long long" LONG_LONG)
     36SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
     37
     38INCLUDE(FindPythonInterp)
    1239
    1340ENABLE_TESTING()
    1441
    1542ADD_SUBDIRECTORY(lemon)
    16 ADD_SUBDIRECTORY(demo)
    17 ADD_SUBDIRECTORY(doc)
    18 ADD_SUBDIRECTORY(test)
     43IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
     44  ADD_SUBDIRECTORY(demo)
     45  ADD_SUBDIRECTORY(tools)
     46  ADD_SUBDIRECTORY(doc)
     47  ADD_SUBDIRECTORY(test)
     48ENDIF()
    1949
    20 IF(WIN32)
    21   INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
    22     DESTINATION bin)
    23 ENDIF(WIN32)
     50CONFIGURE_FILE(
     51  ${PROJECT_SOURCE_DIR}/cmake/LEMONConfig.cmake.in
     52  ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
     53  @ONLY
     54)
     55IF(UNIX)
     56  INSTALL(
     57    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
     58    DESTINATION share/lemon/cmake
     59  )
     60ELSEIF(WIN32)
     61  INSTALL(
     62    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
     63    DESTINATION cmake
     64  )
     65ENDIF()
    2466
    25 IF(WIN32)
     67IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
    2668  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
    27   SET(CPACK_PACKAGE_VENDOR
    28     "EGRES - Egervary Research Group on Combinatorial Optimization")
     69  SET(CPACK_PACKAGE_VENDOR "EGRES")
    2970  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")
     71    "LEMON - Library for Efficient Modeling and Optimization in Networks")
     72  SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
    3273
    3374  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
     
    3879    "${PROJECT_NAME} ${PROJECT_VERSION}")
    3980
    40   # Variables to generate a component-based installer.
    41   #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
     81  SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
    4282
    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")
     83  SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
     84  SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
     85  SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
     86  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
    4687
    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")
     88  SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
     89    "C++ header files")
     90  SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
     91    "DLL and import library")
     92  SET(CPACK_COMPONENT_BIN_DESCRIPTION
     93    "Command line utilities")
     94  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
     95    "Doxygen generated documentation")
    5396
    54   #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
     97  SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
    5598
    56   #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
    57   #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
    58   #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
     99  SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
     100  SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
     101  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
    59102
    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")
     103  SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
     104    "Components needed to develop software using LEMON")
     105  SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
     106    "Documentation of LEMON")
    64107
    65   #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
     108  SET(CPACK_ALL_INSTALL_TYPES Full Developer)
    66109
    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)
     110  SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
     111  SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
     112  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
    70113
    71114  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")
     115  SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
     116  SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
     117  #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
    75118  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
    76119  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
     
    79122  SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
    80123  SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
    81     CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\doc\\\\index.html\\\"
     124    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
    82125    ")
    83126  SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
     
    87130
    88131  INCLUDE(CPack)
    89 ENDIF(WIN32)
     132ENDIF()
Note: See TracChangeset for help on using the changeset viewer.