[Lemon-commits] Akos Ladanyi: Merge and extend the fix of #275

Lemon HG hg at lemon.cs.elte.hu
Tue Apr 28 15:04:24 CEST 2009


details:   http://lemon.cs.elte.hu/hg/lemon/rev/20dac2104519
changeset: 664:20dac2104519
user:      Akos Ladanyi <ladanyi [at] tmit.bme.hu>
date:      Tue Apr 28 13:51:34 2009 +0100
description:
	Merge and extend the fix of #275

diffstat:

 CMakeLists.txt           |   4 +++-
 cmake/FindCOIN.cmake     |   8 ++++----
 cmake/FindCPLEX.cmake    |   6 +++---
 cmake/FindGLPK.cmake     |   6 +++---
 configure.ac             |   2 +-
 lemon/CMakeLists.txt     |  21 +++++++++++++--------
 lemon/Makefile.am        |   1 +
 lemon/bits/default_map.h |   2 +-
 lemon/config.h.cmake     |  14 +++++++-------
 lemon/config.h.in        |  16 ++++++++--------
 lemon/lp.h               |  16 ++++++++--------
 m4/lx_check_coin.m4      |  10 +++++-----
 m4/lx_check_cplex.m4     |   6 +++---
 m4/lx_check_glpk.m4      |   6 +++---
 m4/lx_check_soplex.m4    |   4 ++--
 test/CMakeLists.txt      |  48 ++++++++++++++++++++++++------------------------
 test/lp_test.cc          |  16 ++++++++--------
 test/mip_test.cc         |  12 ++++++------
 tools/dimacs-solver.cc   |   4 ++--
 19 files changed, 105 insertions(+), 97 deletions(-)

diffs (truncated from 557 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,8 +28,10 @@
 # C4996: 'function': was declared deprecated
 ENDIF(MSVC)
 
+ADD_DEFINITIONS(-DHAVE_CONFIG_H)
+
 INCLUDE(CheckTypeSize)
-CHECK_TYPE_SIZE("long long" LONG_LONG)
+CHECK_TYPE_SIZE("long long" LEMON_LONG_LONG)
 
 ENABLE_TESTING()
 
diff --git a/cmake/FindCOIN.cmake b/cmake/FindCOIN.cmake
--- a/cmake/FindCOIN.cmake
+++ b/cmake/FindCOIN.cmake
@@ -61,8 +61,8 @@
 )
 
 IF(COIN_FOUND)
-  SET(HAVE_LP TRUE)
-  SET(HAVE_MIP TRUE)
-  SET(HAVE_CLP TRUE)
-  SET(HAVE_CBC TRUE)
+  SET(LEMON_HAVE_LP TRUE)
+  SET(LEMON_HAVE_MIP TRUE)
+  SET(LEMON_HAVE_CLP TRUE)
+  SET(LEMON_HAVE_CBC TRUE)
 ENDIF(COIN_FOUND)
diff --git a/cmake/FindCPLEX.cmake b/cmake/FindCPLEX.cmake
--- a/cmake/FindCPLEX.cmake
+++ b/cmake/FindCPLEX.cmake
@@ -21,7 +21,7 @@
 MARK_AS_ADVANCED(CPLEX_LIBRARY CPLEX_INCLUDE_DIR CPLEX_BIN_DIR)
 
 IF(CPLEX_FOUND)
-  SET(HAVE_LP TRUE)
-  SET(HAVE_MIP TRUE)
-  SET(HAVE_CPLEX TRUE)
+  SET(LEMON_HAVE_LP TRUE)
+  SET(LEMON_HAVE_MIP TRUE)
+  SET(LEMON_HAVE_CPLEX TRUE)
 ENDIF(CPLEX_FOUND)
diff --git a/cmake/FindGLPK.cmake b/cmake/FindGLPK.cmake
--- a/cmake/FindGLPK.cmake
+++ b/cmake/FindGLPK.cmake
@@ -21,7 +21,7 @@
 MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
 
 IF(GLPK_FOUND)
-  SET(HAVE_LP TRUE)
-  SET(HAVE_MIP TRUE)
-  SET(HAVE_GLPK TRUE)
+  SET(LEMON_HAVE_LP TRUE)
+  SET(LEMON_HAVE_MIP TRUE)
+  SET(LEMON_HAVE_GLPK TRUE)
 ENDIF(GLPK_FOUND)
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,7 @@
 dnl Check the existence of long long type.
 AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
 if test x"$long_long_found" = x"yes"; then
