From 72bbffa79d8b4013871c59dbca6b92935b752412 Mon Sep 17 00:00:00 2001 From: HJfod <60038575+HJfod@users.noreply.github.com> Date: Mon, 28 Nov 2022 19:45:23 +0200 Subject: [PATCH] Great Geode cleanup project - move all platform sources to one central folder under src/platform/name - don't add obj-c sources on windows or platform files from other platforms on all platforms --- loader/CMakeLists.txt | 45 ++++++++++++++----- .../src/{utils => cocos2d-ext}/zip/ioapi.cpp | 0 .../src/{utils => cocos2d-ext}/zip/unzip.cpp | 0 .../{internal => platform}/ios/FileWatcher.mm | 0 .../ios/InternalLoader.cpp | 4 +- loader/src/{load => platform}/ios/Mod.mm | 0 .../{internal => platform}/ios/crashlog.cpp | 4 +- loader/src/{utils => platform}/ios/util.mm | 0 .../MacOS.cpp => platform/mac/Cocos2d.cpp} | 0 .../{internal => platform}/mac/FileWatcher.mm | 0 .../mac/InternalLoader.cpp | 4 +- loader/src/{load => platform}/mac/Mod.cpp | 0 .../{internal => platform}/mac/crashlog.mm | 0 loader/src/{ => platform}/mac/gdstdlib.cpp | 0 loader/src/{utils => platform}/mac/util.mm | 0 .../windows/FileWatcher.cpp | 0 .../windows/InternalLoader.cpp | 4 +- loader/src/{load => platform}/windows/Mod.cpp | 0 .../{utils => platform}/windows/NFD_LICENSE | 0 .../windows/crashlog.cpp | 24 +++++----- .../{internal => platform}/windows/info.rc.in | 0 .../{utils => platform}/windows/nfdwin.cpp | 0 .../{utils => platform}/windows/nfdwin.hpp | 0 .../src/{utils => platform}/windows/util.cpp | 0 24 files changed, 54 insertions(+), 31 deletions(-) rename loader/src/{utils => cocos2d-ext}/zip/ioapi.cpp (100%) rename loader/src/{utils => cocos2d-ext}/zip/unzip.cpp (100%) rename loader/src/{internal => platform}/ios/FileWatcher.mm (100%) rename loader/src/{internal => platform}/ios/InternalLoader.cpp (90%) rename loader/src/{load => platform}/ios/Mod.mm (100%) rename loader/src/{internal => platform}/ios/crashlog.cpp (80%) rename loader/src/{utils => platform}/ios/util.mm (100%) rename loader/src/{cocos2d-ext/MacOS.cpp => platform/mac/Cocos2d.cpp} (100%) rename loader/src/{internal => platform}/mac/FileWatcher.mm (100%) rename loader/src/{internal => platform}/mac/InternalLoader.cpp (91%) rename loader/src/{load => platform}/mac/Mod.cpp (100%) rename loader/src/{internal => platform}/mac/crashlog.mm (100%) rename loader/src/{ => platform}/mac/gdstdlib.cpp (100%) rename loader/src/{utils => platform}/mac/util.mm (100%) rename loader/src/{internal => platform}/windows/FileWatcher.cpp (100%) rename loader/src/{internal => platform}/windows/InternalLoader.cpp (95%) rename loader/src/{load => platform}/windows/Mod.cpp (100%) rename loader/src/{utils => platform}/windows/NFD_LICENSE (100%) rename loader/src/{internal => platform}/windows/crashlog.cpp (94%) rename loader/src/{internal => platform}/windows/info.rc.in (100%) rename loader/src/{utils => platform}/windows/nfdwin.cpp (100%) rename loader/src/{utils => platform}/windows/nfdwin.hpp (100%) rename loader/src/{utils => platform}/windows/util.cpp (100%) diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index 4194c2e4..a6c544e5 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -10,15 +10,14 @@ file(READ resources/about.md LOADER_ABOUT_MD) configure_file(src/internal/about.hpp.in ${CMAKE_CURRENT_SOURCE_DIR}/src/internal/about.hpp) # Source files -file(GLOB CORE_SOURCES +file(GLOB SOURCES CONFIGURE_DEPENDS src/cocos2d-ext/*.cpp src/core/*.cpp src/hooks/*.cpp src/ids/*.cpp src/internal/*.cpp - src/internal/windows/*.cpp - src/internal/mac/*.cpp - src/internal/ios/*.cpp + src/platform/mac/*.cpp + src/platform/ios/*.cpp src/load/*.cpp src/load/windows/*.cpp src/load/mac/*.cpp @@ -37,6 +36,7 @@ file(GLOB CORE_SOURCES src/ui/internal/settings/*.cpp ) +# Obj-c sources file(GLOB OBJC_SOURCES src/internal/ios/*.mm src/internal/mac/*.mm @@ -45,17 +45,41 @@ file(GLOB OBJC_SOURCES src/utils/ios/*.mm src/utils/mac/*.mm ) +set_source_files_properties(${OBJC_SOURCES} PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + +# Add platform sources +if (WIN32) + + file(GLOB WIN_SOURCES CONFIGURE_DEPENDS + src/platform/windows/*.cpp + ) + list(APPEND SOURCES ${WIN_SOURCES}) + +elseif(APPLE and IOS) + + file(GLOB IOS_SOURCES CONFIGURE_DEPENDS + src/platform/ios/*.cpp + ) + list(APPEND SOURCES ${IOS_SOURCES}) + list(APPEND SOURCES ${OBJC_SOURCES}) + +elseif(APPLE) + + file(GLOB MAC_SOURCES CONFIGURE_DEPENDS + src/platform/mac/*.cpp + ) + list(APPEND SOURCES ${MAC_SOURCES}) + list(APPEND SOURCES ${OBJC_SOURCES}) + +endif() # Embed version info in binary if (WIN32) - configure_file(src/internal/windows/info.rc.in info.rc) - set(CORE_SOURCES ${CORE_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/info.rc) + configure_file(src/platform/windows/info.rc.in info.rc) + set(SOURCES ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/info.rc) endif() -add_library(${PROJECT_NAME} SHARED - ${CORE_SOURCES} - ${OBJC_SOURCES} -) +add_library(${PROJECT_NAME} SHARED ${SOURCES}) make_directory("${GEODE_BIN_PATH}/nightly") @@ -114,7 +138,6 @@ add_subdirectory(lilac) target_link_libraries(${PROJECT_NAME} z lilac_hook geode-sdk) # Use precompiled headers for faster builds -set_source_files_properties(${OBJC_SOURCES} PROPERTIES SKIP_PRECOMPILE_HEADERS ON) target_precompile_headers(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/DefaultInclude.hpp" # "${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/Utils.hpp" diff --git a/loader/src/utils/zip/ioapi.cpp b/loader/src/cocos2d-ext/zip/ioapi.cpp similarity index 100% rename from loader/src/utils/zip/ioapi.cpp rename to loader/src/cocos2d-ext/zip/ioapi.cpp diff --git a/loader/src/utils/zip/unzip.cpp b/loader/src/cocos2d-ext/zip/unzip.cpp similarity index 100% rename from loader/src/utils/zip/unzip.cpp rename to loader/src/cocos2d-ext/zip/unzip.cpp diff --git a/loader/src/internal/ios/FileWatcher.mm b/loader/src/platform/ios/FileWatcher.mm similarity index 100% rename from loader/src/internal/ios/FileWatcher.mm rename to loader/src/platform/ios/FileWatcher.mm diff --git a/loader/src/internal/ios/InternalLoader.cpp b/loader/src/platform/ios/InternalLoader.cpp similarity index 90% rename from loader/src/internal/ios/InternalLoader.cpp rename to loader/src/platform/ios/InternalLoader.cpp index 64b77573..86dfd252 100644 --- a/loader/src/internal/ios/InternalLoader.cpp +++ b/loader/src/platform/ios/InternalLoader.cpp @@ -1,7 +1,7 @@ -#include "../InternalLoader.hpp" +#include <InternalLoader.hpp> #include <Geode/loader/Log.hpp> #include <iostream> -#include "../InternalMod.hpp" +#include <InternalMod.hpp> #ifdef GEODE_IS_IOS diff --git a/loader/src/load/ios/Mod.mm b/loader/src/platform/ios/Mod.mm similarity index 100% rename from loader/src/load/ios/Mod.mm rename to loader/src/platform/ios/Mod.mm diff --git a/loader/src/internal/ios/crashlog.cpp b/loader/src/platform/ios/crashlog.cpp similarity index 80% rename from loader/src/internal/ios/crashlog.cpp rename to loader/src/platform/ios/crashlog.cpp index 501eba97..ebcea479 100644 --- a/loader/src/internal/ios/crashlog.cpp +++ b/loader/src/platform/ios/crashlog.cpp @@ -1,4 +1,4 @@ -#include "../crashlog.hpp" +#include <crashlog.hpp> #ifdef GEODE_IS_IOS @@ -14,4 +14,4 @@ std::string crashlog::getCrashLogDirectory() { return ""; } -#endif \ No newline at end of file +#endif diff --git a/loader/src/utils/ios/util.mm b/loader/src/platform/ios/util.mm similarity index 100% rename from loader/src/utils/ios/util.mm rename to loader/src/platform/ios/util.mm diff --git a/loader/src/cocos2d-ext/MacOS.cpp b/loader/src/platform/mac/Cocos2d.cpp similarity index 100% rename from loader/src/cocos2d-ext/MacOS.cpp rename to loader/src/platform/mac/Cocos2d.cpp diff --git a/loader/src/internal/mac/FileWatcher.mm b/loader/src/platform/mac/FileWatcher.mm similarity index 100% rename from loader/src/internal/mac/FileWatcher.mm rename to loader/src/platform/mac/FileWatcher.mm diff --git a/loader/src/internal/mac/InternalLoader.cpp b/loader/src/platform/mac/InternalLoader.cpp similarity index 91% rename from loader/src/internal/mac/InternalLoader.cpp rename to loader/src/platform/mac/InternalLoader.cpp index cae16b66..3b6cddc0 100644 --- a/loader/src/internal/mac/InternalLoader.cpp +++ b/loader/src/platform/mac/InternalLoader.cpp @@ -1,7 +1,7 @@ -#include "../InternalLoader.hpp" +#include <InternalLoader.hpp> #include <Geode/loader/Log.hpp> #include <iostream> -#include "../InternalMod.hpp" +#include <InternalMod.hpp> #ifdef GEODE_IS_MACOS diff --git a/loader/src/load/mac/Mod.cpp b/loader/src/platform/mac/Mod.cpp similarity index 100% rename from loader/src/load/mac/Mod.cpp rename to loader/src/platform/mac/Mod.cpp diff --git a/loader/src/internal/mac/crashlog.mm b/loader/src/platform/mac/crashlog.mm similarity index 100% rename from loader/src/internal/mac/crashlog.mm rename to loader/src/platform/mac/crashlog.mm diff --git a/loader/src/mac/gdstdlib.cpp b/loader/src/platform/mac/gdstdlib.cpp similarity index 100% rename from loader/src/mac/gdstdlib.cpp rename to loader/src/platform/mac/gdstdlib.cpp diff --git a/loader/src/utils/mac/util.mm b/loader/src/platform/mac/util.mm similarity index 100% rename from loader/src/utils/mac/util.mm rename to loader/src/platform/mac/util.mm diff --git a/loader/src/internal/windows/FileWatcher.cpp b/loader/src/platform/windows/FileWatcher.cpp similarity index 100% rename from loader/src/internal/windows/FileWatcher.cpp rename to loader/src/platform/windows/FileWatcher.cpp diff --git a/loader/src/internal/windows/InternalLoader.cpp b/loader/src/platform/windows/InternalLoader.cpp similarity index 95% rename from loader/src/internal/windows/InternalLoader.cpp rename to loader/src/platform/windows/InternalLoader.cpp index f4caa188..552a068f 100644 --- a/loader/src/internal/windows/InternalLoader.cpp +++ b/loader/src/platform/windows/InternalLoader.cpp @@ -1,8 +1,8 @@ -#include "../InternalLoader.hpp" +#include <InternalLoader.hpp> #include <Geode/loader/Log.hpp> #include <Geode/loader/IPC.hpp> #include <iostream> -#include "../InternalMod.hpp" +#include <InternalMod.hpp> USE_GEODE_NAMESPACE(); diff --git a/loader/src/load/windows/Mod.cpp b/loader/src/platform/windows/Mod.cpp similarity index 100% rename from loader/src/load/windows/Mod.cpp rename to loader/src/platform/windows/Mod.cpp diff --git a/loader/src/utils/windows/NFD_LICENSE b/loader/src/platform/windows/NFD_LICENSE similarity index 100% rename from loader/src/utils/windows/NFD_LICENSE rename to loader/src/platform/windows/NFD_LICENSE diff --git a/loader/src/internal/windows/crashlog.cpp b/loader/src/platform/windows/crashlog.cpp similarity index 94% rename from loader/src/internal/windows/crashlog.cpp rename to loader/src/platform/windows/crashlog.cpp index 599aa257..064d1ea6 100644 --- a/loader/src/internal/windows/crashlog.cpp +++ b/loader/src/platform/windows/crashlog.cpp @@ -4,19 +4,19 @@ #ifdef GEODE_IS_WINDOWS - #include "../crashlog.hpp" +#include <crashlog.hpp> - #include <DbgHelp.h> - #include <Geode/utils/casts.hpp> - #include <Geode/utils/file.hpp> - #include <Windows.h> - #include <chrono> - #include <ctime> - #include <errhandlingapi.h> - #include <fstream> - #include <iomanip> - #include <iostream> - #include <string> +#include <DbgHelp.h> +#include <Geode/utils/casts.hpp> +#include <Geode/utils/file.hpp> +#include <Windows.h> +#include <chrono> +#include <ctime> +#include <errhandlingapi.h> +#include <fstream> +#include <iomanip> +#include <iostream> +#include <string> USE_GEODE_NAMESPACE(); diff --git a/loader/src/internal/windows/info.rc.in b/loader/src/platform/windows/info.rc.in similarity index 100% rename from loader/src/internal/windows/info.rc.in rename to loader/src/platform/windows/info.rc.in diff --git a/loader/src/utils/windows/nfdwin.cpp b/loader/src/platform/windows/nfdwin.cpp similarity index 100% rename from loader/src/utils/windows/nfdwin.cpp rename to loader/src/platform/windows/nfdwin.cpp diff --git a/loader/src/utils/windows/nfdwin.hpp b/loader/src/platform/windows/nfdwin.hpp similarity index 100% rename from loader/src/utils/windows/nfdwin.hpp rename to loader/src/platform/windows/nfdwin.hpp diff --git a/loader/src/utils/windows/util.cpp b/loader/src/platform/windows/util.cpp similarity index 100% rename from loader/src/utils/windows/util.cpp rename to loader/src/platform/windows/util.cpp