diff --git a/.gitignore b/.gitignore index 77724da..b104992 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ cmake-build-debug/ build/ +.cache/ .idea roms/ diff --git a/CMakeLists.txt b/CMakeLists.txt index bd46da3..832f24d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ 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}) @@ -18,4 +19,14 @@ add_executable(GameBoy++ src/main.cpp src/testing.hpp src/joypad.cpp ) -target_link_libraries(GameBoy++ ${SDL2_LIBRARIES}) \ No newline at end of file +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() + diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..3bb86e1 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,62 @@ +[ +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/main.cpp.o -c /home/braiden/Projects/GBpp/src/main.cpp", + "file": "/home/braiden/Projects/GBpp/src/main.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/main.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/gameboy.cpp.o -c /home/braiden/Projects/GBpp/src/gameboy.cpp", + "file": "/home/braiden/Projects/GBpp/src/gameboy.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/gameboy.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/opcodeResolver.cpp.o -c /home/braiden/Projects/GBpp/src/opcodeResolver.cpp", + "file": "/home/braiden/Projects/GBpp/src/opcodeResolver.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/opcodeResolver.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/interupts.cpp.o -c /home/braiden/Projects/GBpp/src/interupts.cpp", + "file": "/home/braiden/Projects/GBpp/src/interupts.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/interupts.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/ppu.cpp.o -c /home/braiden/Projects/GBpp/src/ppu.cpp", + "file": "/home/braiden/Projects/GBpp/src/ppu.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/ppu.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/timing.cpp.o -c /home/braiden/Projects/GBpp/src/timing.cpp", + "file": "/home/braiden/Projects/GBpp/src/timing.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/timing.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/extendedOpcodeResolver.cpp.o -c /home/braiden/Projects/GBpp/src/extendedOpcodeResolver.cpp", + "file": "/home/braiden/Projects/GBpp/src/extendedOpcodeResolver.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/extendedOpcodeResolver.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/mbc.cpp.o -c /home/braiden/Projects/GBpp/src/mbc.cpp", + "file": "/home/braiden/Projects/GBpp/src/mbc.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/mbc.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/addressSpace.cpp.o -c /home/braiden/Projects/GBpp/src/addressSpace.cpp", + "file": "/home/braiden/Projects/GBpp/src/addressSpace.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/addressSpace.cpp.o" +}, +{ + "directory": "/home/braiden/Projects/GBpp/build", + "command": "/usr/bin/c++ -isystem /usr/include/SDL2 -std=gnu++23 -o CMakeFiles/GameBoy++.dir/src/joypad.cpp.o -c /home/braiden/Projects/GBpp/src/joypad.cpp", + "file": "/home/braiden/Projects/GBpp/src/joypad.cpp", + "output": "CMakeFiles/GameBoy++.dir/src/joypad.cpp.o" +} +] \ No newline at end of file