cmake/FindGLPK.cmake
changeset 825 75e6020b19b1
parent 637 4faa0c763906
equal deleted inserted replaced
3:7e398920b838 4:aaa9ac99ca5b
    12   glpk
    12   glpk
    13   PATHS ${GLPK_REGKEY}/lib
    13   PATHS ${GLPK_REGKEY}/lib
    14   HINTS ${GLPK_ROOT_DIR}/lib
    14   HINTS ${GLPK_ROOT_DIR}/lib
    15 )
    15 )
    16 
    16 
       
    17 IF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
       
    18   FILE(READ ${GLPK_INCLUDE_DIR}/glpk.h GLPK_GLPK_H)
       
    19 
       
    20   STRING(REGEX MATCH "define[ ]+GLP_MAJOR_VERSION[ ]+[0-9]+" GLPK_MAJOR_VERSION_LINE "${GLPK_GLPK_H}")
       
    21   STRING(REGEX REPLACE "define[ ]+GLP_MAJOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MAJOR "${GLPK_MAJOR_VERSION_LINE}")
       
    22 
       
    23   STRING(REGEX MATCH "define[ ]+GLP_MINOR_VERSION[ ]+[0-9]+" GLPK_MINOR_VERSION_LINE "${GLPK_GLPK_H}")
       
    24   STRING(REGEX REPLACE "define[ ]+GLP_MINOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MINOR "${GLPK_MINOR_VERSION_LINE}")
       
    25 
       
    26   SET(GLPK_VERSION_STRING "${GLPK_VERSION_MAJOR}.${GLPK_VERSION_MINOR}")
       
    27 
       
    28   IF(GLPK_FIND_VERSION)
       
    29     IF(GLPK_FIND_VERSION_COUNT GREATER 2)
       
    30       MESSAGE(SEND_ERROR "unexpected version string")
       
    31     ENDIF(GLPK_FIND_VERSION_COUNT GREATER 2)
       
    32 
       
    33     MATH(EXPR GLPK_REQUESTED_VERSION "${GLPK_FIND_VERSION_MAJOR}*100 + ${GLPK_FIND_VERSION_MINOR}")
       
    34     MATH(EXPR GLPK_FOUND_VERSION "${GLPK_VERSION_MAJOR}*100 + ${GLPK_VERSION_MINOR}")
       
    35 
       
    36     IF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
       
    37       SET(GLPK_PROPER_VERSION_FOUND FALSE)
       
    38     ELSE(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
       
    39       SET(GLPK_PROPER_VERSION_FOUND TRUE)
       
    40     ENDIF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
       
    41   ELSE(GLPK_FIND_VERSION)
       
    42     SET(GLPK_PROPER_VERSION_FOUND TRUE)
       
    43   ENDIF(GLPK_FIND_VERSION)
       
    44 ENDIF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
       
    45 
    17 INCLUDE(FindPackageHandleStandardArgs)
    46 INCLUDE(FindPackageHandleStandardArgs)
    18 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR)
    47 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_PROPER_VERSION_FOUND)
    19 
    48 
    20 IF(GLPK_FOUND)
    49 IF(GLPK_FOUND)
    21   SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
    50   SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
    22   SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
    51   SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
    23   SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
    52   SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)