mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:50:06 +00:00 
			
		
		
		
	Merge branch 'develop' into feature/conan-2
This commit is contained in:
		
						commit
						e3fa3fdd61
					
				
					 8 changed files with 205 additions and 13 deletions
				
			
		
							
								
								
									
										12
									
								
								.clang-tidy
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.clang-tidy
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | Checks: | ||||||
|  |   - '-*' | ||||||
|  |   - 'bugprone-*' | ||||||
|  |   - 'clang-analyzer-*' | ||||||
|  |   - 'cppcoreguidelines-*' | ||||||
|  |   - 'misc-*' | ||||||
|  |   - 'modernize-*' | ||||||
|  |   - 'performance-*' | ||||||
|  |   - '-misc-include-cleaner' | ||||||
|  |   - '-misc-non-private-member-variables-in-classes' | ||||||
|  |   - '-modernize-use-trailing-return-type' | ||||||
|  | FormatStyle: 'file' | ||||||
							
								
								
									
										4
									
								
								.github/workflows/ci.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -11,7 +11,7 @@ on: | ||||||
| 
 | 
 | ||||||
| concurrency: | concurrency: | ||||||
|   # Cancel in-progress jobs for the same pull request |   # Cancel in-progress jobs for the same pull request | ||||||
|   group: ${{ github.head_ref || github.run_id }} |   group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||||||
|   cancel-in-progress: true |   cancel-in-progress: true | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|  | @ -70,7 +70,7 @@ jobs: | ||||||
|     env: |     env: | ||||||
|       CC: ${{ matrix.env_cc }} |       CC: ${{ matrix.env_cc }} | ||||||
|       CXX: ${{ matrix.env_cxx }} |       CXX: ${{ matrix.env_cxx }} | ||||||
|       SCWX_VERSION: v0.4.6 |       SCWX_VERSION: v0.4.7 | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
| 
 | 
 | ||||||
|     steps: |     steps: | ||||||
|  |  | ||||||
							
								
								
									
										40
									
								
								.github/workflows/clang-format-check.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/clang-format-check.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | ||||||
|  | name: clang-format-check | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - 'develop' | ||||||
|  | 
 | ||||||
|  | concurrency: | ||||||
|  |   # Cancel in-progress jobs for the same pull request | ||||||
|  |   group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||||||
|  |   cancel-in-progress: true | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   format: | ||||||
|  |     runs-on: ubuntu-24.04 | ||||||
|  |     steps: | ||||||
|  | 
 | ||||||
|  |     - name: Checkout | ||||||
|  |       uses: actions/checkout@v4 | ||||||
|  |       with: | ||||||
|  |         fetch-depth: 0 | ||||||
|  |         submodules: false | ||||||
|  | 
 | ||||||
|  |     - name: Update References | ||||||
|  |       shell: bash | ||||||
|  |       run: | | ||||||
|  |         git fetch origin develop | ||||||
|  | 
 | ||||||
|  |     - name: Setup Ubuntu Environment | ||||||
|  |       shell: bash | ||||||
|  |       run: | | ||||||
|  |         sudo apt-get install clang-format-17 | ||||||
|  | 
 | ||||||
|  |     - name: Check Formatting | ||||||
|  |       shell: bash | ||||||
|  |       run: | | ||||||
|  |         MERGE_BASE=$(git merge-base origin/develop ${{ github.event.pull_request.head.sha || github.ref }}) | ||||||
|  |         echo "Comparing against ${MERGE_BASE}" | ||||||
|  |         git clang-format-17 --diff --style=file -v ${MERGE_BASE} | ||||||
							
								
								
									
										140
									
								
								.github/workflows/clang-tidy-review.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								.github/workflows/clang-tidy-review.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,140 @@ | ||||||
|  | name: clang-tidy-review | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - 'develop' | ||||||
|  | 
 | ||||||
