Skip to content

Commit

Permalink
Merge branch 'main' of github.com:opendocument-app/OpenDocument.core …
Browse files Browse the repository at this point in the history
…into refactor/document-tree
  • Loading branch information
andiwand committed Dec 25, 2023
2 parents 3319f1f + 08d6aa8 commit fbd4c66
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 37 deletions.
30 changes: 12 additions & 18 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,10 @@ jobs:
fail-fast: false
matrix:
config:
- { os: ubuntu-22.04, cc: clang, cxx: clang++ }
- { os: ubuntu-22.04, cc: gcc, cxx: g++ }
- { os: macos-12, cc: clang, cxx: clang++ }
- { os: windows-2022 }
- { os: ubuntu-20.04, cc: clang, cxx: clang++ } # TODO remove; but there is no firefox in 22.04 yet
- { os: ubuntu-22.04, compiler: clang, cc: clang-15, cxx: clang++-15 }
- { os: ubuntu-22.04, compiler: gcc, cc: gcc-13, cxx: g++-13 }
- { os: macos-12, compiler: clang, cc: clang, cxx: clang++ }
- { os: windows-2022, compiler: msvc }

steps:
- name: ubuntu install ccache
Expand Down Expand Up @@ -56,9 +55,9 @@ jobs:
~/.conan/data
C:/.conan
C:/Users/runneradmin/.conan/data
key: ${{ matrix.config.os }}-${{ matrix.config.cxx }}-${{ env.CCACHE_KEY_SUFFIX }}
key: ${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ env.CCACHE_KEY_SUFFIX }}
restore-keys: |
${{ matrix.config.os }}-${{ matrix.config.cxx }}-
${{ matrix.config.os }}-${{ matrix.config.compiler }}-
- name: checkout
uses: actions/checkout@v2
Expand All @@ -67,19 +66,14 @@ jobs:
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: |
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
- name: make
run: |
cd build
cmake --build . --config Release # `config Release` somehow necessary by windows
run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
- name: build
run: cmake --build build --config Release # `config Release` somehow necessary by windows

- name: upload binaries
uses: actions/upload-artifact@v2
with:
name: bin-${{ matrix.config.os }}-${{ matrix.config.cxx }}
name: bin-${{ matrix.config.os }}-${{ matrix.config.compiler }}
path: |
build/test/odr_test
Expand All @@ -90,8 +84,8 @@ jobs:
fail-fast: true
matrix:
config:
- { os: ubuntu-20.04, bin: bin-ubuntu-20.04-clang++ }
- { os: macos-12, bin: bin-macos-12-clang++ }
- { os: ubuntu-22.04, bin: bin-ubuntu-22.04-clang }
- { os: macos-12, bin: bin-macos-12-clang }

steps:
- name: ubuntu install tidy
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ jobs:
runs-on: ubuntu-22.04

steps:
- run: sudo apt install clang-format-15

- run: clang-format-15 --version

- name: checkout
Expand Down
14 changes: 3 additions & 11 deletions .github/workflows/tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ jobs:
runs-on: ubuntu-22.04

steps:
- name: ubuntu install clang-tidy
run: |
sudo apt install clang-tidy-12
clang-tidy-12 --version
- run: clang-tidy --version

- name: set up python 3.8
uses: actions/setup-python@v2
Expand All @@ -31,12 +28,7 @@ jobs:
uses: actions/checkout@v2

- name: cmake
run: |
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DODR_CLANG_TIDY=ON

- name: clang-tidy
run: |
FILES=$( find . -path ./build -prune -false -o -type f \( -iname \*.cpp \) )
clang-tidy-12 -p build -header-filter '.*' $FILES
run: cmake --build build
12 changes: 8 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

option(ODR_TEST "enable tests" ON)
option(ODR_CLANG_TIDY "Run clang-tidy static analysis" OFF)

# TODO defining global compiler flags seems to be bad practice with conan
# TODO consider using conan profiles
Expand Down Expand Up @@ -38,7 +39,6 @@ if (NOT DEFINED CONAN_EXPORTED)
conan_cmake_install(PATH_OR_REFERENCE ".."
BUILD missing
SETTINGS ${settings}
SETTINGS compiler.cppstd=${CMAKE_CXX_STANDARD}
ENV CC=${CMAKE_C_COMPILER}
ENV CXX=${CMAKE_CXX_COMPILER})
#include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
Expand Down Expand Up @@ -164,15 +164,15 @@ add_library(odr

"src/odr/internal/zip/zip_util.cpp"
"src/odr/internal/zip/zip_archive.cpp"
)
)
set_target_properties(odr PROPERTIES OUTPUT_NAME odr)
if (EXISTS "${PROJECT_SOURCE_DIR}/.git")
add_dependencies(odr check_git)
endif ()
target_include_directories(odr
PUBLIC
src
)
)
target_link_libraries(odr
PRIVATE
pugixml::pugixml
Expand All @@ -181,14 +181,18 @@ target_link_libraries(odr
nlohmann_json::nlohmann_json
vincentlaucsb-csv-parser::vincentlaucsb-csv-parser
uchardet::uchardet
)
)

add_subdirectory("cli")

if (ODR_TEST)
add_subdirectory("test")
endif ()

if (ODR_CLANG_TIDY)
add_subdirectory("static_analysis/clang-tidy")
endif ()

install(
TARGETS
odr
Expand Down
4 changes: 2 additions & 2 deletions conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class OpenDocumentCoreConan(ConanFile):

exports_sources = ["cli/*", "cmake/*", "src/*", "CMakeLists.txt"]

requires = ["pugixml/1.11", "cryptopp/8.5.0", "miniz/2.1.0", "nlohmann_json/3.10.4",
requires = ["pugixml/1.14", "cryptopp/8.8.0", "miniz/2.1.0", "nlohmann_json/3.11.3",
"vincentlaucsb-csv-parser/2.1.3", "uchardet/0.0.7"]
build_requires = ["gtest/1.11.0"]
build_requires = ["gtest/1.14.0"]
generators = "cmake_paths", "cmake_find_package"

_cmake = None
Expand Down
2 changes: 2 additions & 0 deletions src/odr/internal/crypto/crypto_util.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#include <odr/internal/crypto/crypto_util.hpp>

#include <cstdint>

#include <cryptopp/aes.h>
#include <cryptopp/base64.h>
#include <cryptopp/blowfish.h>
Expand Down
10 changes: 10 additions & 0 deletions static_analysis/clang-tidy/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy)

if (NOT CLANG_TIDY_COMMAND)
message(ERROR "ACTS_RUN_CLANG_TIDY is ON but clang-tidy is not found!")
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE)
endif ()

message(STATUS "Setting up clang-tidy run")

set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}")

0 comments on commit fbd4c66

Please sign in to comment.