diff --git a/CMakeLists.txt b/CMakeLists.txt index 434d1261..684fc400 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,11 +4,14 @@ project(Bomberman) set(CMAKE_CXX_STANDARD 20) add_subdirectory(${PROJECT_SOURCE_DIR}/lib/wal) -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/lib/raylib) add_executable(bomberman sources/main.cpp ) -find_package(raylib REQUIRED) -target_link_libraries(bomberman wal raylib) \ No newline at end of file +find_package(raylib QUIET) +if (NOT raylib_FOUND) + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/lib/raylib) + find_package(raylib REQUIRED) +endif() +target_link_libraries(bomberman wal raylib) diff --git a/lib/catch2/FindCatch2.cmake b/lib/catch2/FindCatch2.cmake new file mode 100644 index 00000000..010eb0a9 --- /dev/null +++ b/lib/catch2/FindCatch2.cmake @@ -0,0 +1,13 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.11) + + +if (NOT Catch2_FOUND) + Include(FetchContent) + + FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v2.13.1) + + FetchContent_MakeAvailable(Catch2) +endif() diff --git a/lib/wal/CMakeLists.txt b/lib/wal/CMakeLists.txt index 81d730f2..335f26ce 100644 --- a/lib/wal/CMakeLists.txt +++ b/lib/wal/CMakeLists.txt @@ -38,5 +38,11 @@ add_executable(wal_tests EXCLUDE_FROM_ALL ) target_link_libraries(wal_tests PRIVATE wal) -find_package(Catch2 REQUIRED) -target_link_libraries(wal_tests PRIVATE Catch2::Catch2) \ No newline at end of file + +find_package(Catch2 QUIET) +if (NOT Catch2_FOUND) + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../catch2) + find_package(Catch2 REQUIRED) +endif() + +target_link_libraries(wal_tests PRIVATE Catch2::Catch2)