diff --git a/CMakeLists.txt b/CMakeLists.txt index f3a57347..dfd74b4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ cmake_policy(SET CMP0079 NEW) # set(FETCHCONTENT_UPDATES_DISCONNECTED ON) option(DUSK_BUILD_TESTS "Enable tests" OFF) +option(DUSK_NETWORK "Enable network support" ON) set(DUSK_GAME_NAME "Dusk" CACHE STRING "Game display name") set(DUSK_GAME_AUTHOR "YourWishes" CACHE STRING "Game author / coder") @@ -90,6 +91,12 @@ target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} DUSK_VERSION="${DUSK_VERSION}" ) +if(DUSK_NETWORK) + target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME} PUBLIC + DUSK_NETWORK + ) +endif() + # Toolchains include(cmake/targets/${DUSK_TARGET_SYSTEM}.cmake) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 093f4719..babd21c6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,10 @@ add_subdirectory(dusk) +if(DUSK_NETWORK) + add_subdirectory(dusknetwork) +endif() + if(DUSK_TARGET_SYSTEM STREQUAL "linux" OR DUSK_TARGET_SYSTEM STREQUAL "knulli") add_subdirectory(dusklinux) add_subdirectory(dusksdl2) diff --git a/src/dusk/CMakeLists.txt b/src/dusk/CMakeLists.txt index d99f093c..900072b8 100644 --- a/src/dusk/CMakeLists.txt +++ b/src/dusk/CMakeLists.txt @@ -68,7 +68,6 @@ add_subdirectory(scene) add_subdirectory(system) add_subdirectory(time) add_subdirectory(ui) -add_subdirectory(network) add_subdirectory(save) add_subdirectory(util) add_subdirectory(thread) \ No newline at end of file diff --git a/src/dusk/engine/engine.c b/src/dusk/engine/engine.c index 12714e33..18fd686c 100644 --- a/src/dusk/engine/engine.c +++ b/src/dusk/engine/engine.c @@ -16,7 +16,9 @@ #include "asset/asset.h" #include "ui/ui.h" #include "assert/assert.h" -#include "network/network.h" +#ifdef DUSK_NETWORK + #include "network/network.h" +#endif #include "system/system.h" #include "console/console.h" #include "save/save.h" @@ -43,7 +45,9 @@ errorret_t engineInit(const int32_t argc, const char_t **argv) { errorChain(displayInit()); errorChain(uiInit()); errorChain(rpgInit()); - errorChain(networkInit()); + #ifdef DUSK_NETWORK + errorChain(networkInit()); + #endif errorChain(sceneInit()); consolePrint("Engine initialized"); @@ -61,7 +65,9 @@ errorret_t engineInit(const int32_t argc, const char_t **argv) { errorret_t engineUpdate(void) { // Order here is important. - errorChain(networkUpdate()); + #ifdef DUSK_NETWORK + errorChain(networkUpdate()); + #endif errorChain(saveUpdate()); autoSaveUpdate(); timeUpdate(); @@ -84,7 +90,9 @@ void engineExit(void) { errorret_t engineDispose(void) { errorChain(sceneDispose()); - errorChain(networkDispose()); + #ifdef DUSK_NETWORK + errorChain(networkDispose()); + #endif errorChain(rpgDispose()); localeManagerDispose(); errorChain(uiDispose()); diff --git a/src/duskdolphin/CMakeLists.txt b/src/duskdolphin/CMakeLists.txt index 818635ee..a5323674 100644 --- a/src/duskdolphin/CMakeLists.txt +++ b/src/duskdolphin/CMakeLists.txt @@ -19,7 +19,9 @@ add_subdirectory(asset) add_subdirectory(log) add_subdirectory(display) add_subdirectory(input) -add_subdirectory(network) +if(DUSK_NETWORK) + add_subdirectory(network) +endif() add_subdirectory(save) add_subdirectory(system) add_subdirectory(time) \ No newline at end of file diff --git a/src/dusklinux/CMakeLists.txt b/src/dusklinux/CMakeLists.txt index af0e8acb..b025af73 100644 --- a/src/dusklinux/CMakeLists.txt +++ b/src/dusklinux/CMakeLists.txt @@ -13,7 +13,9 @@ target_include_directories(${DUSK_LIBRARY_TARGET_NAME} add_subdirectory(asset) add_subdirectory(log) add_subdirectory(input) -add_subdirectory(network) +if(DUSK_NETWORK) + add_subdirectory(network) +endif() add_subdirectory(save) add_subdirectory(system) add_subdirectory(time) \ No newline at end of file diff --git a/src/dusknetwork/CMakeLists.txt b/src/dusknetwork/CMakeLists.txt new file mode 100644 index 00000000..4dfe35e2 --- /dev/null +++ b/src/dusknetwork/CMakeLists.txt @@ -0,0 +1,13 @@ +# Copyright (c) 2026 Dominic Masters +# +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +# Includes +target_include_directories(${DUSK_LIBRARY_TARGET_NAME} + PUBLIC + ${CMAKE_CURRENT_LIST_DIR} +) + +# Subdirs +add_subdirectory(network) diff --git a/src/dusk/network/CMakeLists.txt b/src/dusknetwork/network/CMakeLists.txt similarity index 100% rename from src/dusk/network/CMakeLists.txt rename to src/dusknetwork/network/CMakeLists.txt diff --git a/src/dusk/network/network.c b/src/dusknetwork/network/network.c similarity index 100% rename from src/dusk/network/network.c rename to src/dusknetwork/network/network.c diff --git a/src/dusk/network/network.h b/src/dusknetwork/network/network.h similarity index 100% rename from src/dusk/network/network.h rename to src/dusknetwork/network/network.h diff --git a/src/dusk/network/networkinfo.c b/src/dusknetwork/network/networkinfo.c similarity index 100% rename from src/dusk/network/networkinfo.c rename to src/dusknetwork/network/networkinfo.c diff --git a/src/dusk/network/networkinfo.h b/src/dusknetwork/network/networkinfo.h similarity index 100% rename from src/dusk/network/networkinfo.h rename to src/dusknetwork/network/networkinfo.h diff --git a/src/duskpsp/CMakeLists.txt b/src/duskpsp/CMakeLists.txt index ca661aa5..5ca3534c 100644 --- a/src/duskpsp/CMakeLists.txt +++ b/src/duskpsp/CMakeLists.txt @@ -18,7 +18,9 @@ target_sources(${DUSK_BINARY_TARGET_NAME} add_subdirectory(asset) add_subdirectory(input) add_subdirectory(log) -add_subdirectory(network) +if(DUSK_NETWORK) + add_subdirectory(network) +endif() add_subdirectory(save) add_subdirectory(system) add_subdirectory(time) \ No newline at end of file