-  AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
+  AC_DEFINE([LEMON_HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
 fi
 
 dnl Checks for programs.
diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt
--- a/lemon/CMakeLists.txt
+++ b/lemon/CMakeLists.txt
@@ -18,7 +18,7 @@
   bits/windows.cc
 )
 
-IF(HAVE_GLPK)
+IF(LEMON_HAVE_GLPK)
   SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
   INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
   IF(WIN32)
@@ -26,22 +26,22 @@
     INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
     INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
   ENDIF(WIN32)
-ENDIF(HAVE_GLPK)
+ENDIF(LEMON_HAVE_GLPK)
 
-IF(HAVE_CPLEX)
+IF(LEMON_HAVE_CPLEX)
   SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
   INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
-ENDIF(HAVE_CPLEX)
+ENDIF(LEMON_HAVE_CPLEX)
 
-IF(HAVE_CLP)
+IF(LEMON_HAVE_CLP)
   SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
-ENDIF(HAVE_CLP)
+ENDIF(LEMON_HAVE_CLP)
 
-IF(HAVE_CBC)
+IF(LEMON_HAVE_CBC)
   SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
-ENDIF(HAVE_CBC)
+ENDIF(LEMON_HAVE_CBC)
 
 ADD_LIBRARY(lemon ${LEMON_SOURCES})
 
@@ -55,3 +55,8 @@
   DESTINATION include/lemon
   COMPONENT headers
   FILES_MATCHING PATTERN "*.h")
+
+INSTALL(
+  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
+  DESTINATION include/lemon
+  COMPONENT headers)
diff --git a/lemon/Makefile.am b/lemon/Makefile.am
--- a/lemon/Makefile.am
+++ b/lemon/Makefile.am
@@ -61,6 +61,7 @@
 	lemon/clp.h \
 	lemon/color.h \
 	lemon/concept_check.h \
+	lemon/config.h \
 	lemon/connectivity.h \
 	lemon/counter.h \
 	lemon/core.h \
diff --git a/lemon/bits/default_map.h b/lemon/bits/default_map.h
--- a/lemon/bits/default_map.h
+++ b/lemon/bits/default_map.h
@@ -97,7 +97,7 @@
   };
 
 
-#if defined HAVE_LONG_LONG
+#if defined LEMON_HAVE_LONG_LONG
 
   // long long
   template <typename _Graph, typename _Item>
diff --git a/lemon/config.h.cmake b/lemon/config.h.cmake
--- a/lemon/config.h.cmake
+++ b/lemon/config.h.cmake
@@ -1,7 +1,7 @@
-#cmakedefine HAVE_LONG_LONG 1
-#cmakedefine HAVE_LP 1
-#cmakedefine HAVE_MIP 1
-#cmakedefine HAVE_GLPK 1
-#cmakedefine HAVE_CPLEX 1
-#cmakedefine HAVE_CLP 1
-#cmakedefine HAVE_CBC 1
+#cmakedefine LEMON_HAVE_LONG_LONG 1
+#cmakedefine LEMON_HAVE_LP 1
+#cmakedefine LEMON_HAVE_MIP 1
+#cmakedefine LEMON_HAVE_GLPK 1
+#cmakedefine LEMON_HAVE_CPLEX 1
+#cmakedefine LEMON_HAVE_CLP 1
+#cmakedefine LEMON_HAVE_CBC 1
diff --git a/lemon/config.h.in b/lemon/config.h.in
--- a/lemon/config.h.in
+++ b/lemon/config.h.in
@@ -1,23 +1,23 @@
 /* Define to 1 if you have long long */
-#undef HAVE_LONG_LONG
+#undef LEMON_HAVE_LONG_LONG
 
 /* Define to 1 if you have any LP solver. */
-#undef HAVE_LP
+#undef LEMON_HAVE_LP
 
 /* Define to 1 if you have any MIP solver. */
-#undef HAVE_MIP
+#undef LEMON_HAVE_MIP
 
 /* Define to 1 if you have CPLEX. */
-#undef HAVE_CPLEX
+#undef LEMON_HAVE_CPLEX
 
 /* Define to 1 if you have GLPK. */
-#undef HAVE_GLPK
+#undef LEMON_HAVE_GLPK
 
 /* Define to 1 if you have SOPLEX */
-#undef HAVE_SOPLEX
+#undef LEMON_HAVE_SOPLEX
 
 /* Define to 1 if you have CLP */
-#undef HAVE_CLP
+#undef LEMON_HAVE_CLP
 
 /* Define to 1 if you have CBC */
-#undef HAVE_CBC
+#undef LEMON_HAVE_CBC
diff --git a/lemon/lp.h b/lemon/lp.h
--- a/lemon/lp.h
+++ b/lemon/lp.h
@@ -22,13 +22,13 @@
 #include<lemon/config.h>
 
 
