Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: CodeQL
on:
push:
branches: [ "master" ]
tags: [ '**' ]
pull_request:
branches: [ "master" ]

Expand All @@ -16,12 +19,7 @@ jobs:
matrix:
include:
- language: c-cpp
build-mode: manual
manual-command-list: >
cmake -S . -B ./build -G "Ninja Multi-Config"
-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS="-O3 -Wall -std=c++23"

cmake --build ./build --config Release
build-mode: none

- language: actions
build-mode: none
Expand All @@ -33,9 +31,8 @@ jobs:
with:
language: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
manual-command-list: ${{ matrix.manual-command-list }}

run-codeql:
verify-codeql:
permissions:
contents: none

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/pr-xplat-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ jobs:
compiler: [ mingw64, gcc ]
architecture: [ x64, x86 ]
target: [ win, linux ]
development-build: [ true, false ]
build-type: [ debug, release ]
exclude:
- target: win
Expand All @@ -57,9 +58,10 @@ jobs:
build-tool: ${{ matrix.build-tool }}
build-type: ${{ matrix.build-type }}
compiler: ${{ matrix.compiler }}
development-build: ${{ matrix.development-build }}
target: ${{ matrix.target }}

build-all:
verify-compilation-task:
if: always()
runs-on: ubuntu-latest
needs: [check-files, build]
Expand Down
36 changes: 19 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
cmake_minimum_required(VERSION 3.24)
project(libvlmath)
cmake_minimum_required(VERSION 3.30)
project(libvlmath
VERSION 0.0.1
HOMEPAGE_URL "https://github.com/VolcanusLucis/libvlmath"
)

# Project is already pre-pended with lib
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_STATIC_LIBRARY_PREFIX "")
# VARIABLES

add_subdirectory(${PROJECT_NAME})
option(libvlmath_INCLUDE_PACKAGING "Include packaging rules for libvlmath" "${PROJECT_IS_TOP_LEVEL}")

install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
# PROJECT

if (DEFINED libvlmath_SHARED_LIBS)
set(BUILD_SHARED_LIBS ${libvlmath_SHARED_LIBS})
endif ()

add_subdirectory(libvlmath)

# PACKAGING

