From d417b147ed215529f8d742c3beb0d94bc372a201 Mon Sep 17 00:00:00 2001 From: illyum <90023277+itzilly@users.noreply.github.com> Date: Fri, 30 Aug 2024 11:19:59 -0600 Subject: [PATCH] feat(build): use CMake to fetch and link enet library --- CMakeLists.txt | 16 ++++++++++++++++ client/CMakeLists.txt | 4 ++-- networking/CMakeLists.txt | 4 +++- server/CMakeLists.txt | 4 ++-- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fe6377..df45be6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,13 @@ project(FarmFighter) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 23) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +if(POLICY CMP0077) + cmake_policy(SET CMP0077 NEW) +endif() +set(FETCHCONTENT_QUIET OFF) + include(FetchContent) FetchContent_Declare( raylib @@ -15,6 +22,15 @@ FetchContent_MakeAvailable(raylib) set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(BUILD_GAMES OFF CACHE BOOL "" FORCE) +FetchContent_Declare( + enet + URL https://github.com/zpl-c/enet/archive/refs/tags/v2.3.10.zip +) +FetchContent_MakeAvailable(enet) + +add_library(enet INTERFACE) +target_include_directories(enet INTERFACE ${enet_SOURCE_DIR}/include) + add_subdirectory(networking) add_subdirectory(engine) add_subdirectory(client) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 193f480..9e03cac 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -22,7 +22,6 @@ add_library(ImGui STATIC ) target_include_directories(ImGui PUBLIC ${imgui_SOURCE_DIR}) -# rlImGui FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui.git @@ -47,7 +46,8 @@ target_include_directories(client PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../networking/include ${CMAKE_CURRENT_SOURCE_DIR}/../engine/include ) -target_link_libraries(client raylib networking engine rlImGui ImGui) + +target_link_libraries(client raylib networking engine rlImGui ImGui enet) if (WIN32) target_link_libraries(client ws2_32) diff --git a/networking/CMakeLists.txt b/networking/CMakeLists.txt index 670b4fd..f8a0bfa 100644 --- a/networking/CMakeLists.txt +++ b/networking/CMakeLists.txt @@ -9,4 +9,6 @@ target_include_directories(networking PUBLIC ${raylib_SOURCE_DIR}/src ) -target_include_directories(networking PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) \ No newline at end of file +target_include_directories(networking PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) + +target_link_libraries(networking enet) \ No newline at end of file diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 23fa8fc..246b595 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -10,8 +10,8 @@ target_include_directories(server PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../engine/include ) -target_link_libraries(server networking engine raylib) +target_link_libraries(server networking engine raylib enet) if (WIN32) target_link_libraries(server ws2_32) -endif() \ No newline at end of file +endif()