diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 38975456..2a6228fa 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -8,7 +8,8 @@ jobs: benchmark: runs-on: ubuntu-latest env: - BENCH_ROOT: ${{github.workspace}}/MobileGL/MG_Benchmark + # BENCH_ROOT: ${{github.workspace}}/MobileGL/MG_Benchmark + BENCH_ROOT: ${{github.workspace}} steps: - name: Set Swap Space @@ -40,7 +41,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 + run: cmake -S . -B build-bench -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_ENABLE_TESTING=OFF -DBUILD_TEST=OFF -DBUILD_BENCHMARK=ON - name: Build working-directory: ${{env.BENCH_ROOT}}/build-bench diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index db49cd8f..19ff0bf7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,8 @@ jobs: test: runs-on: ubuntu-latest env: - TEST_ROOT: ${{github.workspace}}/MobileGL/MG_Test + # TEST_ROOT: ${{github.workspace}}/MobileGL/MG_Test + TEST_ROOT: ${{github.workspace}} steps: - name: Set Swap Space @@ -40,8 +41,14 @@ jobs: - name: Configure CMake working-directory: ${{env.TEST_ROOT}} - run: cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Debug - + run: | + | + if [ "${{ secrets.ACTIONS_STEP_DEBUG }}" == "true" ]; then + cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Debug -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF + else + cmake -S . -B build-test -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=OFF + fi + - name: Build working-directory: ${{env.TEST_ROOT}}/build-test run: cmake --build . --parallel 4 diff --git a/.gitmodules b/.gitmodules index 69311e33..7e4c4c53 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "3rdparty/DiligentCore"] path = 3rdparty/DiligentCore url = https://github.com/DiligentGraphics/DiligentCore.git +[submodule "3rdparty/glslang"] + path = 3rdparty/glslang + url = https://github.com/KhronosGroup/glslang.git +[submodule "3rdparty/SPIRV-Cross"] + path = 3rdparty/SPIRV-Cross + url = https://github.com/KhronosGroup/SPIRV-Cross.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 32b68dd3..47652a5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(SPIRV_CROSS_STATIC ON CACHE BOOL "Build SPIRV-Cross as static library") +set(SPIRV_CROSS_CLI OFF CACHE BOOL "Build SPIRV-Cross command line tool") + +# add_subdirectory(3rdparty/DiligentCore) +add_subdirectory(3rdparty/glslang) +add_subdirectory(3rdparty/SPIRV-Cross) + set(SOURCE_FILES MobileGL/Init.cpp @@ -79,28 +86,55 @@ set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES VISIBILITY_INLINES_HIDDEN ON ) -# add_subdirectory(3rdparty/DiligentCore) - target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/MobileGL ) -target_link_libraries(MobileGL +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE # Diligent-Common # Diligent-GraphicsEngineOpenGL-shared # Diligent-GraphicsEngineVk-shared ) -set(SPIRV_CROSS_STATIC ON CACHE BOOL "Build SPIRV-Cross as static library") -set(SPIRV_CROSS_CLI OFF CACHE BOOL "Build SPIRV-Cross command line tool") - -add_subdirectory(3rdparty/glslang) -add_subdirectory(3rdparty/SPIRV-Cross) - -target_link_libraries(MobileGL +target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE glslang::glslang spirv-cross-c ) + +add_library(${CMAKE_PROJECT_NAME}_s STATIC + ${SOURCE_FILES} +) + +set_target_properties(${CMAKE_PROJECT_NAME}_s PROPERTIES + C_VISIBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN ON +) + +target_include_directories(${CMAKE_PROJECT_NAME}_s PUBLIC + ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/MobileGL +) + +target_link_libraries(${CMAKE_PROJECT_NAME}_s + PRIVATE + # Diligent-Common + # Diligent-GraphicsEngineOpenGL-shared + # Diligent-GraphicsEngineVk-shared +) + +target_link_libraries(${CMAKE_PROJECT_NAME}_s + PRIVATE + glslang::glslang + spirv-cross-c +) + + +set(BUILD_TEST ON CACHE BOOL "Build the tests") +set(BUILD_BENCHMARK ON CACHE BOOL "Build the benchmarks") + +add_subdirectory(MobileGL/MG_Test) +add_subdirectory(MobileGL/MG_Benchmark) diff --git a/MobileGL/MG_Benchmark/CMakeLists.txt b/MobileGL/MG_Benchmark/CMakeLists.txt index 2e6df4d7..1067b219 100644 --- a/MobileGL/MG_Benchmark/CMakeLists.txt +++ b/MobileGL/MG_Benchmark/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.14) project(MobileGLBenchmark) +message(STATUS "Generating build files for MobileGL Benchmark...") + set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -9,6 +11,10 @@ set(BENCHMARK_DOWNLOAD_DEPENDENCIES ON CACHE BOOL "Allow downloading benchmark d set(BENCHMARK_ENABLE_GTEST_TESTS OFF CACHE BOOL "Disable GTest tests") set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable testing") +set(LINK_LIBRARIES + MobileGL_s +) + include(FetchContent) FetchContent_Declare( benchmark @@ -26,8 +32,9 @@ add_executable(SanityBench SanityBench.cpp ) -target_link_libraries(SanityBench - PRIVATE benchmark::benchmark +target_link_libraries( + SanityBench PRIVATE + benchmark::benchmark ) add_test(NAME SanityBench COMMAND SanityBench --benchmark_counters_tabular=true) diff --git a/MobileGL/MG_Benchmark/Program/CMakeLists.txt b/MobileGL/MG_Benchmark/Program/CMakeLists.txt index f2fc3012..9c7ee078 100644 --- a/MobileGL/MG_Benchmark/Program/CMakeLists.txt +++ b/MobileGL/MG_Benchmark/Program/CMakeLists.txt @@ -1,71 +1,71 @@ cmake_minimum_required(VERSION 3.24) -# Add the directory containing our custom Find modules -list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") +# # Add the directory containing our custom Find modules +# list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") -# Find the required libraries using our custom Find modules -find_package(glslang REQUIRED) -find_package(SPIRVCross REQUIRED) -find_package(SPIRVTools) +# # Find the required libraries using our custom Find modules +# find_package(glslang REQUIRED) +# find_package(SPIRVCross REQUIRED) +# find_package(SPIRVTools) -message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") -message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") -message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}") +# message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") +# message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") +# message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}") -# Set the libraries to link against -set(LINK_LIBRARIES - ${glslang_LIBRARIES} - ${SPIRVCross_LIBRARIES} -) +# # Set the libraries to link against +# set(LINK_LIBRARIES +# ${glslang_LIBRARIES} +# ${SPIRVCross_LIBRARIES} +# ) -if (SPIRVTools_FOUND) - list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES}) -endif() +# if (SPIRVTools_FOUND) +# list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES}) +# endif() add_executable( ProgramBench ProgramBench.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp - ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp +# ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp +# ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp +# ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp +# ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp ) target_include_directories(ProgramBench PRIVATE @@ -74,7 +74,7 @@ target_include_directories(ProgramBench PRIVATE ) target_link_libraries( - ProgramBench + ProgramBench PRIVATE benchmark::benchmark ${LINK_LIBRARIES} ) diff --git a/MobileGL/MG_Test/Buffer/CMakeLists.txt b/MobileGL/MG_Test/Buffer/CMakeLists.txt index 16c18571..92f3f754 100644 --- a/MobileGL/MG_Test/Buffer/CMakeLists.txt +++ b/MobileGL/MG_Test/Buffer/CMakeLists.txt @@ -4,41 +4,41 @@ add_executable( BufferTest BufferTest.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp - ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp + # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp ) target_include_directories(BufferTest PRIVATE @@ -47,7 +47,7 @@ target_include_directories(BufferTest PRIVATE ) target_link_libraries( - BufferTest + BufferTest PRIVATE GTest::gtest_main ${LINK_LIBRARIES} ) diff --git a/MobileGL/MG_Test/CMakeLists.txt b/MobileGL/MG_Test/CMakeLists.txt index ff8235ef..e97816d0 100644 --- a/MobileGL/MG_Test/CMakeLists.txt +++ b/MobileGL/MG_Test/CMakeLists.txt @@ -1,13 +1,15 @@ cmake_minimum_required(VERSION 3.14) project(MobileGLTest) +message(STATUS "Generating build files for MobileGL Test...") + set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(MGL_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) -# Add the directory containing our custom Find modules -list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") +# # Add the directory containing our custom Find modules +# list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") include(FetchContent) FetchContent_Declare( @@ -21,10 +23,10 @@ FetchContent_MakeAvailable(googletest) enable_testing() -# Find the required libraries using our custom Find modules -find_package(glslang REQUIRED) -find_package(SPIRVCross REQUIRED) -find_package(SPIRVTools) +# # Find the required libraries using our custom Find modules +# find_package(glslang REQUIRED) +# find_package(SPIRVCross REQUIRED) +# find_package(SPIRVTools) add_executable( SanityTest @@ -35,20 +37,24 @@ target_link_libraries( GTest::gtest_main ) -message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") -message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") -message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}") +# message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") +# message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") +# message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}") + +# # Set the libraries to link against +# set(LINK_LIBRARIES +# ${glslang_LIBRARIES} +# ${SPIRVCross_LIBRARIES} +# ) + +# if (SPIRVTools_FOUND) +# list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES}) +# endif() -# Set the libraries to link against set(LINK_LIBRARIES - ${glslang_LIBRARIES} - ${SPIRVCross_LIBRARIES} + MobileGL_s ) -if (SPIRVTools_FOUND) - list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES}) -endif() - include(GoogleTest) gtest_discover_tests(SanityTest) diff --git a/MobileGL/MG_Test/Program/CMakeLists.txt b/MobileGL/MG_Test/Program/CMakeLists.txt index 9b2aa5d2..85f43c9e 100644 --- a/MobileGL/MG_Test/Program/CMakeLists.txt +++ b/MobileGL/MG_Test/Program/CMakeLists.txt @@ -26,46 +26,46 @@ add_executable( ProgramTest ProgramTest.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp - ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp + # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp ) target_include_directories(ProgramTest PRIVATE @@ -74,7 +74,7 @@ target_include_directories(ProgramTest PRIVATE ) target_link_libraries( - ProgramTest + ProgramTest PRIVATE GTest::gtest_main ${LINK_LIBRARIES} ) diff --git a/MobileGL/MG_Test/VertexArray/CMakeLists.txt b/MobileGL/MG_Test/VertexArray/CMakeLists.txt index dcbdd056..5bca8ff7 100644 --- a/MobileGL/MG_Test/VertexArray/CMakeLists.txt +++ b/MobileGL/MG_Test/VertexArray/CMakeLists.txt @@ -4,41 +4,41 @@ add_executable( VertexArrayTest VertexArrayTest.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp - ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp - ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp - ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp - ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp - ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/Core.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureState.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp + # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/Validators.cpp + # ${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp + # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp + # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp ) target_include_directories(VertexArrayTest PRIVATE @@ -47,7 +47,7 @@ target_include_directories(VertexArrayTest PRIVATE ) target_link_libraries( - VertexArrayTest + VertexArrayTest PRIVATE GTest::gtest_main ${LINK_LIBRARIES} )