40 lines
1.1 KiB
CMake
40 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(demo3_pixels_bouncing)
|
|
|
|
# Establecer el estándar de C++
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Buscar todos los archivos `.cpp` en la carpeta `source`
|
|
file(GLOB SOURCE_FILES source/*.cpp)
|
|
|
|
# Definir el ejecutable
|
|
set(EXECUTABLE demo3_pixels_bouncing)
|
|
|
|
# Buscar SDL3 automáticamente
|
|
find_package(SDL3 REQUIRED)
|
|
|
|
# Detectar la plataforma y ajustar configuraciones específicas
|
|
if(WIN32)
|
|
set(PLATFORM windows)
|
|
set(EXE_EXT ".exe")
|
|
set(EXTRA_LIBS mingw32 ws2_32)
|
|
elseif(UNIX AND NOT APPLE)
|
|
set(PLATFORM linux)
|
|
set(EXE_EXT ".out")
|
|
set(EXTRA_LIBS "")
|
|
elseif(APPLE)
|
|
set(PLATFORM macos)
|
|
set(EXE_EXT ".out")
|
|
set(EXTRA_LIBS "")
|
|
endif()
|
|
|
|
# Añadir el ejecutable con todos los archivos fuente
|
|
add_executable(${EXECUTABLE}${EXE_EXT} ${SOURCE_FILES})
|
|
|
|
# Enlazar las bibliotecas específicas y SDL3
|
|
target_link_libraries(${EXECUTABLE}${EXE_EXT} ${EXTRA_LIBS} SDL3::SDL3)
|
|
|
|
# Colocar el ejecutable en la raíz del proyecto
|
|
set_target_properties(${EXECUTABLE}${EXE_EXT} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})
|