-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
80 lines (71 loc) · 1.96 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
cmake_minimum_required(VERSION 3.26)
project(
robosim
VERSION 1.0
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
## Find dependencies
find_package(OpenGL REQUIRED)
find_package(glfw3 REQUIRED)
# find_package(imgui REQUIRED) # 注释掉这一行
find_package(GLEW REQUIRED)
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
set(SOURCES
src/core/Application.cpp
src/core/DhParam.cpp
src/core/InverseKinematics.cpp
src/core/JointedLink.cpp
src/core/JointedLink2.cpp
src/core/JointedGripper.cpp
src/core/PidController.cpp
src/core/Robot.cpp
src/Main.cpp
src/meshes/BoxMesh.cpp
src/meshes/CylinderMesh.cpp
src/meshes/JointedLinkMesh.cpp
src/meshes/JointedLinkMesh2.cpp
src/meshes/JointedGripperMesh.cpp
src/meshes/Mesh.cpp
src/meshes/SphereMesh.cpp
src/rendering/Camera.cpp
)
set(IMGUI_SOURCES
${PROJECT_SOURCE_DIR}/imgui/imgui.cpp
${PROJECT_SOURCE_DIR}/imgui/imgui_draw.cpp
${PROJECT_SOURCE_DIR}/imgui/imgui_demo.cpp
${PROJECT_SOURCE_DIR}/imgui/imgui_tables.cpp
${PROJECT_SOURCE_DIR}/imgui/imgui_widgets.cpp
${PROJECT_SOURCE_DIR}/imgui/backends/imgui_impl_glfw.cpp
${PROJECT_SOURCE_DIR}/imgui/backends/imgui_impl_opengl3.cpp
)
include_directories(
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/imgui
${PROJECT_SOURCE_DIR}/imgui/backends
${PROJECT_SOURCE_DIR}/lib/ImGuizmo
)
add_library(ImGuizmo lib/ImGuizmo/ImGuizmo.cpp)
target_link_libraries(
ImGuizmo
PRIVATE
# imgui::imgui
# imgui::imgui_impl_glfw
# imgui::imgui_impl_opengl3
glfw
GLEW::GLEW
)
add_executable(robosim ${SOURCES} ${IMGUI_SOURCES})
target_link_libraries(
robosim
PRIVATE
OpenGL::GL
dl
glfw
GLEW::GLEW
# imgui::imgui
# imgui::imgui_impl_glfw
# imgui::imgui_impl_opengl3
Eigen3::Eigen
ImGuizmo
)
set_target_properties(robosim PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})