Changes in CMakeLists.txt [1125:b873350e6258:1234:b208de044477] in lemon
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
r1125 r1234 13 13 ELSE() 14 14 EXECUTE_PROCESS( 15 COMMAND ${PYTHON_EXECUTABLE} ./scripts/chg-len.py 15 COMMAND 16 hg log -r. --template "{latesttag}" 16 17 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} 17 OUTPUT_VARIABLE HG_REVISION_ PATH18 OUTPUT_VARIABLE HG_REVISION_TAG 18 19 ERROR_QUIET 19 20 OUTPUT_STRIP_TRAILING_WHITESPACE 20 21 ) 21 22 EXECUTE_PROCESS( 22 COMMAND hg id -i 23 COMMAND 24 hg log -r. --template "{latesttagdistance}" 23 25 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} 24 OUTPUT_VARIABLE HG_REVISION 26 OUTPUT_VARIABLE HG_REVISION_DIST 25 27 ERROR_QUIET 26 28 OUTPUT_STRIP_TRAILING_WHITESPACE 27 29 ) 28 IF(HG_REVISION STREQUAL "") 30 EXECUTE_PROCESS( 31 COMMAND 32 hg log -r. --template "{node|short}" 33 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} 34 OUTPUT_VARIABLE HG_REVISION_ID 35 ERROR_QUIET 36 OUTPUT_STRIP_TRAILING_WHITESPACE 37 ) 38 39 IF(HG_REVISION_TAG STREQUAL "") 29 40 SET(HG_REVISION_ID "hg-tip") 30 41 ELSE() 31 IF(HG_REVISION_PATH STREQUAL "") 32 SET(HG_REVISION_ID ${HG_REVISION}) 42 IF(HG_REVISION_TAG STREQUAL "null") 43 SET(HG_REVISION_TAG "trunk") 44 ELSEIF(HG_REVISION_TAG MATCHES "^r") 45 STRING(SUBSTRING ${HG_REVISION_TAG} 1 -1 HG_REVISION_TAG) 46 ENDIF() 47 IF(HG_REVISION_DIST STREQUAL "0") 48 SET(HG_REVISION ${HG_REVISION_TAG}) 33 49 ELSE() 34 SET(HG_REVISION_ID ${HG_REVISION_PATH}.${HG_REVISION}) 50 SET(HG_REVISION 51 "${HG_REVISION_TAG}+${HG_REVISION_DIST}-${HG_REVISION_ID}") 35 52 ENDIF() 36 53 ENDIF() 37 SET(LEMON_VERSION ${HG_REVISION_ID} CACHE STRING "LEMON version string.") 54 55 SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.") 38 56 ENDIF() 39 57 … … 44 62 FIND_PACKAGE(Doxygen) 45 63 FIND_PACKAGE(Ghostscript) 46 FIND_PACKAGE(GLPK 4.33) 47 FIND_PACKAGE(CPLEX) 48 FIND_PACKAGE(COIN) 64 65 SET(LEMON_ENABLE_GLPK YES CACHE STRING "Enable GLPK solver backend.") 66 SET(LEMON_ENABLE_ILOG YES CACHE STRING "Enable ILOG (CPLEX) solver backend.") 67 SET(LEMON_ENABLE_COIN YES CACHE STRING "Enable COIN solver backend.") 68 69 IF(LEMON_ENABLE_GLPK) 70 FIND_PACKAGE(GLPK 4.33) 71 ENDIF(LEMON_ENABLE_GLPK) 72 IF(LEMON_ENABLE_ILOG) 73 FIND_PACKAGE(ILOG) 74 ENDIF(LEMON_ENABLE_ILOG) 75 IF(LEMON_ENABLE_COIN) 76 FIND_PACKAGE(COIN) 77 ENDIF(LEMON_ENABLE_COIN) 78 79 IF(GLPK_FOUND) 80 SET(LEMON_HAVE_LP TRUE) 81 SET(LEMON_HAVE_MIP TRUE) 82 SET(LEMON_HAVE_GLPK TRUE) 83 ENDIF(GLPK_FOUND) 84 IF(ILOG_FOUND) 85 SET(LEMON_HAVE_LP TRUE) 86 SET(LEMON_HAVE_MIP TRUE) 87 SET(LEMON_HAVE_CPLEX TRUE) 88 ENDIF(ILOG_FOUND) 89 IF(COIN_FOUND) 90 SET(LEMON_HAVE_LP TRUE) 91 SET(LEMON_HAVE_MIP TRUE) 92 SET(LEMON_HAVE_CLP TRUE) 93 SET(LEMON_HAVE_CBC TRUE) 94 ENDIF(COIN_FOUND) 95 96 IF(ILOG_FOUND) 97 SET(DEFAULT_LP "CPLEX") 98 SET(DEFAULT_MIP "CPLEX") 99 ELSEIF(COIN_FOUND) 100 SET(DEFAULT_LP "CLP") 101 SET(DEFAULT_MIP "CBC") 102 ELSEIF(GLPK_FOUND) 103 SET(DEFAULT_LP "GLPK") 104 SET(DEFAULT_MIP "GLPK") 105 ENDIF() 106 107 IF(NOT LEMON_DEFAULT_LP OR 108 (NOT ILOG_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CPLEX")) OR 109 (NOT COIN_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CLP")) OR 110 (NOT GLPK_FOUND AND (LEMON_DEFAULT_LP STREQUAL "GLPK"))) 111 SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING 112 "Default LP solver backend (GLPK, CPLEX or CLP)" FORCE) 113 ENDIF() 114 IF(NOT LEMON_DEFAULT_MIP OR 115 (NOT ILOG_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CPLEX")) OR 116 (NOT COIN_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CBC")) OR 117 (NOT GLPK_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "GLPK"))) 118 SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING 119 "Default MIP solver backend (GLPK, CPLEX or CBC)" FORCE) 120 ENDIF() 121 49 122 50 123 IF(DEFINED ENV{LEMON_CXX_WARNING}) … … 74 147 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEMON_CXX_WARNING_FLAGS}") 75 148 76 SET( CMAKE_CXX_FLAGS_MAINTAINER "-Werror -ggdb -O0" CACHE STRING 149 IF(MSVC) 150 SET( CMAKE_CXX_FLAGS_MAINTAINER "/WX ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING 77 151 "Flags used by the C++ compiler during maintainer builds." 78 FORCE)79 SET( CMAKE_C_FLAGS_MAINTAINER "-Werror -O0" CACHE STRING152 ) 153 SET( CMAKE_C_FLAGS_MAINTAINER "/WX ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING 80 154 "Flags used by the C compiler during maintainer builds." 81 FORCE ) 82 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 155 ) 156 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 157 "${CMAKE_EXE_LINKER_FLAGS_DEBUG}" CACHE STRING 158 "Flags used for linking binaries during maintainer builds." 159 ) 160 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER 161 "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING 162 "Flags used by the shared libraries linker during maintainer builds." 163 ) 164 ELSE() 165 SET( CMAKE_CXX_FLAGS_MAINTAINER "-Werror -ggdb -O0" CACHE STRING 166 "Flags used by the C++ compiler during maintainer builds." 167 ) 168 SET( CMAKE_C_FLAGS_MAINTAINER "-Werror -O0" CACHE STRING 169 "Flags used by the C compiler during maintainer builds." 170 ) 171 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 83 172 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING 84 173 "Flags used for linking binaries during maintainer builds." 85 FORCE)86 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER174 ) 175 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER 87 176 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING 88 177 "Flags used by the shared libraries linker during maintainer builds." 89 FORCE ) 178 ) 179 ENDIF() 180 90 181 MARK_AS_ADVANCED( 91 182 CMAKE_CXX_FLAGS_MAINTAINER … … 115 206 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG}) 116 207 208 INCLUDE(FindThreads) 209 210 IF(NOT LEMON_THREADING) 211 IF(CMAKE_USE_PTHREADS_INIT) 212 SET(LEMON_THREADING "Pthread") 213 ELSEIF(CMAKE_USE_WIN32_THREADS_INIT) 214 SET(LEMON_THREADING "Win32") 215 ELSE() 216 SET(LEMON_THREADING "None") 217 ENDIF() 218 ENDIF() 219 220 SET( LEMON_THREADING "${LEMON_THREADING}" CACHE STRING 221 "Choose the threading library, options are: Pthread Win32 None." 222 FORCE ) 223 224 IF(LEMON_THREADING STREQUAL "Pthread") 225 SET(LEMON_USE_PTHREAD TRUE) 226 ELSEIF(LEMON_THREADING STREQUAL "Win32") 227 SET(LEMON_USE_WIN32_THREADS TRUE) 228 ENDIF() 229 117 230 ENABLE_TESTING() 118 231 … … 125 238 ADD_SUBDIRECTORY(lemon) 126 239 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 240 ADD_SUBDIRECTORY(contrib) 127 241 ADD_SUBDIRECTORY(demo) 128 242 ADD_SUBDIRECTORY(tools) … … 148 262 ENDIF() 149 263 264 CONFIGURE_FILE( 265 ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in 266 ${PROJECT_BINARY_DIR}/cmake/version.cmake 267 @ONLY 268 ) 269 270 SET(ARCHIVE_BASE_NAME ${CMAKE_PROJECT_NAME}) 271 STRING(TOLOWER ${ARCHIVE_BASE_NAME} ARCHIVE_BASE_NAME) 272 SET(ARCHIVE_NAME ${ARCHIVE_BASE_NAME}-${PROJECT_VERSION}) 273 ADD_CUSTOM_TARGET(dist 274 COMMAND cmake -E remove_directory ${ARCHIVE_NAME} 275 COMMAND hg archive ${ARCHIVE_NAME} 276 COMMAND cmake -E copy cmake/version.cmake ${ARCHIVE_NAME}/cmake/version.cmake 277 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_NAME} 278 COMMAND zip -r ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.zip ${ARCHIVE_NAME} 279 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_NAME}/doc/html 280 COMMAND tar -czf ${ARCHIVE_NAME}.tar.gz ${ARCHIVE_NAME} 281 COMMAND zip -r ${ARCHIVE_NAME}.zip ${ARCHIVE_NAME} 282 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 283 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 284 COMMAND zip -r ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.zip ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 285 COMMAND cmake -E remove_directory ${ARCHIVE_NAME} 286 COMMAND cmake -E remove_directory ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 287 DEPENDS html 288 WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) 289 290 # CPACK config (Basically for NSIS) 150 291 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 151 292 SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
Note: See TracChangeset
for help on using the changeset viewer.