Engine2026/CMakeLists.txt

51 lines
No EOL
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(Engine2026 LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(OpenGL REQUIRED)
find_package(glfw3 3.3 QUIET)
if(NOT glfw3_FOUND)
message(STATUS "glfw3 not found via find_package")
if(WIN32)
set(GLFW_LIB "${CMAKE_CURRENT_SOURCE_DIR}/vendor/glfw/libglfw3.a")
else()
message(FATAL_ERROR "GLFW not found")
endif()
endif()
add_executable(Engine2026
main.cpp
engine/shader.h
engine/texture.h
engine/mesh.h
vendor/glad/glad.c
)
target_include_directories(Engine2026 PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/vendor
)
if(glfw3_FOUND)
target_link_libraries(Engine2026 PRIVATE glfw OpenGL::GL)
else()
target_link_libraries(Engine2026 PRIVATE
${GLFW_LIB}
opengl32
gdi32
user32
)
endif()
# Copy assets to build dir
add_custom_command(
TARGET Engine2026 POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_SOURCE_DIR}/assets
$<TARGET_FILE_DIR:Engine2026>/assets
COMMENT "Copying assets to output directory"
)