Changes in CMakeLists.txt [1264:4000b7ef4e01:1159:7fdaa05a69a1] in lemon
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
r1264 r1159 13 13 ELSE() 14 14 EXECUTE_PROCESS( 15 COMMAND 16 hg log -r. --template "{latesttag}" 15 COMMAND ${PYTHON_EXECUTABLE} ./scripts/chg-len.py 17 16 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} 18 OUTPUT_VARIABLE HG_REVISION_ TAG17 OUTPUT_VARIABLE HG_REVISION_PATH 19 18 ERROR_QUIET 20 19 OUTPUT_STRIP_TRAILING_WHITESPACE 21 20 ) 22 21 EXECUTE_PROCESS( 23 COMMAND 24 hg log -r. --template "{latesttagdistance}" 22 COMMAND hg id -i 25 23 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} 26 OUTPUT_VARIABLE HG_REVISION _DIST24 OUTPUT_VARIABLE HG_REVISION 27 25 ERROR_QUIET 28 26 OUTPUT_STRIP_TRAILING_WHITESPACE 29 27 ) 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 "") 28 IF(HG_REVISION STREQUAL "") 40 29 SET(HG_REVISION_ID "hg-tip") 41 30 ELSE() 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}) 31 IF(HG_REVISION_PATH STREQUAL "") 32 SET(HG_REVISION_ID ${HG_REVISION}) 49 33 ELSE() 50 SET(HG_REVISION 51 "${HG_REVISION_TAG}+${HG_REVISION_DIST}-${HG_REVISION_ID}") 34 SET(HG_REVISION_ID ${HG_REVISION_PATH}.${HG_REVISION}) 52 35 ENDIF() 53 36 ENDIF() 54 55 SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.") 37 SET(LEMON_VERSION ${HG_REVISION_ID} CACHE STRING "LEMON version string.") 56 38 ENDIF() 57 39 … … 62 44 FIND_PACKAGE(Doxygen) 63 45 FIND_PACKAGE(Ghostscript) 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 SET(LEMON_ENABLE_SOPLEX YES CACHE STRING "Enable SoPlex solver backend.") 69 70 IF(LEMON_ENABLE_GLPK) 71 FIND_PACKAGE(GLPK 4.33) 72 ENDIF(LEMON_ENABLE_GLPK) 73 IF(LEMON_ENABLE_ILOG) 74 FIND_PACKAGE(ILOG) 75 ENDIF(LEMON_ENABLE_ILOG) 76 IF(LEMON_ENABLE_COIN) 77 FIND_PACKAGE(COIN) 78 ENDIF(LEMON_ENABLE_COIN) 79 IF(LEMON_ENABLE_SOPLEX) 80 FIND_PACKAGE(SOPLEX) 81 ENDIF(LEMON_ENABLE_SOPLEX) 82 83 IF(GLPK_FOUND) 84 SET(LEMON_HAVE_LP TRUE) 85 SET(LEMON_HAVE_MIP TRUE) 86 SET(LEMON_HAVE_GLPK TRUE) 87 ENDIF(GLPK_FOUND) 88 IF(ILOG_FOUND) 89 SET(LEMON_HAVE_LP TRUE) 90 SET(LEMON_HAVE_MIP TRUE) 91 SET(LEMON_HAVE_CPLEX TRUE) 92 ENDIF(ILOG_FOUND) 93 IF(COIN_FOUND) 94 SET(LEMON_HAVE_LP TRUE) 95 SET(LEMON_HAVE_MIP TRUE) 96 SET(LEMON_HAVE_CLP TRUE) 97 SET(LEMON_HAVE_CBC TRUE) 98 ENDIF(COIN_FOUND) 99 IF(SOPLEX_FOUND) 100 SET(LEMON_HAVE_LP TRUE) 101 SET(LEMON_HAVE_SOPLEX TRUE) 102 ENDIF(SOPLEX_FOUND) 103 104 IF(ILOG_FOUND) 105 SET(DEFAULT_LP "CPLEX") 106 SET(DEFAULT_MIP "CPLEX") 107 ELSEIF(COIN_FOUND) 108 SET(DEFAULT_LP "CLP") 109 SET(DEFAULT_MIP "CBC") 110 ELSEIF(GLPK_FOUND) 111 SET(DEFAULT_LP "GLPK") 112 SET(DEFAULT_MIP "GLPK") 113 ELSEIF(SOPLEX_FOUND) 114 SET(DEFAULT_LP "SOPLEX") 115 ENDIF() 116 117 IF(NOT LEMON_DEFAULT_LP OR 118 (NOT ILOG_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CPLEX")) OR 119 (NOT COIN_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CLP")) OR 120 (NOT GLPK_FOUND AND (LEMON_DEFAULT_LP STREQUAL "GLPK")) OR 121 (NOT SOPLEX_FOUND AND (LEMON_DEFAULT_LP STREQUAL "SOPLEX"))) 122 SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING 123 "Default LP solver backend (GLPK, CPLEX, CLP or SOPLEX)" FORCE) 124 ENDIF() 125 IF(NOT LEMON_DEFAULT_MIP OR 126 (NOT ILOG_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CPLEX")) OR 127 (NOT COIN_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CBC")) OR 128 (NOT GLPK_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "GLPK"))) 129 SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING 130 "Default MIP solver backend (GLPK, CPLEX or CBC)" FORCE) 131 ENDIF() 132 46 FIND_PACKAGE(GLPK 4.33) 47 FIND_PACKAGE(CPLEX) 48 FIND_PACKAGE(COIN) 133 49 134 50 IF(DEFINED ENV{LEMON_CXX_WARNING}) … … 158 74 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEMON_CXX_WARNING_FLAGS}") 159 75 160 IF(MSVC) 161 SET( CMAKE_CXX_FLAGS_MAINTAINER "/WX ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING 76 SET( CMAKE_CXX_FLAGS_MAINTAINER "-Werror -ggdb -O0" CACHE STRING 162 77 "Flags used by the C++ compiler during maintainer builds." 163 )164 SET( CMAKE_C_FLAGS_MAINTAINER "/WX ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING78 FORCE ) 79 SET( CMAKE_C_FLAGS_MAINTAINER "-Werror -O0" CACHE STRING 165 80 "Flags used by the C compiler during maintainer builds." 166 ) 167 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 168 "${CMAKE_EXE_LINKER_FLAGS_DEBUG}" CACHE STRING 169 "Flags used for linking binaries during maintainer builds." 170 ) 171 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER 172 "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING 173 "Flags used by the shared libraries linker during maintainer builds." 174 ) 175 ELSE() 176 SET( CMAKE_CXX_FLAGS_MAINTAINER "-Werror -ggdb -O0" CACHE STRING 177 "Flags used by the C++ compiler during maintainer builds." 178 ) 179 SET( CMAKE_C_FLAGS_MAINTAINER "-Werror -O0" CACHE STRING 180 "Flags used by the C compiler during maintainer builds." 181 ) 182 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 81 FORCE ) 82 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER 183 83 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING 184 84 "Flags used for linking binaries during maintainer builds." 185 )186 85 FORCE ) 86 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER 187 87 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING 188 88 "Flags used by the shared libraries linker during maintainer builds." 189 ) 190 ENDIF() 191 89 FORCE ) 192 90 MARK_AS_ADVANCED( 193 91 CMAKE_CXX_FLAGS_MAINTAINER … … 217 115 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG}) 218 116 219 INCLUDE(FindThreads) 220 221 IF(NOT LEMON_THREADING) 222 IF(CMAKE_USE_PTHREADS_INIT) 223 SET(LEMON_THREADING "Pthread") 224 ELSEIF(CMAKE_USE_WIN32_THREADS_INIT) 225 SET(LEMON_THREADING "Win32") 226 ELSE() 227 SET(LEMON_THREADING "None") 228 ENDIF() 229 ENDIF() 230 231 SET( LEMON_THREADING "${LEMON_THREADING}" CACHE STRING 232 "Choose the threading library, options are: Pthread Win32 None." 233 FORCE ) 234 235 IF(LEMON_THREADING STREQUAL "Pthread") 236 SET(LEMON_USE_PTHREAD TRUE) 237 ELSEIF(LEMON_THREADING STREQUAL "Win32") 238 SET(LEMON_USE_WIN32_THREADS TRUE) 239 ENDIF() 117 INCLUDE(FindPythonInterp) 240 118 241 119 ENABLE_TESTING() … … 249 127 ADD_SUBDIRECTORY(lemon) 250 128 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 251 ADD_SUBDIRECTORY(contrib)252 129 ADD_SUBDIRECTORY(demo) 253 130 ADD_SUBDIRECTORY(tools) … … 273 150 ENDIF() 274 151 275 CONFIGURE_FILE(276 ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in277 ${PROJECT_BINARY_DIR}/cmake/version.cmake278 @ONLY279 )280 281 SET(ARCHIVE_BASE_NAME ${CMAKE_PROJECT_NAME})282 STRING(TOLOWER ${ARCHIVE_BASE_NAME} ARCHIVE_BASE_NAME)283 SET(ARCHIVE_NAME ${ARCHIVE_BASE_NAME}-${PROJECT_VERSION})284 ADD_CUSTOM_TARGET(dist285 COMMAND cmake -E remove_directory ${ARCHIVE_NAME}286 COMMAND hg archive ${ARCHIVE_NAME}287 COMMAND cmake -E copy cmake/version.cmake ${ARCHIVE_NAME}/cmake/version.cmake288 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_NAME}289 COMMAND zip -r ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.zip ${ARCHIVE_NAME}290 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_NAME}/doc/html291 COMMAND tar -czf ${ARCHIVE_NAME}.tar.gz ${ARCHIVE_NAME}292 COMMAND zip -r ${ARCHIVE_NAME}.zip ${ARCHIVE_NAME}293 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}294 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}295 COMMAND zip -r ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.zip ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}296 COMMAND cmake -E remove_directory ${ARCHIVE_NAME}297 COMMAND cmake -E remove_directory ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}298 DEPENDS html299 WORKING_DIRECTORY ${PROJECT_BINARY_DIR})300 301 # CPACK config (Basically for NSIS)302 152 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 303 153 SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
Note: See TracChangeset
for help on using the changeset viewer.