diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a2195d09b..bd8a08faa6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,14 +2,78 @@ name: ci run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 on: [push] jobs: - Pure: - runs-on: ${{ matrix.os}} + windows-latest: + runs-on: windows-latest strategy: fail-fast: false matrix: - std: [98, 11, 14, 17, 20] + std: [98, 17] config: [Debug, Release] - os: [ubuntu-latest, macos-latest, windows-latest] + #os: [ubuntu-latest, macos-latest, windows-latest] + vs-version: [13, 14, 15.4, 16.4, 17.0, 17.7] + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." + #- run: cmake -S. -B ./build_98_pure -D GLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_pure -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2 -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake --build ./build_pure --config ${{matrix.config}} + - run: cmake --build ./build_pure_ext --config ${{matrix.config}} + - run: cmake --build ./build_sse2 --config ${{matrix.config}} + - run: cmake --build ./build_sse2_ext --config ${{matrix.config}} + #- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure + #- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext + #- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2 + #- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext + ubuntu-latest: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + std: [98, 17] + config: [Debug, Release] + gcc: [4.7, 8, 12] + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." + #- run: cmake -S. -B ./build_98_pure -D GLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_pure -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2 -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake --build ./build_pure --config ${{matrix.config}} + - run: cmake --build ./build_pure_ext --config ${{matrix.config}} + - run: cmake --build ./build_sse2 --config ${{matrix.config}} + - run: cmake --build ./build_sse2_ext --config ${{matrix.config}} + macos-latest: + runs-on: macos-latest + strategy: + fail-fast: false + matrix: + std: [98, 17] + config: [Debug, Release] + version: [3.9, 15] + #os: [ubuntu-latest, macos-latest, windows-latest] steps: - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" @@ -23,9 +87,14 @@ jobs: ls ${{ github.workspace }} - run: echo "🍏 This job's status is ${{ job.status }}." #- run: cmake -S. -B ./build_98_pure -D GLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} - - run: cmake -S. -B ./build_auto -DCMAKE_BUILD_TYPE=${{matrix.config}} - - run: cmake --build ./build_auto --parallel --config ${{matrix.config}} - - run: ctest --parallel 4 --verbose -C ${{matrix.config}} --test-dir ./build_auto + - run: cmake -S. -B ./build_pure -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2 -DGLM_TEST_FORCE_PURE=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} + - run: cmake --build ./build_pure --config ${{matrix.config}} + - run: cmake --build ./build_pure_ext --config ${{matrix.config}} + - run: cmake --build ./build_sse2 --config ${{matrix.config}} + - run: cmake --build ./build_sse2_ext --config ${{matrix.config}} #name: GLM Unit Tests diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp index 8201796b3a..f091f0fccb 100644 --- a/glm/gtx/hash.hpp +++ b/glm/gtx/hash.hpp @@ -20,8 +20,6 @@ # endif #endif -#include - #include "../vec2.hpp" #include "../vec3.hpp" #include "../vec4.hpp" @@ -46,6 +44,9 @@ # error "GLM_GTX_hash requires C++11 standard library support" #endif +#if GLM_LANG & GLM_LANG_CXX11 +#include + namespace std { template @@ -140,3 +141,5 @@ namespace std } // namespace std #include "hash.inl" + +#endif //GLM_LANG & GLM_LANG_CXX11 \ No newline at end of file diff --git a/glm/gtx/string_cast.inl b/glm/gtx/string_cast.inl index f67751d41c..0b2d4b6aeb 100644 --- a/glm/gtx/string_cast.inl +++ b/glm/gtx/string_cast.inl @@ -31,7 +31,7 @@ namespace detail # if (GLM_COMPILER & GLM_COMPILER_VC) vsprintf_s(text, STRING_BUFFER, msg, list); # else// - std::vsprintf(text, msg, list); + std::vsnprintf(text, STRING_BUFFER, msg, list); # endif// va_end(list); diff --git a/test/ext/ext_matrix_common.cpp b/test/ext/ext_matrix_common.cpp index 8895892a2e..2cf1da2640 100644 --- a/test/ext/ext_matrix_common.cpp +++ b/test/ext/ext_matrix_common.cpp @@ -70,7 +70,7 @@ static int test_abs() glm::bvec4 const col2 = glm::equal(D[1], A[1]); glm::bvec4 const col3 = glm::equal(D[2], A[2]); glm::bvec4 const col4 = glm::equal(D[3], A[3]); - Error += glm::all(glm::bvec4{glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4)}) ? 0 : 1; + Error += glm::all(glm::bvec4(glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4))) ? 0 : 1; } { glm::mat4x3 A( @@ -91,7 +91,7 @@ static int test_abs() glm::bvec3 const col2 = glm::equal(D[1], A[1]); glm::bvec3 const col3 = glm::equal(D[2], A[2]); glm::bvec3 const col4 = glm::equal(D[3], A[3]); - Error += glm::all(glm::bvec4{glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4)}) ? 0 : 1; + Error += glm::all(glm::bvec4(glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4))) ? 0 : 1; } { glm::mat4x2 A( @@ -112,7 +112,7 @@ static int test_abs() glm::bvec2 const col2 = glm::equal(D[1], A[1]); glm::bvec2 const col3 = glm::equal(D[2], A[2]); glm::bvec2 const col4 = glm::equal(D[3], A[3]); - Error += glm::all(glm::bvec4{glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4)}) ? 0 : 1; + Error += glm::all(glm::bvec4(glm::all(col1), glm::all(col2), glm::all(col3), glm::all(col4))) ? 0 : 1; } // -------------------- // @@ -134,7 +134,7 @@ static int test_abs() glm::bvec4 const col1 = glm::equal(D[0], A[0]); glm::bvec4 const col2 = glm::equal(D[1], A[1]); glm::bvec4 const col3 = glm::equal(D[2], A[2]); - Error += glm::all(glm::bvec3{glm::all(col1), glm::all(col2), glm::all(col3)}) ? 0 : 1; + Error += glm::all(glm::bvec3(glm::all(col1), glm::all(col2), glm::all(col3))) ? 0 : 1; } { glm::mat3 A( @@ -152,7 +152,7 @@ static int test_abs() glm::bvec3 const col1 = glm::equal(D[0], A[0]); glm::bvec3 const col2 = glm::equal(D[1], A[1]); glm::bvec3 const col3 = glm::equal(D[2], A[2]); - Error += glm::all(glm::bvec3{glm::all(col1), glm::all(col2), glm::all(col3)}) ? 0 : 1; + Error += glm::all(glm::bvec3(glm::all(col1), glm::all(col2), glm::all(col3))) ? 0 : 1; } { glm::mat3x2 A( @@ -170,7 +170,7 @@ static int test_abs() glm::bvec2 const col1 = glm::equal(D[0], A[0]); glm::bvec2 const col2 = glm::equal(D[1], A[1]); glm::bvec2 const col3 = glm::equal(D[2], A[2]); - Error += glm::all(glm::bvec3{glm::all(col1), glm::all(col2), glm::all(col3)}) ? 0 : 1; + Error += glm::all(glm::bvec3(glm::all(col1), glm::all(col2), glm::all(col3))) ? 0 : 1; } // -------------------- // @@ -189,7 +189,7 @@ static int test_abs() glm::mat2x4 D = glm::abs(C); glm::bvec4 const col1 = glm::equal(D[0], A[0]); glm::bvec4 const col2 = glm::equal(D[1], A[1]); - Error += glm::all(glm::bvec2{glm::all(col1), glm::all(col2)}) ? 0 : 1; + Error += glm::all(glm::bvec2(glm::all(col1), glm::all(col2))) ? 0 : 1; } { glm::mat2x3 A( @@ -204,7 +204,7 @@ static int test_abs() glm::mat2x3 D = glm::abs(C); glm::bvec3 const col1 = glm::equal(D[0], A[0]); glm::bvec3 const col2 = glm::equal(D[1], A[1]); - Error += glm::all(glm::bvec2{glm::all(col1), glm::all(col2)}) ? 0 : 1; + Error += glm::all(glm::bvec2(glm::all(col1), glm::all(col2))) ? 0 : 1; } { glm::mat2 A( @@ -219,7 +219,7 @@ static int test_abs() glm::mat2 D = glm::abs(C); glm::bvec2 const col1 = glm::equal(D[0], A[0]); glm::bvec2 const col2 = glm::equal(D[1], A[1]); - Error += glm::all(glm::bvec2{glm::all(col1), glm::all(col2)}) ? 0 : 1; + Error += glm::all(glm::bvec2(glm::all(col1), glm::all(col2))) ? 0 : 1; } return Error; diff --git a/test/gtx/gtx_hash.cpp b/test/gtx/gtx_hash.cpp index 4eb2b701a3..b2fbd0d702 100644 --- a/test/gtx/gtx_hash.cpp +++ b/test/gtx/gtx_hash.cpp @@ -1,45 +1,46 @@ #define GLM_ENABLE_EXPERIMENTAL #include -#include +#include +#if GLM_LANG& GLM_LANG_CXX11 int test_compile() { int Error = 0; // Vector types - std::unordered_map map_vec1; + std::map map_vec1; Error += ++map_vec1[glm::vec1(0.0f)]; - std::unordered_map map_vec2; + std::map map_vec2; Error += ++map_vec2[glm::vec2(0.0f)]; - std::unordered_map map_vec3; + std::map map_vec3; Error += ++map_vec3[glm::vec3(0.0f)]; - std::unordered_map map_vec4; + std::map map_vec4; Error += ++map_vec4[glm::vec4(0.0f)]; // Quaternion types - std::unordered_map map_quat; + std::map map_quat; Error += ++map_quat[glm::quat(0.0f, glm::vec3(0.0f))]; - std::unordered_map map_dualquat; + std::map map_dualquat; Error += ++map_dualquat[glm::dualquat(glm::quat(0.0f, glm::vec3(0.0f)), glm::vec3(0.0f))]; // Matrix types - std::unordered_map map_mat2x2; + std::map map_mat2x2; Error += ++map_mat2x2[glm::mat2x2(0.0f)]; - std::unordered_map map_mat2x3; + std::map map_mat2x3; Error += ++map_mat2x3[glm::mat2x3(0.0f)]; - std::unordered_map map_mat2x4; + std::map map_mat2x4; Error += ++map_mat2x4[glm::mat2x4(0.0f)]; - std::unordered_map map_mat3x2; + std::map map_mat3x2; Error += ++map_mat3x2[glm::mat3x2(0.0f)]; - std::unordered_map map_mat3x3; + std::map map_mat3x3; Error += ++map_mat3x3[glm::mat3x3(0.0f)]; - std::unordered_map map_mat3x4; + std::map map_mat3x4; Error += ++map_mat3x4[glm::mat3x4(0.0f)]; - std::unordered_map map_mat4x2; + std::map map_mat4x2; Error += ++map_mat4x2[glm::mat4x2(0.0f)]; - std::unordered_map map_mat4x3; + std::map map_mat4x3; Error += ++map_mat4x3[glm::mat4x3(0.0f)]; - std::unordered_map map_mat4x4; + std::map map_mat4x4; Error += ++map_mat4x4[glm::mat4x4(0.0f)]; return Error > 0 ? 0 : 1; @@ -47,10 +48,10 @@ int test_compile() int main() { - int Error = 0; + int Error = 0; - Error += test_compile(); + Error += test_compile(); - return Error; + return Error; } - +#endif//GLM_LANG& GLM_LANG_CXX11