[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: benchmark:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
BENCH_ROOT: ${{github.workspace}}/MobileGL/MG_Benchmark # BENCH_ROOT: ${{github.workspace}}/MobileGL/MG_Benchmark
BENCH_ROOT: ${{github.workspace}}
steps: steps:
- name: Set Swap Space - name: Set Swap Space
@@ -40,7 +41,7 @@ jobs:
- name: Configure CMake - name: Configure CMake
working-directory: ${{env.BENCH_ROOT}} 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 - name: Build
working-directory: ${{env.BENCH_ROOT}}/build-bench working-directory: ${{env.BENCH_ROOT}}/build-bench
+9 -2
View File
@@ -8,7 +8,8 @@ jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
TEST_ROOT: ${{github.workspace}}/MobileGL/MG_Test # TEST_ROOT: ${{github.workspace}}/MobileGL/MG_Test
TEST_ROOT: ${{github.workspace}}
steps: steps:
- name: Set Swap Space - name: Set Swap Space
@@ -40,7 +41,13 @@ jobs:
- name: Configure CMake - name: Configure CMake
working-directory: ${{env.TEST_ROOT}} 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 - name: Build
working-directory: ${{env.TEST_ROOT}}/build-test working-directory: ${{env.TEST_ROOT}}/build-test
+6
View File
@@ -1,3 +1,9 @@
[submodule "3rdparty/DiligentCore"] [submodule "3rdparty/DiligentCore"]
path = 3rdparty/DiligentCore path = 3rdparty/DiligentCore
url = https://github.com/DiligentGraphics/DiligentCore.git 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(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 set(SOURCE_FILES
MobileGL/Init.cpp MobileGL/Init.cpp
@@ -79,28 +86,55 @@ set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
VISIBILITY_INLINES_HIDDEN ON VISIBILITY_INLINES_HIDDEN ON
) )
# add_subdirectory(3rdparty/DiligentCore)
target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC
${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/MobileGL ${CMAKE_SOURCE_DIR}/MobileGL
) )
target_link_libraries(MobileGL target_link_libraries(${CMAKE_PROJECT_NAME}
PRIVATE PRIVATE
# Diligent-Common # Diligent-Common
# Diligent-GraphicsEngineOpenGL-shared # Diligent-GraphicsEngineOpenGL-shared
# Diligent-GraphicsEngineVk-shared # Diligent-GraphicsEngineVk-shared
) )
set(SPIRV_CROSS_STATIC ON CACHE BOOL "Build SPIRV-Cross as static library") target_link_libraries(${CMAKE_PROJECT_NAME}
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
PRIVATE PRIVATE
glslang::glslang glslang::glslang
spirv-cross-c 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) cmake_minimum_required(VERSION 3.14)
project(MobileGLBenchmark) project(MobileGLBenchmark)
message(STATUS "Generating build files for MobileGL Benchmark...")
set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON) 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_GTEST_TESTS OFF CACHE BOOL "Disable GTest tests")
set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable testing") set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable testing")
set(LINK_LIBRARIES
MobileGL_s
)
include(FetchContent) include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
benchmark benchmark
@@ -26,8 +32,9 @@ add_executable(SanityBench
SanityBench.cpp SanityBench.cpp
) )
target_link_libraries(SanityBench target_link_libraries(
PRIVATE benchmark::benchmark SanityBench PRIVATE
benchmark::benchmark
) )
add_test(NAME SanityBench COMMAND SanityBench --benchmark_counters_tabular=true) add_test(NAME SanityBench COMMAND SanityBench --benchmark_counters_tabular=true)
+55 -55
View File
@@ -1,71 +1,71 @@
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
# Add the directory containing our custom Find modules # # Add the directory containing our custom Find modules
list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") # list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake")
# Find the required libraries using our custom Find modules # # Find the required libraries using our custom Find modules
find_package(glslang REQUIRED) # find_package(glslang REQUIRED)
find_package(SPIRVCross REQUIRED) # find_package(SPIRVCross REQUIRED)
find_package(SPIRVTools) # find_package(SPIRVTools)
message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") # message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}")
message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") # message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}")
message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}") # message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_LIBRARIES}")
# Set the libraries to link against # # Set the libraries to link against
set(LINK_LIBRARIES # set(LINK_LIBRARIES
${glslang_LIBRARIES} # ${glslang_LIBRARIES}
${SPIRVCross_LIBRARIES} # ${SPIRVCross_LIBRARIES}
) # )
if (SPIRVTools_FOUND) # if (SPIRVTools_FOUND)
list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES}) # list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES})
endif() # endif()
add_executable( add_executable(
ProgramBench ProgramBench
ProgramBench.cpp ProgramBench.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.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/ShaderObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.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/Program/GL_Program.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/Core.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/BufferState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.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/VertexArrayObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.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/TextureObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.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/TextureState/TextureState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.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/Buffer/GL_Buffer.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.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/Buffer/Validators.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/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_Impl/GLImpl/VertexArray/GL_VertexArray.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.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/GLExtensionConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.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/MGToStr/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.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/ErrorCodeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.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/MGToGL/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp
${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp
${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp
) )
target_include_directories(ProgramBench PRIVATE target_include_directories(ProgramBench PRIVATE
@@ -74,7 +74,7 @@ target_include_directories(ProgramBench PRIVATE
) )
target_link_libraries( target_link_libraries(
ProgramBench ProgramBench PRIVATE
benchmark::benchmark benchmark::benchmark
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )
+36 -36
View File
@@ -4,41 +4,41 @@ add_executable(
BufferTest BufferTest
BufferTest.cpp BufferTest.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/Core.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/BufferState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.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/VertexArrayObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.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/TextureObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.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/TextureState/TextureState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.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/ProgramObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.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/Program/GL_Program.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.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/Getter/GL_Getter.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.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/Validators.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.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/GLToStr/GLEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.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/GLToGlslang/GLShaderLangConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp
${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp
${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp
) )
target_include_directories(BufferTest PRIVATE target_include_directories(BufferTest PRIVATE
@@ -47,7 +47,7 @@ target_include_directories(BufferTest PRIVATE
) )
target_link_libraries( target_link_libraries(
BufferTest BufferTest PRIVATE
GTest::gtest_main GTest::gtest_main
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )
+22 -16
View File
@@ -1,13 +1,15 @@
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
project(MobileGLTest) project(MobileGLTest)
message(STATUS "Generating build files for MobileGL Test...")
set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(MGL_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) set(MGL_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..)
# Add the directory containing our custom Find modules # # Add the directory containing our custom Find modules
list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake") # list(APPEND CMAKE_MODULE_PATH "${MGL_ROOT}/buildsystem/cmake")
include(FetchContent) include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
@@ -21,10 +23,10 @@ FetchContent_MakeAvailable(googletest)
enable_testing() enable_testing()
# Find the required libraries using our custom Find modules # # Find the required libraries using our custom Find modules
find_package(glslang REQUIRED) # find_package(glslang REQUIRED)
find_package(SPIRVCross REQUIRED) # find_package(SPIRVCross REQUIRED)
find_package(SPIRVTools) # find_package(SPIRVTools)
add_executable( add_executable(
SanityTest SanityTest
@@ -35,20 +37,24 @@ target_link_libraries(
GTest::gtest_main GTest::gtest_main
) )
message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}") # message(STATUS "glslang_LIBRARIES: ${glslang_LIBRARIES}")
message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}") # message(STATUS "SPIRVTools_LIBRARIES: ${SPIRVTools_LIBRARIES}")
message(STATUS "SPIRVCross_LIBRARIES: ${SPIRVCross_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 set(LINK_LIBRARIES
${glslang_LIBRARIES} MobileGL_s
${SPIRVCross_LIBRARIES}
) )
if (SPIRVTools_FOUND)
list(APPEND LINK_LIBRARIES ${SPIRVTools_LIBRARIES})
endif()
include(GoogleTest) include(GoogleTest)
gtest_discover_tests(SanityTest) gtest_discover_tests(SanityTest)
+38 -38
View File
@@ -26,46 +26,46 @@ add_executable(
ProgramTest ProgramTest
ProgramTest.cpp ProgramTest.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramObject.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/ShaderObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.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/Program/GL_Program.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/Core.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/BufferState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.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/VertexArrayObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.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/TextureObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.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/TextureState/TextureState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.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/Buffer/GL_Buffer.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.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/Buffer/Validators.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/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_Impl/GLImpl/VertexArray/GL_VertexArray.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.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/GLExtensionConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.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/MGToStr/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.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/ErrorCodeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.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/MGToGL/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp
${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp
${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp
) )
target_include_directories(ProgramTest PRIVATE target_include_directories(ProgramTest PRIVATE
@@ -74,7 +74,7 @@ target_include_directories(ProgramTest PRIVATE
) )
target_link_libraries( target_link_libraries(
ProgramTest ProgramTest PRIVATE
GTest::gtest_main GTest::gtest_main
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )
+36 -36
View File
@@ -4,41 +4,41 @@ add_executable(
VertexArrayTest VertexArrayTest
VertexArrayTest.cpp VertexArrayTest.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/Core.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/BufferState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/BufferState/BufferObject.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/VertexArrayObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/VertexArrayState/VertexArrayState.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/TextureObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/TextureState/TextureUnit.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/TextureState/TextureState.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ErrorState/Error.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/ProgramObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp # ${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ShaderObject.cpp
${MGL_ROOT}/MobileGL/MG_State/GLState/ProgramState/ProgramState.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/Program/GL_Program.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.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/Getter/GL_Getter.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/Buffer/Validators.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/Validators.cpp
${MGL_ROOT}/MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.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/GLToStr/GLEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.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/GLToGlslang/GLShaderLangConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.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/BufferEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Metrics/BufferMetrics.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp
${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp # ${MGL_ROOT}/MobileGL/MG_Backend/Init.cpp
${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Debug/Log.cpp
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp # ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/glslang/UniformTraverser.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp # ${MGL_ROOT}/MobileGL/MG_Util/Converters/SPIRVCrossToGL/SpvcTypeConverter.cpp
) )
target_include_directories(VertexArrayTest PRIVATE target_include_directories(VertexArrayTest PRIVATE
@@ -47,7 +47,7 @@ target_include_directories(VertexArrayTest PRIVATE
) )
target_link_libraries( target_link_libraries(
VertexArrayTest VertexArrayTest PRIVATE
GTest::gtest_main GTest::gtest_main
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )