Squashed 'deps/nfde/' changes from 28ade5a5c..5786fabce
5786fabce Release: v1.1.1 cdbc9e9df Build: Update minimum CMake version to 3.5 (#113) a6d93cb12 CI: Downgrade from C++23 to C++20 on Ubuntu (#116) f4bf38915 CI: Remove CircleCI config file (#114) 75cbdf819 Build: Add support for building shared libraries on Windows (#109) 800f58283 Release: v1.1.0 210ae0e76 Portal: Support defaultPath for OpenDialog, OpenDialogMultiple, and PickFolder (#108) dbd7139b4 Build: Generate and install CMake config (#100) 1fde8a5aa CI: Update MacOS 10.15 to MacOS 11 (#101) 06a5c1f0a Release: v1.0.3 ae6718b68 Portal: Make `PickFolder()` check that portal interface version is >=3 (#94) 08216013f Portal: Support formatted error messages using sprintf() (#97) da81bb077 README: Remove untested portal warning and link current_folder PR (#96) 2b55a1f83 CI: Upgrade Ubuntu 18.04 to Ubuntu 20.04 (#95) 7909f55d9 Release: v1.0.2 d1b80e3a6 MacOS: Add NFD_ClearError() definition (#88) 44e63d5e5 Portal: Add `getrandom` fallback for old versions of GLIBC (#86) 43fe9cf95 Build: Use XXX_LINK_LIBRARIES for linking to support *BSD (#85) dd46d2a05 ClangFormat: Force ClangFormat 13 for now (#84) 699bb6f82 Build: Set target_include_directories correctly when NFDe is added as a subdirectory (#83) 6efc82407 Release: v1.0.1 74923e7c0 README: Add missing Windows shell32.lib dependency 31df8e30c README: Update NFD_BUILD_TESTS and add NFD_INSTALL flags (#78) dee61e555 Add NFD_INSTALL option + disable install when in subproject (#77) e018ec82b Option to generate shared library & use GNUInstallDirs (#76) d4df2b6ad README: Add NFD_USE_ALLOWEDCONTENTTYPES_IF_AVAILABLE flag 6967d28b0 MacOS: Perform CMake check if allowedContentTypes will be used f397884eb MacOS: Rename flag to NFD_USE_ALLOWEDCONTENTTYPES_IF_AVAILABLE 89a67f8a5 MacOS: Add CMake flag to avoid using and linking the UniformTypeIdentifiers framework (#72) 331159281 Portal: Don't automatically append file extension in SaveDialog() 008da08d0 Portal: Decode returned URIs c886650bd README: Update MacOS quirk eb465a366 Build: Choose latest C++ version based on CMake version 957cf8b0a CI: Build MacOS 10.15 and name things more properly ff7c3e7cb MacOS: Remove runtime version check and use deployment target version instead 800060ddb Portal: Fix typo in error messages aa1debf5e README: Add dark mode images b0e3db8b1 README: Mention the wiki 2f5732c12 GitHub CI: Fix Linux artefact naming 31f8a5c80 CI: Add stricter C compiler flags 6aba31f38 Circle CI: Initial config 70c11d4d0 MacOS: Use allowedContentTypes on >=12.0 instead of allowedFileTypes git-subtree-dir: deps/nfde git-subtree-split: 5786fabceeaee4d892f3c7a16b243796244cdddc
This commit is contained in:
94
.github/workflows/cmake.yml
vendored
94
.github/workflows/cmake.yml
vendored
@@ -16,21 +16,43 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Format code
|
||||
run: find src/ test/ -iname '*.c' -or -iname '*.cpp' -or -iname '*.m' -or -iname '*.mm' -or -iname '*.h' -or -iname '*.hpp' | xargs clang-format -i -style=file
|
||||
# ClangFormat 14 has a bug, which seems to be fixed in ClangFormat 15. Until GitHub-hosted runners support ClangFormat 15, we will stay at ClangFormat 13.
|
||||
run: find src/ test/ -iname '*.c' -or -iname '*.cpp' -or -iname '*.m' -or -iname '*.mm' -or -iname '*.h' -or -iname '*.hpp' | xargs clang-format-13 -i -style=file
|
||||
- name: Check diff
|
||||
run: git diff --exit-code
|
||||
|
||||
build-ubuntu:
|
||||
|
||||
name: Ubuntu (${{ matrix.os }}, ${{ matrix.portal.name }}, ${{ matrix.compiler.c }}, C++${{ matrix.cppstd }})
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: Ubuntu ${{ matrix.os.name }} - ${{ matrix.compiler.name }}, ${{ matrix.portal.name }}, ${{ matrix.autoappend.name }}, ${{ matrix.shared_lib.name }}, C++${{ matrix.cppstd }}
|
||||
runs-on: ${{ matrix.os.label }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, ubuntu-18.04]
|
||||
os: [ {label: ubuntu-latest, name: latest}, {label: ubuntu-20.04, name: 20.04} ]
|
||||
portal: [ {flag: OFF, dep: libgtk-3-dev, name: GTK}, {flag: ON, dep: libdbus-1-dev, name: Portal} ] # The NFD_PORTAL setting defaults to OFF (i.e. uses GTK)
|
||||
compiler: [ {c: gcc, cpp: g++}, {c: clang, cpp: clang++} ] # The default compiler is gcc/g++
|
||||
cppstd: [23, 11]
|
||||
autoappend: [ {flag: OFF, name: NoAppendExtn} ] # By default the NFD_PORTAL mode does not append extensions, because it breaks some features of the portal
|
||||
compiler: [ {c: gcc, cpp: g++, name: GCC}, {c: clang, cpp: clang++, name: Clang} ] # The default compiler is gcc/g++
|
||||
cppstd: [20, 11]
|
||||
shared_lib: [ {flag: OFF, name: Static} ]
|
||||
include:
|
||||
- os: {label: ubuntu-latest, name: latest}
|
||||
portal: {flag: ON, dep: libdbus-1-dev, name: Portal}
|
||||
autoappend: {flag: ON, name: AutoAppendExtn}
|
||||
compiler: {c: gcc, cpp: g++, name: GCC}
|
||||
cppstd: 11
|
||||
shared_lib: {flag: OFF, name: Static}
|
||||
- os: {label: ubuntu-latest, name: latest}
|
||||
portal: {flag: ON, dep: libdbus-1-dev, name: Portal}
|
||||
autoappend: {flag: ON, name: AutoAppendExtn}
|
||||
compiler: {c: clang, cpp: clang++, name: Clang}
|
||||
cppstd: 11
|
||||
shared_lib: {flag: OFF, name: Static}
|
||||
- os: {label: ubuntu-latest, name: latest}
|
||||
portal: {flag: ON, dep: libdbus-1-dev, name: Portal}
|
||||
autoappend: {flag: ON, name: NoAppendExtn}
|
||||
compiler: {c: gcc, cpp: g++, name: GCC}
|
||||
cppstd: 11
|
||||
shared_lib: {flag: ON, name: Shared}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -38,60 +60,72 @@ jobs:
|
||||
- name: Installing Dependencies
|
||||
run: sudo apt-get update && sudo apt-get install ${{ matrix.portal.dep }}
|
||||
- name: Configure
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${{ matrix.compiler.c }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }} -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }} -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DNFD_PORTAL=${{ matrix.portal.flag }} -DNFD_BUILD_TESTS=ON ..
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${{ matrix.compiler.c }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }} -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }} -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DNFD_PORTAL=${{ matrix.portal.flag }} -DNFD_APPEND_EXTENSION=${{ matrix.autoappend.flag }} -DBUILD_SHARED_LIBS=${{ matrix.shared_lib.flag }} -DNFD_BUILD_TESTS=ON ..
|
||||
- name: Build
|
||||
run: cmake --build build --target install
|
||||
- name: Upload test binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: $${{ matrix.os }} - $${{ matrix.compiler.c }}
|
||||
name: Ubuntu ${{ matrix.os.name }} - ${{ matrix.compiler.name }}, ${{ matrix.portal.name }}, ${{ matrix.autoappend.name }}, ${{ matrix.shared_lib.name }}, C++${{ matrix.cppstd }}
|
||||
path: |
|
||||
build/src/libnfd.a
|
||||
build/test/test_*
|
||||
build/src/*
|
||||
build/test/*
|
||||
|
||||
build-macos-clang:
|
||||
|
||||
name: MacOS latest - Clang
|
||||
runs-on: macos-latest
|
||||
name: MacOS ${{ matrix.os.name }} - Clang, ${{ matrix.shared_lib.name }}
|
||||
runs-on: ${{ matrix.os.label }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ {label: macos-latest, name: latest}, {label: macos-11, name: 11} ]
|
||||
shared_lib: [ {flag: OFF, name: Static} ]
|
||||
include:
|
||||
- os: {label: macos-latest, name: latest}
|
||||
shared_lib: {flag: ON, name: Shared}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Configure
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DNFD_BUILD_TESTS=ON ..
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DBUILD_SHARED_LIBS=${{ matrix.shared_lib.flag }} -DNFD_BUILD_TESTS=ON ..
|
||||
- name: Build
|
||||
run: cmake --build build --target install
|
||||
- name: Upload test binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: MacOS latest - Clang
|
||||
name: MacOS ${{ matrix.os.name }} - Clang, ${{ matrix.shared_lib.name }}
|
||||
path: |
|
||||
build/src/libnfd.a
|
||||
build/test/test_*
|
||||
build/src/*
|
||||
build/test/*
|
||||
|
||||
build-windows-msvc:
|
||||
|
||||
name: Windows latest - MSVC
|
||||
name: Windows latest - MSVC, ${{ matrix.shared_lib.name }}
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
shared_lib: [ {flag: OFF, name: Static}, {flag: ON, name: Shared} ]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Configure
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DNFD_BUILD_TESTS=ON ..
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DBUILD_SHARED_LIBS=${{ matrix.shared_lib.flag }} -DNFD_BUILD_TESTS=ON ..
|
||||
- name: Build
|
||||
run: cmake --build build --target install --config Release
|
||||
- name: Upload test binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Windows latest - MSVC
|
||||
name: Windows latest - MSVC, ${{ matrix.shared_lib.name }}
|
||||
path: |
|
||||
build/src/Release/nfd.lib
|
||||
build/test/Release/test_*
|
||||
build/src/Release/*
|
||||
build/test/Release/*
|
||||
|
||||
build-windows-clang:
|
||||
|
||||
name: Windows latest - Clang
|
||||
name: Windows latest - Clang, Static
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
@@ -104,14 +138,14 @@ jobs:
|
||||
- name: Upload test binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Windows latest - Clang
|
||||
name: Windows latest - Clang, Static
|
||||
path: |
|
||||
build/src/Release/nfd.lib
|
||||
build/test/Release/test_*
|
||||
build/src/Release/*
|
||||
build/test/Release/*
|
||||
|
||||
build-windows-mingw:
|
||||
|
||||
name: Windows latest - MinGW
|
||||
name: Windows latest - MinGW, Static
|
||||
runs-on: windows-latest
|
||||
|
||||
defaults:
|
||||
@@ -130,13 +164,13 @@ jobs:
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-cmake
|
||||
- name: Configure
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DNFD_BUILD_TESTS=ON ..
|
||||
run: mkdir build && mkdir install && cd build && cmake -DCMAKE_INSTALL_PREFIX="../install" -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -pedantic" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -pedantic" -DNFD_BUILD_TESTS=ON ..
|
||||
- name: Build
|
||||
run: cmake --build build --target install
|
||||
- name: Upload test binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Windows latest - MinGW
|
||||
name: Windows latest - MinGW, Static
|
||||
path: |
|
||||
build/src/libnfd.a
|
||||
build/test/test_*
|
||||
build/src/*
|
||||
build/test/*
|
||||
|
Reference in New Issue
Block a user