[Refactor] (buildsystem, 3rdparty): link test and benchmark to MobileGL library

This commit is contained in:
2025-08-25 15:46:59 +08:00
parent a19c0a214a
commit 3513e3bffe
10 changed files with 259 additions and 198 deletions
+3 -2
View File
@@ -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
+10 -3
View File
@@ -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
+6
View File
@@ -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
+44 -10
View File
@@ -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)
+9 -2
View File
@@ -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)
+55 -55
View File
@@ -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}
)
+36 -36
View File
@@ -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}
)
+22 -16
View File
@@ -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)
+38 -38
View File
@@ -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}
)
+36 -36
View File
@@ -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}
)