Files
GBpp/CMakeLists.txt
2025-10-03 19:41:47 -07:00

33 lines
935 B
CMake

cmake_minimum_required(VERSION 3.25)
project(GameBoy++)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIRS})
add_executable(GameBoy++ src/main.cpp
src/gameboy.cpp
src/opcodeResolver.cpp
src/interupts.cpp
src/ppu.cpp
src/timing.cpp
src/extendedOpcodeResolver.cpp
src/mbc.cpp
src/addressSpace.cpp
src/addressSpace.hpp
src/testing.hpp
src/joypad.cpp
)
target_link_libraries(GameBoy++ ${SDL2_LIBRARIES})
if(CMAKE_EXPORT_COMPILE_COMMANDS)
add_custom_target(copy_compile_commands ALL
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/compile_commands.json
${CMAKE_SOURCE_DIR}/compile_commands.json
DEPENDS ${CMAKE_BINARY_DIR}/compile_commands.json
COMMENT "Copying compile_commands.json to project root")
endif()