diff --git a/CMakeExternals/ANN.cmake b/CMakeExternals/ANN.cmake index 25822784e8..b5256cf40c 100644 --- a/CMakeExternals/ANN.cmake +++ b/CMakeExternals/ANN.cmake @@ -1,56 +1,50 @@ #----------------------------------------------------------------------------- # ANN #----------------------------------------------------------------------------- if(MITK_USE_ANN) # Sanity checks if(DEFINED ANN_DIR AND NOT EXISTS ${ANN_DIR}) message(FATAL_ERROR "ANN_DIR variable is defined but corresponds to non-existing directory") endif() set(proj ANN) set(proj_DEPENDENCIES ) set(ANN_DEPENDS ${proj}) if(NOT DEFINED ANN_DIR) set(additional_args ) if(CTEST_USE_LAUNCHERS) list(APPEND additional_args "-DCMAKE_PROJECT_${proj}_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake" ) endif() - set(patch_cmd - ${CMAKE_COMMAND} -Dproj:STRING=${proj} -Dproj_target:STRING=ann -P ${CMAKE_CURRENT_LIST_DIR}/GenerateDefaultCMakeBuildSystem.cmake - COMMAND ${PATCH_COMMAND} -N -p1 -i ${CMAKE_CURRENT_LIST_DIR}/ANN.patch - ) - ExternalProject_Add(${proj} LIST_SEPARATOR ${sep} - URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/ann_1.1.2.tar.gz - URL_MD5 7ffaacc7ea79ca39d4958a6378071365 - PATCH_COMMAND ${patch_cmd} + GIT_REPOSITORY https://github.com/MITK/ANN.git + GIT_TAG v1.1.2-patched CMAKE_GENERATOR ${gen} CMAKE_GENERATOR_PLATFORM ${gen_platform} CMAKE_ARGS ${ep_common_args} ${additional_args} CMAKE_CACHE_ARGS ${ep_common_cache_args} CMAKE_CACHE_DEFAULT_ARGS ${ep_common_cache_default_args} DEPENDS ${proj_DEPENDENCIES} ) set(ANN_DIR ${ep_prefix}/lib/cmake/ANN) mitkFunctionInstallExternalCMakeProject(${proj}) else() mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}") endif() endif() diff --git a/CMakeExternals/ANN.patch b/CMakeExternals/ANN.patch deleted file mode 100644 index fb191edf81..0000000000 --- a/CMakeExternals/ANN.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff -urNb ann_1.1.2/src/ANN.cpp ANN/src/ANN.cpp ---- ann_1.1.2/src/ANN.cpp 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/ANN.cpp 2022-03-17 21:55:57.011720500 +0100 -@@ -48,9 +48,9 @@ - ANNpoint p, - ANNpoint q) - { -- register int d; -- register ANNcoord diff; -- register ANNcoord dist; -+ int d; -+ ANNcoord diff; -+ ANNcoord dist; - - dist = 0; - for (d = 0; d < dim; d++) { -diff -urNb ann_1.1.2/src/kd_fix_rad_search.cpp ANN/src/kd_fix_rad_search.cpp ---- ann_1.1.2/src/kd_fix_rad_search.cpp 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/kd_fix_rad_search.cpp 2022-03-17 21:56:09.257624400 +0100 -@@ -147,11 +147,11 @@ - - void ANNkd_leaf::ann_FR_search(ANNdist box_dist) - { -- register ANNdist dist; // distance to data point -- register ANNcoord* pp; // data coordinate pointer -- register ANNcoord* qq; // query coordinate pointer -- register ANNcoord t; -- register int d; -+ ANNdist dist; // distance to data point -+ ANNcoord* pp; // data coordinate pointer -+ ANNcoord* qq; // query coordinate pointer -+ ANNcoord t; -+ int d; - - for (int i = 0; i < n_pts; i++) { // check points in bucket - -diff -urNb ann_1.1.2/src/kd_pr_search.cpp ANN/src/kd_pr_search.cpp ---- ann_1.1.2/src/kd_pr_search.cpp 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/kd_pr_search.cpp 2022-03-17 21:56:20.260622500 +0100 -@@ -180,12 +180,12 @@ - - void ANNkd_leaf::ann_pri_search(ANNdist box_dist) - { -- register ANNdist dist; // distance to data point -- register ANNcoord* pp; // data coordinate pointer -- register ANNcoord* qq; // query coordinate pointer -- register ANNdist min_dist; // distance to k-th closest point -- register ANNcoord t; -- register int d; -+ ANNdist dist; // distance to data point -+ ANNcoord* pp; // data coordinate pointer -+ ANNcoord* qq; // query coordinate pointer -+ ANNdist min_dist; // distance to k-th closest point -+ ANNcoord t; -+ int d; - - min_dist = ANNprPointMK->max_key(); // k-th smallest distance so far - -diff -urNb ann_1.1.2/src/kd_search.cpp ANN/src/kd_search.cpp ---- ann_1.1.2/src/kd_search.cpp 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/kd_search.cpp 2022-03-17 21:56:28.132124600 +0100 -@@ -171,12 +171,12 @@ - - void ANNkd_leaf::ann_search(ANNdist box_dist) - { -- register ANNdist dist; // distance to data point -- register ANNcoord* pp; // data coordinate pointer -- register ANNcoord* qq; // query coordinate pointer -- register ANNdist min_dist; // distance to k-th closest point -- register ANNcoord t; -- register int d; -+ ANNdist dist; // distance to data point -+ ANNcoord* pp; // data coordinate pointer -+ ANNcoord* qq; // query coordinate pointer -+ ANNdist min_dist; // distance to k-th closest point -+ ANNcoord t; -+ int d; - - min_dist = ANNkdPointMK->max_key(); // k-th smallest distance so far - -diff -urNb ann_1.1.2/src/kd_util.cpp ANN/src/kd_util.cpp ---- ann_1.1.2/src/kd_util.cpp 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/kd_util.cpp 2022-03-17 21:56:34.316330300 +0100 -@@ -127,10 +127,10 @@ - const ANNpoint hi, // high point of box - int dim) // dimension of space - { -- register ANNdist dist = 0.0; // sum of squared distances -- register ANNdist t; -+ ANNdist dist = 0.0; // sum of squared distances -+ ANNdist t; - -- for (register int d = 0; d < dim; d++) { -+ for (int d = 0; d < dim; d++) { - if (q[d] < lo[d]) { // q is left of box - t = ANNdist(lo[d]) - ANNdist(q[d]); - dist = ANN_SUM(dist, ANN_POW(t)); -@@ -238,8 +238,8 @@ - int l = 0; // left end of current subarray - int r = n-1; // right end of current subarray - while (l < r) { -- register int i = (r+l)/2; // select middle as pivot -- register int k; -+ int i = (r+l)/2; // select middle as pivot -+ int k; - - if (PA(i,d) > PA(r,d)) // make sure last > pivot - PASWAP(i,r) -diff -urNb ann_1.1.2/src/pr_queue.h ANN/src/pr_queue.h ---- ann_1.1.2/src/pr_queue.h 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/pr_queue.h 2022-03-17 21:56:44.266327900 +0100 -@@ -86,9 +86,9 @@ - PQinfo inf) // item info - { - if (++n > max_size) annError("Priority queue overflow.", ANNabort); -- register int r = n; -+ int r = n; - while (r > 1) { // sift up new item -- register int p = r/2; -+ int p = r/2; - ANN_FLOP(1) // increment floating ops - if (pq[p].key <= kv) // in proper order - break; -@@ -105,9 +105,9 @@ - { - kv = pq[1].key; // key of min item - inf = pq[1].info; // information of min item -- register PQkey kn = pq[n--].key;// last item in queue -- register int p = 1; // p points to item out of position -- register int r = p<<1; // left child of p -+ PQkey kn = pq[n--].key;// last item in queue -+ int p = 1; // p points to item out of position -+ int r = p<<1; // left child of p - while (r <= n) { // while r is still within the heap - ANN_FLOP(2) // increment floating ops - // set r to smaller child of p -diff -urNb ann_1.1.2/src/pr_queue_k.h ANN/src/pr_queue_k.h ---- ann_1.1.2/src/pr_queue_k.h 2010-01-28 05:40:01.000000000 +0100 -+++ ANN/src/pr_queue_k.h 2022-03-17 21:56:55.450345900 +0100 -@@ -100,7 +100,7 @@ - PQKkey kv, // key value - PQKinfo inf) // item info - { -- register int i; -+ int i; - // slide larger values up - for (i = n; i > 0; i--) { - if (mk[i-1].key > kv) diff --git a/CMakeExternals/ANNCMakeLists.txt b/CMakeExternals/ANNCMakeLists.txt deleted file mode 100644 index b65ec9384e..0000000000 --- a/CMakeExternals/ANNCMakeLists.txt +++ /dev/null @@ -1,80 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(ANN) - -set(${PROJECT_NAME}_MAJOR_VERSION 1) -set(${PROJECT_NAME}_MINOR_VERSION 1) -set(${PROJECT_NAME}_PATCH_VERSION 2) -set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}.${${PROJECT_NAME}_PATCH_VERSION}) - -set(ANN_HEADERS - include/ANN/ANN.h - include/ANN/ANNperf.h - include/ANN/ANNx.h -) - -set(ANN_SOURCES - src/ANN.cpp - src/bd_fix_rad_search.cpp - src/bd_pr_search.cpp - src/bd_search.cpp - src/bd_tree.cpp - src/brute.cpp - src/kd_dump.cpp - src/kd_fix_rad_search.cpp - src/kd_pr_search.cpp - src/kd_search.cpp - src/kd_split.cpp - src/kd_tree.cpp - src/kd_util.cpp - src/perf.cpp -) - -add_library(ann SHARED ${ANN_HEADERS} ${ANN_SOURCES}) -target_include_directories(ann - PUBLIC "$" - "$" -) -target_compile_definitions(ann PRIVATE $<$:DLL_EXPORTS>) -set_target_properties(ann PROPERTIES - SOVERSION ${${PROJECT_NAME}_VERSION}) - -set(${PROJECT_NAME}_LIBRARIES ann) - -# Install support - -install(TARGETS ${${PROJECT_NAME}_LIBRARIES} EXPORT ${PROJECT_NAME}_TARGETS - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin -) -install(FILES ${ANN_HEADERS} - DESTINATION include/${PROJECT_NAME} -) - -# Config files -configure_file( - ${PROJECT_NAME}Config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake - @ONLY -) -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - @ONLY -) - -export(EXPORT ${PROJECT_NAME}_TARGETS - FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake -) - -set(config_package_location lib/cmake/${PROJECT_NAME}) -install(EXPORT ${PROJECT_NAME}_TARGETS - FILE ${PROJECT_NAME}Targets.cmake - DESTINATION ${config_package_location} -) -install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" - DESTINATION ${config_package_location} -)