|  | concurrency: | ||||||
|  |   # Cancel in-progress jobs for the same pull request | ||||||
|  |   group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||||||
|  |   cancel-in-progress: true | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         include: | ||||||
|  |           - name: linux64_clang-tidy | ||||||
|  |             os: ubuntu-24.04 | ||||||
|  |             build_type: Release | ||||||
|  |             env_cc: clang-17 | ||||||
|  |             env_cxx: clang++-17 | ||||||
|  |             qt_version: 6.8.0 | ||||||
|  |             qt_arch_aqt: linux_gcc_64 | ||||||
|  |             qt_modules: qtimageformats qtmultimedia qtpositioning qtserialport | ||||||
|  |             qt_tools: '' | ||||||
|  |             conan_arch: x86_64 | ||||||
|  |             conan_compiler: clang | ||||||
|  |             conan_compiler_version: 17 | ||||||
|  |             conan_compiler_libcxx: --settings compiler.libcxx=libstdc++11 | ||||||
|  |             conan_compiler_runtime: '' | ||||||
|  |             conan_package_manager: --conf tools.system.package_manager:mode=install --conf tools.system.package_manager:sudo=True | ||||||
|  |             compiler_packages: clang-17 clang-tidy-17 | ||||||
|  |     name: ${{ matrix.name }} | ||||||
|  |     runs-on: ${{ matrix.os }} | ||||||
|  |     env: | ||||||
|  |       CC: ${{ matrix.env_cc }} | ||||||
|  |       CXX: ${{ matrix.env_cxx }} | ||||||
|  |     steps: | ||||||
|  | 
 | ||||||
|  |     - name: Checkout | ||||||
|  |       uses: actions/checkout@v4 | ||||||
|  |       with: | ||||||
|  |         path: source | ||||||
|  |         submodules: recursive | ||||||
|  | 
 | ||||||
|  |     - name: Checkout clang-tidy-review Repository | ||||||
|  |       uses: actions/checkout@v4 | ||||||
|  |       with: | ||||||
|  |         repository: ZedThree/clang-tidy-review | ||||||
|  |         ref: v0.20.1 | ||||||
|  |         path: clang-tidy-review | ||||||
|  | 
 | ||||||
|  |     - name: Install Qt | ||||||
|  |       uses: jurplel/install-qt-action@v3 | ||||||
|  |       with: | ||||||
|  |         version: ${{ matrix.qt_version }} | ||||||
|  |         arch: ${{ matrix.qt_arch_aqt }} | ||||||
|  |         modules: ${{ matrix.qt_modules }} | ||||||
|  |         tools: ${{ matrix.qt_tools }} | ||||||
|  | 
 | ||||||
|  |     - name: Setup Ubuntu Environment | ||||||
|  |       if: ${{ startsWith(matrix.os, 'ubuntu') }} | ||||||
|  |       shell: bash | ||||||
|  |       run: | | ||||||
|  |         sudo apt-get install doxygen \ | ||||||
|  |                              libfuse2 \ | ||||||
|  |                              ninja-build \ | ||||||
|  |                              ${{ matrix.compiler_packages }} | ||||||
|  | 
 | ||||||
|  |     - name: Setup Python Environment | ||||||
|  |       shell: pwsh | ||||||
|  |       run: | | ||||||
|  |         pip install geopandas ` | ||||||
|  |                     GitPython | ||||||
|  |         pip install --break-system-packages clang-tidy-review/post/clang_tidy_review | ||||||
|  | 
 | ||||||
|  |     - name: Install Conan Packages | ||||||
|  |       shell: pwsh | ||||||
|  |       run: | | ||||||
|  |         pip install "conan<2.0" | ||||||
|  |         conan profile new default --detect | ||||||
|  |         conan install ./source/ ` | ||||||
|  |           --remote conancenter ` | ||||||
|  |           --build missing ` | ||||||
|  |           --settings arch=${{ matrix.conan_arch }} ` | ||||||
|  |           --settings build_type=${{ matrix.build_type }} ` | ||||||
|  |           --settings compiler="${{ matrix.conan_compiler }}" ` | ||||||
|  |           --settings compiler.version=${{ matrix.conan_compiler_version }} ` | ||||||
|  |           ${{ matrix.conan_compiler_libcxx }} ` | ||||||
|  |           ${{ matrix.conan_compiler_runtime }} ` | ||||||
|  |           ${{ matrix.conan_package_manager }} | ||||||
|  | 
 | ||||||
