37 lines
764 B
CMake
37 lines
764 B
CMake
cmake_minimum_required(VERSION 3.28)
|
|
project(gravity)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
# Find packages
|
|
find_package(OpenGL REQUIRED)
|
|
find_package(GLEW REQUIRED)
|
|
find_package(glfw3 CONFIG REQUIRED)
|
|
find_package(glm CONFIG REQUIRED)
|
|
|
|
# Add executable
|
|
add_executable(gravity
|
|
main.cpp
|
|
CelestialBody.cpp
|
|
Simulator.cpp
|
|
Renderer.cpp
|
|
)
|
|
|
|
# Include directories
|
|
target_include_directories(gravity PRIVATE
|
|
${OPENGL_INCLUDE_DIRS}
|
|
${GLEW_INCLUDE_DIRS}
|
|
)
|
|
|
|
# Link libraries
|
|
target_link_libraries(gravity PRIVATE
|
|
${OPENGL_LIBRARIES}
|
|
GLEW::GLEW
|
|
glfw
|
|
glm::glm
|
|
)
|
|
|
|
# On some systems, you might need to explicitly link against OpenGL
|
|
if(UNIX AND NOT APPLE)
|
|
target_link_libraries(gravity PRIVATE GL)
|
|
endif() |