@@ -3,11 +3,27 @@ cmake_minimum_required(VERSION 4.0.0)
33project (multi_view_tls_registration_step_2)
44
55# Source files
6+ #
7+ # multi_view_tls_registration_gui.cpp is raylib-based: the GLUT-window-and-
8+ # input-loop and point-cloud/loop-closure rendering code that used to go
9+ # through core's own legacy-GL PointCloud::render()/PointClouds::render()
10+ # now uses Core/raylib_render.hpp's ScanRenderer instead.
11+ #
12+ # rl_utils.cpp/rl_utils.h are this app's own raylib-based replacement for
13+ # the camera/picking/mini-compass/misc-ImGui-widget API it used to get from
14+ # core/src/utils.cpp (shared with the remaining GLUT apps, so it can't be
15+ # changed), using rlgl's rl*() legacy-GL-emulation API instead of real
16+ # gl*()/glu*()/glut*() calls -- see rl_utils.h's top comment.
17+ #
18+ # perform_experiment.cpp still #includes GLUT/glew/imgui-GLUT-backend headers,
19+ # but never calls anything from them (verified: no glut*/GL_*/ImGui_Impl*
20+ # symbols referenced in its body) -- those are dead includes left as-is, kept
21+ # resolvable via the include dirs below rather than editing that file.
622set (SOURCES
7- multi_view_tls_registration.cpp perform_experiment.cpp
23+ multi_view_tls_registration.cpp perform_experiment.cpp
824 multi_view_tls_registration_gui.cpp multi_view_tls_registration.h
25+ rl_utils.cpp rl_utils.h
926 ../lidar_odometry_step_1/lidar_odometry_utils.cpp
10- "../../core/src/utils.cpp"
1127)
1228
1329# Windows: add resource file
@@ -25,12 +41,14 @@ target_include_directories(
2541 multi_view_tls_registration_step_2
2642 PRIVATE include
2743 ${REPOSITORY_DIRECTORY} /core/include
28- ${THIRDPARTY_DIRECTORY} /glm
2944 ${EIGEN3_INCLUDE_DIR}
3045 ${THIRDPARTY_DIRECTORY}
46+ ${THIRDPARTY_DIRECTORY} /glm
47+ # For perform_experiment.cpp's unused-but-still-#included glm/GLUT/
48+ # glew/imgui-GLUT-backend headers (see note above) -- not otherwise
49+ # needed now that rendering goes through core_raylib.
3150 ${THIRDPARTY_DIRECTORY} /imgui
3251 ${THIRDPARTY_DIRECTORY} /imgui/backends
33- ${THIRDPARTY_DIRECTORY} /ImGuizmo
3452 ${THIRDPARTY_DIRECTORY} /glew-cmake/include
3553 ${FREEGLUT_INCLUDE_DIR}
3654 ${THIRDPARTY_DIRECTORY} /json/include
@@ -42,18 +60,23 @@ target_include_directories(
4260
4361 target_link_libraries (
4462 multi_view_tls_registration_step_2
45- PRIVATE
63+ PRIVATE
64+ # core_raylib brings in core + raylib transitively (PUBLIC link,
65+ # see core/CMakeLists.txt) -- ScanRenderer (the GPU point-cloud
66+ # renderer this app uses) lives there. FREEGLUT_LIBRARY is linked
67+ # PUBLIC by core_raylib rather than here, so it lands correctly
68+ # ordered relative to libcore.a on the final link line -- see the
69+ # comment there for why.
70+ core_raylib
71+ imgui_raylib
72+ rlimgui
73+ imguizmo_raylib
4674 WGS84toCartesian
4775 wgs84_do_puwg92
4876 unordered_dense::unordered_dense
4977 spdlog::spdlog
50- OpenGL::GLU
51- ${FREEGLUT_LIBRARY}
52- ${OPENGL_gl_LIBRARY}
5378 ${PLATFORM_LASZIP_LIB}
5479 ${PLATFORM_MISCELLANEOUS_LIBS}
55- ${CORE_LIBRARIES}
56- ${GUI_LIBRARIES}
5780 PROJ::proj )
5881
5982if (WIN32 )
@@ -71,4 +94,4 @@ if (MSVC)
7194 target_compile_options (multi_view_tls_registration_step_2 PRIVATE /bigobj )
7295endif ()
7396
74- install (TARGETS multi_view_tls_registration_step_2 DESTINATION bin)
97+ install (TARGETS multi_view_tls_registration_step_2 DESTINATION bin)
0 commit comments