|  |     - name: Autogenerate | ||||||
|  |       shell: pwsh | ||||||
|  |       run: | | ||||||
|  |         mkdir build | ||||||
|  |         cd build | ||||||
|  |         cmake ../source/ ` | ||||||
|  |           -G Ninja ` | ||||||
|  |           -DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" ` | ||||||
|  |           -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/supercell-wx" ` | ||||||
|  |           -DCMAKE_EXPORT_COMPILE_COMMANDS=on | ||||||
|  |         ninja scwx-qt_generate_counties_db ` | ||||||
|  |               scwx-qt_generate_versions ` | ||||||
|  |               scwx-qt_update_radar_sites ` | ||||||
|  |               scwx-qt_autogen | ||||||
|  | 
 | ||||||
|  |     - name: Code Review | ||||||
|  |       id: review | ||||||
|  |       shell: bash | ||||||
|  |       run: | | ||||||
|  |         cd source | ||||||
|  |         review --clang_tidy_binary=clang-tidy-17 \ | ||||||
|  |                --token=${{ github.token }} \ | ||||||
|  |                --repo='${{ github.repository }}' \ | ||||||
|  |                --pr='${{ github.event.pull_request.number }}' \ | ||||||
|  |                --build_dir='../build' \ | ||||||
|  |                --base_dir='${{ github.workspace }}/source' \ | ||||||
|  |                --clang_tidy_checks='' \ | ||||||
|  |                --config_file='.clang-tidy' \ | ||||||
|  |                --include='*.[ch],*.[ch]xx,*.[ch]pp,*.[ch]++,*.cc,*.hh' \ | ||||||
|  |                --exclude='' \ | ||||||
|  |                --apt-packages='' \ | ||||||
|  |                --cmake-command='' \ | ||||||
|  |                --max-comments=25 \ | ||||||
|  |                --lgtm-comment-body='' \ | ||||||
|  |                --split_workflow=false \ | ||||||
|  |                --annotations=false \ | ||||||
|  |                --parallel=0 | ||||||
|  |         rsync -avzh --ignore-missing-args clang-tidy-review-output.json ../ | ||||||
|  |         rsync -avzh --ignore-missing-args clang-tidy-review-metadata.json ../ | ||||||
|  |         rsync -avzh --ignore-missing-args clang_fixes.json ../ | ||||||
|  | 
 | ||||||
|  |     - name: Upload Review | ||||||
|  |       uses: ZedThree/clang-tidy-review/upload@v0.20.1 | ||||||
|  | 
 | ||||||
|  |     - name: Status Check | ||||||
|  |       if: steps.review.outputs.total_comments > 0 | ||||||
|  |       run: exit 1 | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| cmake_minimum_required(VERSION 3.24) | cmake_minimum_required(VERSION 3.24) | ||||||
| set(PROJECT_NAME supercell-wx) | set(PROJECT_NAME supercell-wx) | ||||||
| project(${PROJECT_NAME} | project(${PROJECT_NAME} | ||||||
|         VERSION      0.4.6 |         VERSION      0.4.7 | ||||||
|         DESCRIPTION  "Supercell Wx is a free, open source advanced weather radar viewer." |         DESCRIPTION  "Supercell Wx is a free, open source advanced weather radar viewer." | ||||||
|         HOMEPAGE_URL "https://github.com/dpaulat/supercell-wx" |         HOMEPAGE_URL "https://github.com/dpaulat/supercell-wx" | ||||||
|         LANGUAGES    C CXX) |         LANGUAGES    C CXX) | ||||||
|  | @ -27,7 +27,7 @@ set_property(DIRECTORY | ||||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_ALL_NO_LIB") | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_ALL_NO_LIB") | ||||||
| 
 | 
 | ||||||
| set(SCWX_DIR ${PROJECT_SOURCE_DIR}) | set(SCWX_DIR ${PROJECT_SOURCE_DIR}) | ||||||
| set(SCWX_VERSION "0.4.6") | set(SCWX_VERSION "0.4.7") | ||||||
| 
 | 
 | ||||||
| option(SCWX_ADDRESS_SANITIZER "Build with Address Sanitizer" OFF) | option(SCWX_ADDRESS_SANITIZER "Build with Address Sanitizer" OFF) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -21,9 +21,7 @@ find_package(Python COMPONENTS Interpreter) | ||||||
| find_package(SQLite3) | find_package(SQLite3) | ||||||
| 
 | 
 | ||||||
| find_package(QT NAMES Qt6 | find_package(QT NAMES Qt6 | ||||||
|              COMPONENTS BuildInternals |              COMPONENTS Gui | ||||||
|                         Core |  | ||||||
|                         Gui |  | ||||||
|                         LinguistTools |                         LinguistTools | ||||||
|                         Multimedia |                         Multimedia | ||||||
|                         Network |                         Network | ||||||
|  | @ -37,9 +35,7 @@ find_package(QT NAMES Qt6 | ||||||
|              REQUIRED) |              REQUIRED) | ||||||
| 
 | 
 | ||||||
| find_package(Qt${QT_VERSION_MAJOR} | find_package(Qt${QT_VERSION_MAJOR} | ||||||
|              COMPONENTS BuildInternals |              COMPONENTS Gui | ||||||
|                         Core |  | ||||||
|                         Gui |  | ||||||
|                         LinguistTools |                         LinguistTools | ||||||
|                         Multimedia |                         Multimedia | ||||||
|                         Network |                         Network | ||||||
|  | @ -510,6 +506,7 @@ source_group("I18N Files"                 FILES ${TS_FILES}) | ||||||
| 
 | 
 | ||||||
| add_library(scwx-qt OBJECT ${PROJECT_SOURCES}) | add_library(scwx-qt OBJECT ${PROJECT_SOURCES}) | ||||||
| set_property(TARGET scwx-qt PROPERTY AUTOMOC ON) | set_property(TARGET scwx-qt PROPERTY AUTOMOC ON) | ||||||
|  | set_property(TARGET scwx-qt PROPERTY AUTOGEN_ORIGIN_DEPENDS OFF) | ||||||
| 
 | 
 | ||||||
| add_custom_command(OUTPUT  ${COUNTIES_SQLITE_DB} | add_custom_command(OUTPUT  ${COUNTIES_SQLITE_DB} | ||||||
|                    COMMAND ${Python_EXECUTABLE} |                    COMMAND ${Python_EXECUTABLE} | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| #include <ranges> | #include <ranges> | ||||||
| #include <unordered_map> | #include <unordered_map> | ||||||
| 
 | 
 | ||||||
| #include <boost/process/environment.hpp> | #include <boost/process/v1/environment.hpp> | ||||||
| #include <fmt/format.h> | #include <fmt/format.h> | ||||||
| #include <spdlog/spdlog.h> | #include <spdlog/spdlog.h> | ||||||
| #include <QStandardPaths> | #include <QStandardPaths> | ||||||
|  |  | ||||||
|  | @ -22,6 +22,9 @@ class SetupWizard::Impl | ||||||
| public: | public: | ||||||
|    explicit Impl() = default; |    explicit Impl() = default; | ||||||
|    ~Impl()         = default; |    ~Impl()         = default; | ||||||
|  | 
 | ||||||
|  |    bool mapProviderPageIsRequired_ {MapProviderPage::IsRequired()}; | ||||||
|  |    bool audioCodecPageIsRequired_ {AudioCodecPage::IsRequired()}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| SetupWizard::SetupWizard(QWidget* parent) : | SetupWizard::SetupWizard(QWidget* parent) : | ||||||
|  | @ -66,14 +69,14 @@ int SetupWizard::nextId() const | ||||||
|       { |       { | ||||||
|       case static_cast<int>(Page::MapProvider): |       case static_cast<int>(Page::MapProvider): | ||||||
|       case static_cast<int>(Page::MapLayout): |       case static_cast<int>(Page::MapLayout): | ||||||
|          if (MapProviderPage::IsRequired()) |          if (p->mapProviderPageIsRequired_) | ||||||
|          { |          { | ||||||
|             return nextId; |             return nextId; | ||||||
|          } |          } | ||||||
|          break; |          break; | ||||||
| 
 | 
 | ||||||
|       case static_cast<int>(Page::AudioCodec): |       case static_cast<int>(Page::AudioCodec): | ||||||
|          if (AudioCodecPage::IsRequired()) |          if (p->audioCodecPageIsRequired_) | ||||||
|          { |          { | ||||||
|             return nextId; |             return nextId; | ||||||
|          } |          } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat