gravatar
ladanyi@tmit.bme.hu
ladanyi@tmit.bme.hu
Build GLPK dependent parts with CMake too
0 4 2
default
6 files changed with 101 insertions and 8 deletions:
↑ Collapse diff ↑
Show white space 6 line context
1
SET(GLPK_REGKEY "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Glpk;InstallPath]")
2
GET_FILENAME_COMPONENT(GLPK_ROOT_PATH ${GLPK_REGKEY} ABSOLUTE)
3

	
4
FIND_PATH(GLPK_INCLUDE_DIR
5
  glpk.h
6
  PATHS ${GLPK_REGKEY}/include)
7

	
8
FIND_LIBRARY(GLPK_LIBRARY
9
  NAMES glpk
10
  PATHS ${GLPK_REGKEY}/lib)
11

	
12
INCLUDE(FindPackageHandleStandardArgs)
13
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR)
14

	
15
IF(GLPK_FOUND)
16
  SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
17
  SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
18
ENDIF(GLPK_FOUND)
19

	
20
MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
Ignore white space 6 line context
1
#cmakedefine HAVE_LP 1
2
#cmakedefine HAVE_MIP 1
3
#cmakedefine HAVE_GLPK 1
Ignore white space 6 line context
... ...
@@ -11,2 +11,11 @@
11 11
INCLUDE(FindGhostscript)
12
FIND_PACKAGE(GLPK 4.33)
13

	
14
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
15

	
16
IF(GLPK_FOUND)
17
  SET(HAVE_LP TRUE)
18
  SET(HAVE_MIP TRUE)
19
  SET(HAVE_GLPK TRUE)
20
ENDIF(GLPK_FOUND)
12 21

	
Ignore white space 6 line context
1
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
1
INCLUDE_DIRECTORIES(
2
  ${CMAKE_SOURCE_DIR}
3
  ${CMAKE_BINARY_DIR}
4
  ${GLPK_INCLUDE_DIR}
5
)
2 6

	
Ignore white space 6 line context
1
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
1
INCLUDE_DIRECTORIES(
2
  ${CMAKE_SOURCE_DIR}
3
  ${CMAKE_BINARY_DIR}
4
  ${GLPK_INCLUDE_DIR}
5
)
2 6

	
3
ADD_LIBRARY(lemon
7
CONFIGURE_FILE(
8
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
9
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
10
)
11

	
12
SET(LEMON_SOURCES
4 13
  arg_parser.cc
... ...
@@ -6,4 +15,12 @@
6 15
  color.cc
16
  lp_base.cc
17
  lp_skeleton.cc
7 18
  random.cc)
8 19

	
20
IF(HAVE_GLPK)
21
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
22
ENDIF(HAVE_GLPK)
23

	
24
ADD_LIBRARY(lemon ${LEMON_SOURCES})
25

	
9 26
INSTALL(
... ...
@@ -18,1 +35,7 @@
18 35
  FILES_MATCHING PATTERN "*.h")
36

	
37
IF(WIN32)
38
  INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
39
  INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
40
  INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
41
ENDIF(WIN32)
Ignore white space 6 line context
1
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
1
INCLUDE_DIRECTORIES(
2
  ${CMAKE_SOURCE_DIR}
3
  ${CMAKE_BINARY_DIR}
4
  ${GLPK_INCLUDE_DIR}
5
)
2 6

	
... ...
@@ -13,4 +17,4 @@
13 17
  dim_test
18
  edge_set_test
14 19
  error_test
15
  edge_set_test
16 20
  graph_copy_test
... ...
@@ -21,9 +25,7 @@
21 25
  kruskal_test
22
  lp_test
23
  mip_test
24 26
  maps_test
25 27
  max_matching_test
26
  radix_sort_test
27 28
  path_test
28 29
  preflow_test
30
  radix_sort_test
29 31
  random_test
... ...
@@ -33,2 +35,34 @@
33 35

	
36
IF(HAVE_LP)
37
  ADD_EXECUTABLE(lp_test lp_test.cc)
38
  TARGET_LINK_LIBRARIES(lp_test lemon ${GLPK_LIBRARIES})
39
  ADD_TEST(lp_test lp_test)
40

	
41
  IF(WIN32)
42
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
43
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
44
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
45
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
46
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
47
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
48
    )
49
  ENDIF(WIN32)
50
ENDIF(HAVE_LP)
51

	
52
IF(HAVE_MIP)
53
  ADD_EXECUTABLE(mip_test mip_test.cc)
54
  TARGET_LINK_LIBRARIES(mip_test lemon ${GLPK_LIBRARIES})
55
  ADD_TEST(mip_test mip_test)
56

	
57
  IF(WIN32)
58
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
59
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
60
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
61
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
62
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
63
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
64
    )
65
  ENDIF(WIN32)
66
ENDIF(HAVE_MIP)
67

	
34 68
FOREACH(TEST_NAME ${TESTS})
0 comments (0 inline)