diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 9b932eac..3c0665e4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -33,7 +33,7 @@ jobs: - name: Configure CMake working-directory: ${{env.BENCH_ROOT}} - run: cmake -S . -B build-bench -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_ENABLE_TESTING=OFF -DBUILD_TEST=OFF -DBUILD_BENCHMARK=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + run: cmake -S . -B build-bench -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_ENABLE_TESTING=OFF -DBUILD_TEST=OFF -DMOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING=ON -DBUILD_BENCHMARK=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 - name: Build working-directory: ${{env.BENCH_ROOT}}/build-bench diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 07ca704f..dbcc8495 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,9 +35,9 @@ jobs: working-directory: ${{env.TEST_ROOT}} run: | if [ "${{ secrets.ACTIONS_STEP_DEBUG }}" == "true" ]; then - cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Debug -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Debug -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF -DMOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 else - cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF -DMOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 fi - name: Build diff --git a/CMakeLists.txt b/CMakeLists.txt index 02fd54c8..ab4c8a30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.22.1) project("MobileGL") option(MOBILEGL_FORCE_RELEASE_OPT "Enable Release optimization flags in Debug build" ON) +option(MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING "Force skip loading external libraries" OFF) if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" OR MOBILEGL_FORCE_RELEASE_OPT) include(CheckIPOSupported) @@ -21,6 +22,11 @@ if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" OR MOBILEGL_FORCE_RELEASE_OPT) endif() endif() +if(MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING) + message(STATUS "MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING enabled") + add_compile_definitions(MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING) +endif() + if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") add_compile_options(/Zc:preprocessor) endif() diff --git a/MobileGL/Init.cpp b/MobileGL/Init.cpp index 5038892f..fbc69a30 100644 --- a/MobileGL/Init.cpp +++ b/MobileGL/Init.cpp @@ -15,6 +15,9 @@ namespace MobileGL { void MG_Initialize(Bool loadExternalLibraries) { +#ifdef MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING + loadExternalLibraries = false; +#endif MG_Util::Debug::InitFile(); MGLOG_I("Initializing MobileGL..."); MG_State::Init();