Prog3B_Projekt/CMakeLists.txt
2025-11-24 21:55:17 +01:00

51 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.28)
project(Prog3B)
set(EXECUTABLE_NAME Prog3B)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Default build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
endif()
# Quell- und Header-Dateien
set(SRC_FILES
${CMAKE_CURRENT_LIST_DIR}/src/main.cpp
${CMAKE_CURRENT_LIST_DIR}/src/gamecube.cpp
${CMAKE_CURRENT_LIST_DIR}/src/gamematrix.cpp
)
#automatisch hinzufügen
file(GLOB SRC_FILES "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp")
set(INCLUDE_DIRS
${CMAKE_CURRENT_LIST_DIR}/includes
${CMAKE_CURRENT_LIST_DIR}/raylib
)
# Executable erstellen
add_executable(${EXECUTABLE_NAME} ${SRC_FILES})
# Include-Verzeichnisse hinzufügen
target_include_directories(${EXECUTABLE_NAME} PRIVATE ${INCLUDE_DIRS})
# Nur noch raylib und systemabhängige Libraries linken
if(WIN32)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/windows/libraylib.a
winmm
)
endif()
# macOS
if(APPLE)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/mac_arm/libraylib.a
"-framework Cocoa"
"-framework IOKit"
"-framework OpenGL"
)
endif()