Changeset 1000:404b98971e1f in lemon-main
- Timestamp:
- 09/13/12 12:13:19 (12 years ago)
- Branch:
- default
- Parents:
- 996:b6347aae6575 (diff), 999:00f8d9f9920d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Phase:
- public
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
r998 r1000 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 … … 115 133 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG}) 116 134 117 INCLUDE(FindPythonInterp) 135 INCLUDE(FindThreads) 136 137 IF(NOT LEMON_THREADING) 138 IF(CMAKE_USE_PTHREADS_INIT) 139 SET(LEMON_THREADING "Pthread") 140 ELSEIF(CMAKE_USE_WIN32_THREADS_INIT) 141 SET(LEMON_THREADING "Win32") 142 ELSE() 143 SET(LEMON_THREADING "None") 144 ENDIF() 145 ENDIF() 146 147 SET( LEMON_THREADING "${LEMON_THREADING}" CACHE STRING 148 "Choose the threading library, options are: Pthread Win32 None." 149 FORCE ) 150 151 IF(LEMON_THREADING STREQUAL "Pthread") 152 SET(LEMON_USE_PTHREAD TRUE) 153 ELSEIF(LEMON_THREADING STREQUAL "Win32") 154 SET(LEMON_USE_WIN32_THREADS TRUE) 155 ENDIF() 118 156 119 157 ENABLE_TESTING() … … 127 165 ADD_SUBDIRECTORY(lemon) 128 166 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 167 ADD_SUBDIRECTORY(contrib) 129 168 ADD_SUBDIRECTORY(demo) 130 169 ADD_SUBDIRECTORY(tools) … … 150 189 ENDIF() 151 190 191 CONFIGURE_FILE( 192 ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in 193 ${PROJECT_BINARY_DIR}/cmake/version.cmake 194 @ONLY 195 ) 196 197 SET(ARCHIVE_BASE_NAME ${CMAKE_PROJECT_NAME}) 198 STRING(TOLOWER ${ARCHIVE_BASE_NAME} ARCHIVE_BASE_NAME) 199 SET(ARCHIVE_NAME ${ARCHIVE_BASE_NAME}-${PROJECT_VERSION}) 200 ADD_CUSTOM_TARGET(dist 201 COMMAND cmake -E remove_directory ${ARCHIVE_NAME} 202 COMMAND hg archive ${ARCHIVE_NAME} 203 COMMAND cmake -E copy cmake/version.cmake ${ARCHIVE_NAME}/cmake/version.cmake 204 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_NAME} 205 COMMAND zip -r ${ARCHIVE_BASE_NAME}-nodoc-${PROJECT_VERSION}.zip ${ARCHIVE_NAME} 206 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_NAME}/doc/html 207 COMMAND tar -czf ${ARCHIVE_NAME}.tar.gz ${ARCHIVE_NAME} 208 COMMAND zip -r ${ARCHIVE_NAME}.zip ${ARCHIVE_NAME} 209 COMMAND cmake -E copy_directory doc/html ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 210 COMMAND tar -czf ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.tar.gz ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 211 COMMAND zip -r ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION}.zip ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 212 COMMAND cmake -E remove_directory ${ARCHIVE_NAME} 213 COMMAND cmake -E remove_directory ${ARCHIVE_BASE_NAME}-doc-${PROJECT_VERSION} 214 DEPENDS html 215 WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) 216 217 # CPACK config (Basically for NSIS) 152 218 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) 153 219 SET(CPACK_PACKAGE_NAME ${PROJECT_NAME}) -
lemon/bits/edge_set_extender.h
r966 r1000 524 524 // Returns the base node of the iterator 525 525 Node baseNode(const IncEdgeIt &e) const { 526 return e.direction ? u(e) :v(e);526 return e.direction ? this->u(e) : this->v(e); 527 527 } 528 528 // Running node of the iterator … … 530 530 // Returns the running node of the iterator 531 531 Node runningNode(const IncEdgeIt &e) const { 532 return e.direction ? v(e) :u(e);532 return e.direction ? this->v(e) : this->u(e); 533 533 } 534 534 -
lemon/concepts/graph_components.h
r976 r1000 495 495 _GraphItemIt it3 = it1; 496 496 _GraphItemIt it4 = INVALID; 497 ignore_unused_variable_warning(it3); 498 ignore_unused_variable_warning(it4); 497 499 498 500 it2 = ++it1; … … 584 586 _GraphIncIt it3 = it1; 585 587 _GraphIncIt it4 = INVALID; 588 ignore_unused_variable_warning(it3); 589 ignore_unused_variable_warning(it4); 586 590 587 591 it2 = ++it1; -
lemon/core.h
r998 r1000 447 447 448 448 } 449 450 /// \brief Check whether a graph is undirected. 451 /// 452 /// This function returns \c true if the given graph is undirected. 453 #ifdef DOXYGEN 454 template <typename GR> 455 bool undirected(const GR& g) { return false; } 456 #else 457 template <typename GR> 458 typename enable_if<UndirectedTagIndicator<GR>, bool>::type 459 undirected(const GR&) { 460 return true; 461 } 462 template <typename GR> 463 typename disable_if<UndirectedTagIndicator<GR>, bool>::type 464 undirected(const GR&) { 465 return false; 466 } 467 #endif 449 468 450 469 /// \brief Class to copy a digraph. -
lemon/path.h
r998 r1000 44 44 /// 45 45 /// In a sense, the path can be treated as a list of arcs. The 46 /// lemonpath type stores just this list. As a consequence, it46 /// LEMON path type stores just this list. As a consequence, it 47 47 /// cannot enumerate the nodes of the path and the source node of 48 48 /// a zero length path is undefined. … … 149 149 void clear() { head.clear(); tail.clear(); } 150 150 151 /// \brief The n th arc.151 /// \brief The n-th arc. 152 152 /// 153 153 /// \pre \c n is in the <tt>[0..length() - 1]</tt> range. … … 157 157 } 158 158 159 /// \brief Initialize arc iterator to point to the n th arc159 /// \brief Initialize arc iterator to point to the n-th arc 160 160 /// 161 161 /// \pre \c n is in the <tt>[0..length() - 1]</tt> range. … … 245 245 /// 246 246 /// In a sense, the path can be treated as a list of arcs. The 247 /// lemonpath type stores just this list. As a consequence it247 /// LEMON path type stores just this list. As a consequence it 248 248 /// cannot enumerate the nodes in the path and the zero length paths 249 249 /// cannot store the source. … … 354 354 void clear() { data.clear(); } 355 355 356 /// \brief The n th arc.356 /// \brief The n-th arc. 357 357 /// 358 358 /// \pre \c n is in the <tt>[0..length() - 1]</tt> range. … … 361 361 } 362 362 363 /// \brief Initializes arc iterator to point to the n th arc.363 /// \brief Initializes arc iterator to point to the n-th arc. 364 364 ArcIt nthIt(int n) const { 365 365 return ArcIt(*this, n); … … 422 422 /// 423 423 /// In a sense, the path can be treated as a list of arcs. The 424 /// lemonpath type stores just this list. As a consequence it424 /// LEMON path type stores just this list. As a consequence it 425 425 /// cannot enumerate the nodes in the path and the zero length paths 426 426 /// cannot store the source. … … 544 544 }; 545 545 546 /// \brief The n th arc.547 /// 548 /// This function looks for the n th arc in O(n) time.546 /// \brief The n-th arc. 547 /// 548 /// This function looks for the n-th arc in O(n) time. 549 549 /// \pre \c n is in the <tt>[0..length() - 1]</tt> range. 550 550 const Arc& nth(int n) const { … … 556 556 } 557 557 558 /// \brief Initializes arc iterator to point to the n th arc.558 /// \brief Initializes arc iterator to point to the n-th arc. 559 559 ArcIt nthIt(int n) const { 560 560 Node *node = first; … … 775 775 /// 776 776 /// In a sense, the path can be treated as a list of arcs. The 777 /// lemonpath type stores just this list. As a consequence it777 /// LEMON path type stores just this list. As a consequence it 778 778 /// cannot enumerate the nodes in the path and the source node of 779 779 /// a zero length path is undefined. … … 884 884 }; 885 885 886 /// \brief The n th arc.886 /// \brief The n-th arc. 887 887 /// 888 888 /// \pre \c n is in the <tt>[0..length() - 1]</tt> range. … … 891 891 } 892 892 893 /// \brief The arc iterator pointing to the n th arc.893 /// \brief The arc iterator pointing to the n-th arc. 894 894 ArcIt nthIt(int n) const { 895 895 return ArcIt(*this, n); … … 1095 1095 /// 1096 1096 /// In a sense, the path can be treated as a list of arcs. The 1097 /// lemonpath type stores only this list. As a consequence, it1097 /// LEMON path type stores only this list. As a consequence, it 1098 1098 /// cannot enumerate the nodes in the path and the zero length paths 1099 1099 /// cannot have a source node. -
test/CMakeLists.txt
r998 r1000 38 38 maps_test 39 39 matching_test 40 max_cardinality_search_test 41 max_clique_test 40 42 min_cost_arborescence_test 41 43 min_cost_flow_test 42 44 min_mean_cycle_test 45 nagamochi_ibaraki_test 43 46 path_test 44 47 planarity_test
Note: See TracChangeset
for help on using the changeset viewer.