install(DIRECTORY ${PROJECT_SOURCE_DIR}/${PROJECT_NAME}
DESTINATION "include"
FILES_MATCHING
PATTERN "*.hpp"
PATTERN "*.tpp"
)
if (libvlmath_INCLUDE_PACKAGING)
add_subdirectory(packaging)
endif ()
213 changes: 172 additions & 41 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
{
"version": 10,
"version": 4,
"cmakeMinimumRequired": {
"major": 3,
"minor": 24,
"minor": 30,
"patch": 0
},

"configurePresets": [
{
"name": "base",
"hidden": true,
"binaryDir": "${sourceDir}/build/${presetName}/",
"installDir": "${sourceDir}/install/${presetName}/${sourceDirName}"
"binaryDir": "${sourceDir}/build/${presetName}"
},
{
"name": "ninja-multi-config",
"name": "runtime",
"cacheVariables": {
"BUILD_SHARED_LIBS": "ON",
"libvlmath_RUNTIME_BUILD": "YES"
},
"hidden": true
},
{
"name": "devel",
"cacheVariables": {
"BUILD_SHARED_LIBS": "OFF",
"libvlmath_RUNTIME_BUILD": "NO"
},
"hidden": true
},
{
"name": "ninja",
"description": "Ninja Multi-Config Generator",
"hidden": true,
"generator": "Ninja Multi-Config",
Expand All @@ -25,6 +40,7 @@
"name": "gcc-x64-linux",
"description": "GCC x64 Linux Toolchain",
"toolchainFile": "${sourceDir}/toolchains/gcc-x64-linux.cmake",
"hidden": true,
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
Expand All @@ -35,6 +51,7 @@
"name": "gcc-x86-linux",
"description": "GCC x86 Linux Toolchain",
"toolchainFile": "${sourceDir}/toolchains/gcc-x86-linux.cmake",
"hidden": true,
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
Expand All @@ -44,86 +61,200 @@
{
"name": "mingw64-x64-win",
"description": "MinGW64 x64 Windows Toolchain",
"toolchainFile": "${sourceDir}/toolchains/mingw64-x64-win.cmake"
"toolchainFile": "${sourceDir}/toolchains/mingw64-x64-win.cmake",
"hidden": true
},
{
"name": "mingw64-x86-win",
"description": "MinGW64 x86 Windows Toolchain",
"toolchainFile": "${sourceDir}/toolchains/mingw64-x86-win.cmake"
"toolchainFile": "${sourceDir}/toolchains/mingw64-x86-win.cmake",
"hidden": true
},

{
"name": "ninja-mingw64-x64-win-devel",
"displayName": "MinGW64 Windows x64 - Developer",
"inherits": ["ninja", "devel", "mingw64-x64-win"]
},

{
"name": "ninja-mingw64-x64-win",
"displayName": "MinGW64 Windows x64",
"inherits": ["ninja-multi-config", "mingw64-x64-win"]
"inherits": ["ninja", "runtime", "mingw64-x64-win"]
},

{
"name": "ninja-mingw64-x86-win-devel",
"displayName": "MinGW64 Windows x86 - Developer",
"inherits": ["ninja", "devel", "mingw64-x86-win"]
},
{
"name": "ninja-mingw64-x86-win",
"displayName": "MinGW64 Windows x86",
"inherits": ["ninja-multi-config", "mingw64-x86-win"]
"inherits": ["ninja", "runtime", "mingw64-x86-win"]
},

{
"name": "ninja-gcc-x64-linux-devel",
"displayName": "GCC Linux x64 - Developer",
"inherits": ["ninja", "devel", "gcc-x64-linux"]
},
{
"name": "ninja-gcc-x64-linux",
"displayName": "GCC Linux x64",
"inherits": ["ninja-multi-config", "gcc-x64-linux"]
"inherits": ["ninja", "runtime", "gcc-x64-linux"]
},

{
"name": "ninja-gcc-x86-linux-devel",
"displayName": "GCC Linux x86 - Developer",
"inherits": ["ninja", "devel", "gcc-x86-linux"]
},
{
"name": "ninja-gcc-x86-linux",
"displayName": "GCC Linux x86",
"inherits": ["ninja-multi-config", "gcc-x86-linux"]
"inherits": ["ninja", "runtime", "gcc-x86-linux"]
}
],

"buildPresets": [
{
"name": "ninja-mingw64-x64-win-debug",
"displayName": "Debug - Windows x64 MinGW64",
"configurePreset": "ninja-mingw64-x64-win",
"configuration": "Debug"
"name": "debug",
"configuration": "Debug",
"hidden": true
},
{
"name": "release",
"configuration": "Release",
"hidden": true
},
{
"name": "mingw64-x64-win-devel",
"configurePreset": "ninja-mingw64-x64-win-devel",
"hidden": true
},
{
"name": "ninja-mingw64-x64-win-release",
"displayName": "Release - Windows x64 MinGW64",
"name": "mingw64-x64-win",
"configurePreset": "ninja-mingw64-x64-win",
"configuration": "Release"
"hidden": true
},

{
"name": "ninja-mingw64-x86-win-debug",
"displayName": "Debug - Windows x86 MinGW64",
"configurePreset": "ninja-mingw64-x86-win",
"configuration": "Debug"
"name": "mingw64-x86-win-devel",
"configurePreset": "ninja-mingw64-x86-win-devel",
"hidden": true
},
{
"name": "ninja-mingw64-x86-win-release",
"displayName": "Release - Windows x86 MinGW64",
"name": "mingw64-x86-win",
"configurePreset": "ninja-mingw64-x86-win",
"configuration": "Release"
"hidden": true
},

{
"name": "ninja-gcc-x64-linux-debug",
"displayName": "Debug - Linux x64 GCC",
"configurePreset": "ninja-gcc-x64-linux",
"configuration": "Debug"
"name": "gcc-x64-linux-devel",
"configurePreset": "ninja-gcc-x64-linux-devel",
"hidden": true
},
{
"name": "ninja-gcc-x64-linux-release",
"displayName": "Release - Linux x64 GCC",
"name": "gcc-x64-linux",
"configurePreset": "ninja-gcc-x64-linux",
"configuration": "Release"
"hidden": true
},

{
"name": "ninja-gcc-x86-linux-debug",
"displayName": "Debug - Linux x86 GCC",
"configurePreset": "ninja-gcc-x86-linux",
"configuration": "Debug"
"name": "gcc-x86-linux-devel",
"configurePreset": "ninja-gcc-x86-linux-devel",
"hidden": true
},
{
"name": "ninja-gcc-x86-linux-release",
"displayName": "Release - Linux x86 GCC",
"name": "gcc-x86-linux",
"configurePreset": "ninja-gcc-x86-linux",
"configuration": "Release"
"hidden": true
},


{
"name": "mingw64-x86-win-debug",
"displayName": "MinGW64 x86 Windows [Debug]",
"inherits": ["mingw64-x86-win", "debug"]
},
{
"name": "mingw64-x86-win-devel-debug",
"displayName": "MinGW64 x86 Windows - Developer [Debug]",
"inherits": ["mingw64-x86-win-devel", "debug"]
},
{
"name": "mingw64-x64-win-debug",
"displayName": "MinGW64 x64 Windows [Debug]",
"inherits": ["mingw64-x64-win", "debug"]
},
{
"name": "mingw64-x64-win-devel-debug",
"displayName": "MinGW64 x64 Windows - Developer [Debug]",
"inherits": ["mingw64-x64-win-devel", "debug"]
},

{
"name": "mingw64-x86-win-release",
"displayName": "MinGW64 x86 Windows [Release]",
"inherits": ["mingw64-x86-win", "release"]
},
{
"name": "mingw64-x86-win-devel-release",
"displayName": "MinGW64 x86 Windows - Developer [Release]",
"inherits": ["mingw64-x86-win-devel", "release"]
},
{
"name": "mingw64-x64-win-release",
"displayName": "MinGW64 x64 Windows [Release]",
"inherits": ["mingw64-x64-win", "release"]
},
{
"name": "mingw64-x64-win-devel-release",
"displayName": "MinGW64 x64 Windows - Developer [Release]",
"inherits": ["mingw64-x64-win-devel", "release"]
},


{
"name": "gcc-x86-linux-debug",
"displayName": "GCC x86 Linux [Debug]",
"inherits": ["gcc-x86-linux", "debug"]
},
{
"name": "gcc-x86-linux-devel-debug",
"displayName": "GCC x86 Linux - Developer [Debug]",
"inherits": ["gcc-x86-linux-devel", "debug"]
},
{
"name": "gcc-x64-linux-debug",
"displayName": "GCC x64 Linux [Debug]",
"inherits": ["gcc-x64-linux", "debug"]
},
{
"name": "gcc-x64-linux-devel-debug",
"displayName": "GCC x64 Linux - Developer [Debug]",
"inherits": ["gcc-x64-linux-devel", "debug"]
},

{
"name": "gcc-x86-linux-release",
"displayName": "GCC x86 Linux [Release]",
"inherits": ["gcc-x86-linux", "release"]
},
{
"name": "gcc-x86-linux-devel-release",
"displayName": "GCC x86 Linux - Developer [Release]",
"inherits": ["gcc-x86-linux-devel", "release"]
},
{
"name": "gcc-x64-linux-release",
"displayName": "GCC x64 Linux [Release]",
"inherits": ["gcc-x64-linux", "release"]
},
{
"name": "gcc-x64-linux-devel-release",
"displayName": "GCC x64 Linux - Developer [Release]",
"inherits": ["gcc-x64-linux-devel", "release"]
}
]
}
Loading
Loading