diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afd0d519..56f51bdb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -165,13 +165,14 @@ jobs: -DYAZE_MINIMAL_BUILD=ON \ -DYAZE_ENABLE_ROM_TESTS=OFF \ -DYAZE_ENABLE_EXPERIMENTAL_TESTS=OFF \ + -Wno-dev \ -GNinja - name: Configure CMake (Windows) if: runner.os == 'Windows' shell: cmd run: | - cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg_triplet }} -DYAZE_MINIMAL_BUILD=ON -DYAZE_ENABLE_ROM_TESTS=OFF -DYAZE_ENABLE_EXPERIMENTAL_TESTS=OFF -G "${{ matrix.cmake_generator }}" -A ${{ matrix.cmake_generator_platform }} + cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg_triplet }} -DYAZE_MINIMAL_BUILD=ON -DYAZE_ENABLE_ROM_TESTS=OFF -DYAZE_ENABLE_EXPERIMENTAL_TESTS=OFF -Wno-dev -G "${{ matrix.cmake_generator }}" -A ${{ matrix.cmake_generator_platform }} # Build - name: Build diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 12661a06..584e7783 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,10 +43,29 @@ endforeach() # Conditionally add native file dialog (optional for CI builds) if(NOT YAZE_MINIMAL_BUILD) - add_subdirectory(lib/nativefiledialog-extended) - set(YAZE_HAS_NFD ON) + # Check if we can build NFD before adding it + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND AND UNIX AND NOT APPLE) + pkg_check_modules(GTK3 QUIET gtk+-3.0) + if(GTK3_FOUND) + add_subdirectory(lib/nativefiledialog-extended) + set(YAZE_HAS_NFD ON) + message(STATUS "NFD enabled with GTK3 support") + else() + set(YAZE_HAS_NFD OFF) + message(STATUS "NFD disabled - GTK3 not found") + endif() + elseif(WIN32 OR APPLE) + add_subdirectory(lib/nativefiledialog-extended) + set(YAZE_HAS_NFD ON) + message(STATUS "NFD enabled for Windows/macOS") + else() + set(YAZE_HAS_NFD OFF) + message(STATUS "NFD disabled - no platform support") + endif() else() set(YAZE_HAS_NFD OFF) + message(STATUS "NFD disabled for minimal build") endif() if (YAZE_BUILD_APP)