@@ -21,30 +21,39 @@ if(TESTS_ENABLED)
2121endif ()
2222
2323include (FetchContent)
24- FetchContent_Declare(PoseLib
25- GIT_REPOSITORY https://github.com/PoseLib/PoseLib.git
26- GIT_TAG 0439b2d361125915b8821043fca9376e6cc575b9
27- EXCLUDE_FROM_ALL
28- SYSTEM
29- )
30- message (STATUS "Configuring PoseLib..." )
31- if (FETCH_POSELIB)
32- FetchContent_MakeAvailable(PoseLib)
24+
25+ if (NOT TARGET PoseLib AND NOT TARGET PoseLib::PoseLib)
26+ FetchContent_Declare(PoseLib
27+ GIT_REPOSITORY https://github.com/PoseLib/PoseLib.git
28+ GIT_TAG 0439b2d361125915b8821043fca9376e6cc575b9
29+ EXCLUDE_FROM_ALL
30+ SYSTEM
31+ )
32+ message (STATUS "Configuring PoseLib..." )
33+ if (FETCH_POSELIB)
34+ FetchContent_MakeAvailable(PoseLib)
35+ else ()
36+ find_package (PoseLib REQUIRED)
37+ endif ()
38+ message (STATUS "Configuring PoseLib... done" )
3339else ()
34- find_package ( PoseLib REQUIRED )
40+ message ( STATUS " PoseLib target already exists." )
3541endif ()
36- message (STATUS "Configuring PoseLib... done" )
3742
38- FetchContent_Declare(COLMAP
39- GIT_REPOSITORY https://github.com/colmap/colmap.git
40- GIT_TAG 78f1eefacae542d753c2e4f6a26771a0d976227d
41- EXCLUDE_FROM_ALL
42- )
43- message (STATUS "Configuring COLMAP..." )
44- set (UNINSTALL_ENABLED OFF CACHE INTERNAL "" )
45- if (FETCH_COLMAP)
46- FetchContent_MakeAvailable(COLMAP)
43+ if (NOT TARGET colmap AND NOT TARGET colmap::colmap)
44+ FetchContent_Declare(COLMAP
45+ GIT_REPOSITORY https://github.com/colmap/colmap.git
46+ GIT_TAG 78f1eefacae542d753c2e4f6a26771a0d976227d
47+ EXCLUDE_FROM_ALL
48+ )
49+ message (STATUS "Configuring COLMAP..." )
50+ set (UNINSTALL_ENABLED OFF CACHE INTERNAL "" )
51+ if (FETCH_COLMAP)
52+ FetchContent_MakeAvailable(COLMAP)
53+ else ()
54+ find_package (COLMAP REQUIRED)
55+ endif ()
56+ message (STATUS "Configuring COLMAP... done" )
4757else ()
48- find_package ( COLMAP REQUIRED )
58+ message ( STATUS " COLMAP target already exists." )
4959endif ()
50- message (STATUS "Configuring COLMAP... done" )
0 commit comments