blueloveTH 9 месяцев назад
Родитель
Сommit
3c2d15abc2
6 измененных файлов с 21 добавлено и 10 удалено
  1. 7 7
      .github/workflows/main.yml
  2. 3 0
      .gitmodules
  3. 1 0
      3rd/dmath/dmath
  4. 8 1
      CMakeLists.txt
  5. 1 1
      CMakeOptions.txt
  6. 1 1
      cmake_build.py

+ 7 - 7
.github/workflows/main.yml

@@ -17,7 +17,7 @@ jobs:
     steps:
     - uses: actions/checkout@v4
       with:
-        submodules: true
+        submodules: recursive
     - uses: ilammy/msvc-dev-cmd@v1
     - name: Compile
       shell: powershell
@@ -30,7 +30,7 @@ jobs:
     steps:
     - uses: actions/checkout@v4
       with:
-        submodules: true
+        submodules: recursive
     - uses: ilammy/msvc-dev-cmd@v1
     - name: Compile
       shell: bash
@@ -52,7 +52,7 @@ jobs:
     steps:
     - uses: actions/checkout@v4
       with:
-        submodules: true
+        submodules: recursive
     - name: Setup Clang
       uses: egor-tensin/setup-clang@v1
       with:
@@ -87,7 +87,7 @@ jobs:
       steps:
       - uses: actions/checkout@v4
         with:
-          submodules: true
+          submodules: recursive
       - name: Compile and Test
         run: |
           python cmake_build.py Release -DPK_BUILD_MODULE_LZ4=ON
@@ -101,7 +101,7 @@ jobs:
       steps:
       - uses: actions/checkout@v4
         with:
-          submodules: true
+          submodules: recursive
       - uses: nttld/setup-ndk@v1
         id: setup-ndk
         with:
@@ -132,7 +132,7 @@ jobs:
       steps:
       - uses: actions/checkout@v4
         with:
-          submodules: true
+          submodules: recursive
       - name: Compile Frameworks
         run: |
           git clone https://github.com/leetal/ios-cmake --depth 1 ~/ios-cmake
@@ -151,7 +151,7 @@ jobs:
       steps:
         - uses: actions/checkout@v4
           with:
-            submodules: true
+            submodules: recursive
         - name: Setup Alpine Linux for ${{ matrix.arch }}
           uses: jirutka/setup-alpine@v1
           with:

+ 3 - 0
.gitmodules

@@ -4,3 +4,6 @@
 [submodule "3rd/lz4/lz4"]
 	path = 3rd/lz4/lz4
 	url = https://github.com/lz4/lz4
+[submodule "3rd/dmath/dmath"]
+	path = 3rd/dmath/dmath
+	url = https://github.com/pocketpy/dmath

+ 1 - 0
3rd/dmath/dmath

@@ -0,0 +1 @@
+Subproject commit bc5ece5f534d0d6bac8b0d88e121055fc8dfba6d

+ 8 - 1
CMakeLists.txt

@@ -36,7 +36,7 @@ else()
     endif()
 
     if(PK_ENABLE_DETERMINISM)
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexcess-precision=standard -ffp-contract=off")
+        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-contract=off")
     endif()
 endif()
 
@@ -82,6 +82,13 @@ else()
     target_link_libraries(main ${PROJECT_NAME})
 endif()
 
+
+if(PK_ENABLE_DETERMINISM)
+    add_subdirectory(3rd/dmath/dmath)
+    target_link_libraries(${PROJECT_NAME} dmath)
+    add_definitions(-DPK_ENABLE_DETERMINISM=1)
+endif()
+
 if(UNIX AND NOT APPLE)
     if(NOT PK_ENABLE_DETERMINISM)
         # use platform libm

+ 1 - 1
CMakeOptions.txt

@@ -7,7 +7,7 @@ endif()
 
 # system features
 option(PK_ENABLE_OS "" OFF)
-option(PK_ENABLE_DETERMINISM "" FALSE)
+option(PK_ENABLE_DETERMINISM "" OFF)
 option(PK_ENABLE_WATCHDOG "" OFF)
 
 # modules

+ 1 - 1
cmake_build.py

@@ -20,7 +20,7 @@ assert config in ['Debug', 'Release', 'RelWithDebInfo']
 
 os.chdir("build")
 
-code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}")
+code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DPK_ENABLE_DETERMINISM=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}")
 assert code == 0
 code = os.system(f"cmake --build . --config {config} -j 4")
 assert code == 0