-#ifdef HAVE_GLPK
+#ifdef LEMON_HAVE_GLPK
 #include <lemon/glpk.h>
-#elif HAVE_CPLEX
+#elif LEMON_HAVE_CPLEX
 #include <lemon/cplex.h>
-#elif HAVE_SOPLEX
+#elif LEMON_HAVE_SOPLEX
 #include <lemon/soplex.h>
-#elif HAVE_CLP
+#elif LEMON_HAVE_CLP
 #include <lemon/clp.h>
 #endif
 
@@ -69,20 +69,20 @@
   ///Currently, it is either \c GlpkMip or \c CplexMip
   typedef GlpkMip Mip;
 #else
-#ifdef HAVE_GLPK
+#ifdef LEMON_HAVE_GLPK
 # define LEMON_DEFAULT_LP GLPK
   typedef GlpkLp Lp;
 # define LEMON_DEFAULT_MIP GLPK
   typedef GlpkMip Mip;
-#elif HAVE_CPLEX
+#elif LEMON_HAVE_CPLEX
 # define LEMON_DEFAULT_LP CPLEX
   typedef CplexLp Lp;
 # define LEMON_DEFAULT_MIP CPLEX
   typedef CplexMip Mip;
-#elif HAVE_SOPLEX
+#elif LEMON_HAVE_SOPLEX
 # define DEFAULT_LP SOPLEX
   typedef SoplexLp Lp;
-#elif HAVE_CLP
+#elif LEMON_HAVE_CLP
 # define DEFAULT_LP CLP
   typedef ClpLp Lp;  
 #endif
diff --git a/m4/lx_check_coin.m4 b/m4/lx_check_coin.m4
--- a/m4/lx_check_coin.m4
+++ b/m4/lx_check_coin.m4
@@ -55,9 +55,9 @@
     LIBS="$lx_save_libs"
 
     if test x"$lx_clp_found" = x"yes"; then
-      AC_DEFINE([HAVE_CLP], [1], [Define to 1 if you have CLP.])
+      AC_DEFINE([LEMON_HAVE_CLP], [1], [Define to 1 if you have CLP.])
       lx_lp_found=yes
-      AC_DEFINE([HAVE_LP], [1], [Define to 1 if you have any LP solver.])
+      AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.])
       AC_MSG_RESULT([yes])
     else
       CLP_CXXFLAGS=""
@@ -115,11 +115,11 @@
       LIBS="$lx_save_libs"
 
       if test x"$lx_cbc_found" = x"yes"; then
-        AC_DEFINE([HAVE_CBC], [1], [Define to 1 if you have CBC.])
+        AC_DEFINE([LEMON_HAVE_CBC], [1], [Define to 1 if you have CBC.])
         lx_lp_found=yes
-        AC_DEFINE([HAVE_LP], [1], [Define to 1 if you have any LP solver.])
+        AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.])
         lx_mip_found=yes
-        AC_DEFINE([HAVE_MIP], [1], [Define to 1 if you have any MIP solver.])
+        AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.])
         AC_MSG_RESULT([yes])
       else
         CBC_CXXFLAGS=""
diff --git a/m4/lx_check_cplex.m4 b/m4/lx_check_cplex.m4
--- a/m4/lx_check_cplex.m4
+++ b/m4/lx_check_cplex.m4
@@ -61,11 +61,11 @@
     LIBS="$lx_save_libs"
 
     if test x"$lx_cplex_found" = x"yes"; then
-      AC_DEFINE([HAVE_CPLEX], [1], [Define to 1 if you have CPLEX.])
+      AC_DEFINE([LEMON_HAVE_CPLEX], [1], [Define to 1 if you have CPLEX.])
       lx_lp_found=yes
-      AC_DEFINE([HAVE_LP], [1], [Define to 1 if you have any LP solver.])
+      AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.])
       lx_mip_found=yes
-      AC_DEFINE([HAVE_MIP], [1], [Define to 1 if you have any MIP solver.])
+      AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.])
       AC_MSG_RESULT([yes])
     else
       CPLEX_CFLAGS=""
diff --git a/m4/lx_check_glpk.m4 b/m4/lx_check_glpk.m4
--- a/m4/lx_check_glpk.m4
+++ b/m4/lx_check_glpk.m4
@@ -64,11 +64,11 @@
     LIBS="$lx_save_libs"
 
     if test x"$lx_glpk_found" = x"yes"; then
-      AC_DEFINE([HAVE_GLPK], [1], [Define to 1 if you have GLPK.])



More information about the Lemon-commits mailing list