Skip to content
This repository was archived by the owner on Oct 7, 2025. It is now read-only.

Commit adc5819

Browse files
committed
fix and test
1 parent 88682da commit adc5819

File tree

2 files changed

+51
-31
lines changed

2 files changed

+51
-31
lines changed

.github/workflows/tests.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Tests
2+
on: [push, pull_request]
3+
4+
jobs:
5+
MacOS:
6+
name: macos-${{ matrix.os-version }}
7+
runs-on: macos-${{ matrix.os-version }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os-version: [14, 15]
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
18+
- name: Configure
19+
run: |
20+
mkdir build
21+
cd build
22+
cmake ..
23+
24+
- name: Build
25+
run: |
26+
cd build
27+
cmake --build . -- -j$(( `sysctl -n hw.ncpu` + 1 ))
28+
29+
- name: Ls
30+
run: |
31+
ls -R .

CMakeLists.txt

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
cmake_minimum_required(VERSION 3.15)
2-
project(MGL LANGUAGES C CXX OBJC OBJCXX)
2+
project(MGL LANGUAGES C CXX OBJC)
33

44
execute_process(COMMAND "bash" "clone_external.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/external" COMMAND_ECHO STDOUT)
55
execute_process(COMMAND "bash" "build_external.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/external" COMMAND_ECHO STDOUT)
66

7-
# Compiler flags
8-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -fsanitize=address -arch ${CMAKE_SYSTEM_PROCESSOR}")
9-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -g -fsanitize=address -arch ${CMAKE_SYSTEM_PROCESSOR}")
10-
set(CMAKE_OBJC_FLAGS "${CMAKE_OBJC_FLAGS} -O2 -g -fsanitize=address -arch ${CMAKE_SYSTEM_PROCESSOR}")
11-
set(CMAKE_OBJCXX_FLAGS "${CMAKE_OBJCXX_FLAGS} -O2 -g -fsanitize=address -arch ${CMAKE_SYSTEM_PROCESSOR}")
7+
set(CMAKE_C_STANDARD 17)
8+
set(CMAKE_CXX_STANDARD 20)
129

1310
# Include paths
1411
include_directories(
@@ -22,38 +19,30 @@ include_directories(
2219

2320
# Gather all source files
2421
file(GLOB_RECURSE MGL_SOURCES
25-
src/*.c
26-
src/*.cpp
27-
src/*.m
28-
src/*.mm
22+
MGL/src/*.c
23+
MGL/src/*.m
24+
MGL/spirv_cross_c.cpp
2925
)
3026

3127
# Static library target
3228
add_library(mgl STATIC ${MGL_SOURCES})
3329

34-
# Link directories
35-
target_link_directories(mgl PRIVATE
36-
external/SPIRV-Cross/build
37-
external/glslang/build/SPIRV
38-
external/glslang/build/glslang
39-
external/glslang/build/glslang/OSDependent/Unix
40-
)
41-
4230
# Link libraries
4331
target_link_libraries(mgl PRIVATE
44-
GenericCodeGen
45-
MachineIndependent
46-
OSDependent
47-
SPIRV
48-
glslang
49-
glslang-default-resource-limits
50-
spirv-cross-c
51-
spirv-cross-core
52-
spirv-cross-cpp
53-
spirv-cross-glsl
54-
spirv-cross-hlsl
55-
spirv-cross-msl
56-
spirv-cross-reflect
32+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/glslang/libGenericCodeGen.a"
33+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/glslang/libMachineIndependent.a"
34+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/glslang/libglslang-default-resource-limits.a"
35+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/glslang/libglslang.a"
36+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/glslang/OSDependent/Unix/libOSDependent.a"
37+
"${CMAKE_CURRENT_LIST_DIR}/external/glslang/build/SPIRV/libSPIRV.a"
38+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-c.a"
39+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-core.a"
40+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-cpp.a"
41+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-glsl.a"
42+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-hlsl.a"
43+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-msl.a"
44+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-reflect.a"
45+
"${CMAKE_CURRENT_LIST_DIR}/external/SPIRV-Cross/build/libspirv-cross-util.a"
5746
)
5847

5948
# macOS Frameworks

0 commit comments

Comments
 (0)