cmake/FindGLPK.cmake
author Peter Kovacs <kpeter@inf.elte.hu>
Wed, 29 Apr 2009 16:54:27 +0200
changeset 689 111698359429
parent 496 17d918051964
child 674 20dac2104519
permissions -rw-r--r--
Less map copying in NetworkSimplex (#234)

- The graph is copied in the constructor instead of the init() function.
It must not be modified after the class is constructed.
- The maps are copied once (instead of twice).
- Remove FlowMap, PotentialMap typedefs and flowMap(), pontentialMap()
setter functions.
- flowMap() and potentialMap() query functions copy the values into the
given map (reference) instead of returning a const reference to a
previously constructed map.
ladanyi@496
     1
SET(GLPK_REGKEY "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Glpk;InstallPath]")
ladanyi@496
     2
GET_FILENAME_COMPONENT(GLPK_ROOT_PATH ${GLPK_REGKEY} ABSOLUTE)
ladanyi@496
     3
ladanyi@496
     4
FIND_PATH(GLPK_INCLUDE_DIR
ladanyi@496
     5
  glpk.h
ladanyi@496
     6
  PATHS ${GLPK_REGKEY}/include)
ladanyi@496
     7
ladanyi@496
     8
FIND_LIBRARY(GLPK_LIBRARY
ladanyi@496
     9
  NAMES glpk
ladanyi@496
    10
  PATHS ${GLPK_REGKEY}/lib)
ladanyi@496
    11
ladanyi@496
    12
INCLUDE(FindPackageHandleStandardArgs)
ladanyi@496
    13
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR)
ladanyi@496
    14
ladanyi@496
    15
IF(GLPK_FOUND)
ladanyi@666
    16
  SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
ladanyi@496
    17
  SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
ladanyi@496
    18
  SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
ladanyi@496
    19
ENDIF(GLPK_FOUND)
ladanyi@496
    20
ladanyi@496
    21
MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
ladanyi@666
    22
ladanyi@666
    23
IF(GLPK_FOUND)
ladanyi@666
    24
  SET(HAVE_LP TRUE)
ladanyi@666
    25
  SET(HAVE_MIP TRUE)
ladanyi@666
    26
  SET(HAVE_GLPK TRUE)
ladanyi@666
    27
ENDIF(GLPK_FOUND)