pasada la granera per la carpeta

This commit is contained in:
2026-04-04 12:38:48 +02:00
parent 6474d731d0
commit 9e0ab87c76
42 changed files with 128 additions and 37 deletions

62
CMakeLists.txt Normal file
View File

@@ -0,0 +1,62 @@
# CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(aee VERSION 1.00)
# Estándar de C++
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# Exportar comandos de compilación para herramientas de análisis
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# --- LISTA EXPLÍCITA DE FUENTES ---
set(APP_SOURCES
source/main.cpp
source/bola.cpp
source/engendro.cpp
source/info.cpp
source/jail_audio.cpp
source/jdraw8.cpp
source/jfile.cpp
source/jgame.cpp
source/jinput.cpp
source/jshader.cpp
source/mapa.cpp
source/marcador.cpp
source/modulegame.cpp
source/modulesequence.cpp
source/momia.cpp
source/prota.cpp
source/sprite.cpp
)
# Configuración de SDL3
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3)
message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}")
# --- EJECUTABLE ---
add_executable(${PROJECT_NAME} ${APP_SOURCES})
# --- DIRECTORIOS DE INCLUSIÓN ---
target_include_directories(${PROJECT_NAME} PUBLIC
"${CMAKE_SOURCE_DIR}/source"
)
# Enlazar SDL3
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3)
# --- FLAGS DE COMPILACIÓN ---
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:RELEASE>:-Os -ffunction-sections -fdata-sections>)
# --- CONFIGURACIÓN POR PLATAFORMA ---
if(WIN32)
target_link_libraries(${PROJECT_NAME} PRIVATE mingw32 opengl32)
elseif(UNIX AND NOT APPLE)
find_package(OpenGL REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)
endif()
# Ejecutable en la raíz del proyecto
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})