diff --git a/pacman/CMakeLists.txt b/pacman/CMakeLists.txt index a9289c2..320320d 100644 --- a/pacman/CMakeLists.txt +++ b/pacman/CMakeLists.txt @@ -1,2 +1,11 @@ +include(${CMAKE_BINARY_DIR}/conan.cmake) +conan_add_remote(NAME bincrafters INDEX 1 URL https://api.bintray.com/conan/bincrafters/public-conan) + +conan_cmake_run(CONANFILE conanfile.py BASIC_SETUP CMAKE_TARGETS BUILD missing) + +add_subdirectory(lib) add_subdirectory(src) -add_subdirectory(test) \ No newline at end of file +add_subdirectory(test) + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/assets/maze.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/assets/sprites32.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin) \ No newline at end of file diff --git a/pacman/src/Board.cpp b/pacman/lib/Board.cpp similarity index 100% rename from pacman/src/Board.cpp rename to pacman/lib/Board.cpp diff --git a/pacman/src/Board.h b/pacman/lib/Board.h similarity index 100% rename from pacman/src/Board.h rename to pacman/lib/Board.h diff --git a/pacman/lib/CMakeLists.txt b/pacman/lib/CMakeLists.txt new file mode 100644 index 0000000..ca0bcda --- /dev/null +++ b/pacman/lib/CMakeLists.txt @@ -0,0 +1,7 @@ +find_package(sdl2 REQUIRED) +find_package(sdl2_image REQUIRED) +include_directories(${sdl2_INCLUDE_DIRS} ${sdl2_image_INCLUDE_DIRS}) + +file(GLOB_RECURSE sources CONFIGURE_DEPENDS "*.cpp") +add_library(libpacman ${sources}) +target_link_libraries(libpacman sdl2::sdl2 sdl2_image::sdl2_image) \ No newline at end of file diff --git a/pacman/src/Direction.h b/pacman/lib/Direction.h similarity index 100% rename from pacman/src/Direction.h rename to pacman/lib/Direction.h diff --git a/pacman/src/Game.cpp b/pacman/lib/Game.cpp similarity index 100% rename from pacman/src/Game.cpp rename to pacman/lib/Game.cpp diff --git a/pacman/src/Game.h b/pacman/lib/Game.h similarity index 100% rename from pacman/src/Game.h rename to pacman/lib/Game.h diff --git a/pacman/src/GameWindow.cpp b/pacman/lib/GameWindow.cpp similarity index 100% rename from pacman/src/GameWindow.cpp rename to pacman/lib/GameWindow.cpp diff --git a/pacman/src/GameWindow.h b/pacman/lib/GameWindow.h similarity index 100% rename from pacman/src/GameWindow.h rename to pacman/lib/GameWindow.h diff --git a/pacman/src/InputState.cpp b/pacman/lib/InputState.cpp similarity index 100% rename from pacman/src/InputState.cpp rename to pacman/lib/InputState.cpp diff --git a/pacman/src/InputState.h b/pacman/lib/InputState.h similarity index 100% rename from pacman/src/InputState.h rename to pacman/lib/InputState.h diff --git a/pacman/src/PacMan.cpp b/pacman/lib/PacMan.cpp similarity index 100% rename from pacman/src/PacMan.cpp rename to pacman/lib/PacMan.cpp diff --git a/pacman/src/PacMan.h b/pacman/lib/PacMan.h similarity index 100% rename from pacman/src/PacMan.h rename to pacman/lib/PacMan.h diff --git a/pacman/src/Position.h b/pacman/lib/Position.h similarity index 100% rename from pacman/src/Position.h rename to pacman/lib/Position.h diff --git a/pacman/src/CMakeLists.txt b/pacman/src/CMakeLists.txt index 9c947de..1f58bff 100644 --- a/pacman/src/CMakeLists.txt +++ b/pacman/src/CMakeLists.txt @@ -1,15 +1,4 @@ -include(${CMAKE_BINARY_DIR}/conan.cmake) -conan_add_remote(NAME bincrafters INDEX 1 URL https://api.bintray.com/conan/bincrafters/public-conan) - -conan_cmake_run(CONANFILE ../conanfile.py BASIC_SETUP CMAKE_TARGETS BUILD missing) - -find_package(sdl2 REQUIRED) -find_package(sdl2_image REQUIRED) -include_directories(${sdl2_INCLUDE_DIRS} ${sdl2_image_INCLUDE_DIRS}) - file(GLOB_RECURSE sources CONFIGURE_DEPENDS "*.cpp") -add_executable(PacMan ${sources}) -target_link_libraries(PacMan sdl2::sdl2 sdl2_image::sdl2_image) +add_executable(pacman ${sources}) +target_link_libraries(pacman libpacman) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../assets/maze.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../assets/sprites32.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin) \ No newline at end of file diff --git a/pacman/src/main.cpp b/pacman/src/main.cpp index 6bb4a08..1793632 100644 --- a/pacman/src/main.cpp +++ b/pacman/src/main.cpp @@ -1,4 +1,4 @@ -#include "Game.h" +#include "../lib/Game.h" extern "C" int main([[maybe_unused]] int argc, [[maybe_unused]] char * argv[]) { Game game; diff --git a/pacman/test/CMakeLists.txt b/pacman/test/CMakeLists.txt index f7a8b2b..5ef6ec1 100644 --- a/pacman/test/CMakeLists.txt +++ b/pacman/test/CMakeLists.txt @@ -4,8 +4,8 @@ find_package(GTest REQUIRED) include(GoogleTest) add_executable(tests tests.cpp) -target_link_libraries(tests GTest::GTest) +target_link_libraries(tests GTest::GTest libpacman) -gtest_add_tests(TARGET tests TEST_PREFIX old_pacman:) -gtest_discover_tests(tests TEST_PREFIX new_pacman:) +#gtest_add_tests(TARGET tests TEST_PREFIX old_pacman:) +gtest_discover_tests(tests TEST_PREFIX pacman:) add_test(NAME monolithic COMMAND tests) \ No newline at end of file diff --git a/pacman/test/tests.cpp b/pacman/test/tests.cpp index e0145aa..1ac3ab3 100644 --- a/pacman/test/tests.cpp +++ b/pacman/test/tests.cpp @@ -1,7 +1,10 @@ #include +#include "../lib/PacMan.h" -TEST(PacManTest, Allocate) { - EXPECT_EQ(0, 1); +TEST(PacManTest, InitialPosition) { + PacMan pacMan; + EXPECT_EQ(pacMan.currentPosition().x, 14); + EXPECT_EQ(pacMan.currentPosition().y, 23); } int main(int argc, char* argv[]) {