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) |