| ... | ... |
@@ -11,14 +11,43 @@ |
| 11 | 11 |
FIND_LIBRARY(GLPK_LIBRARY |
| 12 | 12 |
glpk |
| 13 | 13 |
PATHS ${GLPK_REGKEY}/lib
|
| 14 | 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 | 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 | 49 |
IF(GLPK_FOUND) |
| 21 | 50 |
SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
|
| 22 | 51 |
SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
|
| 23 | 52 |
SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
|
| 24 | 53 |
ENDIF(GLPK_FOUND) |
0 comments (0 inline)