diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py index 219a4de10e..79a6996b18 100755 --- a/.github/workflows/create-test-plan.py +++ b/.github/workflows/create-test-plan.py @@ -177,6 +177,7 @@ class JobDetails: brew_packages: list[str] = dataclasses.field(default_factory=list) cmake_toolchain_file: str = "" cmake_arguments: list[str] = dataclasses.field(default_factory=list) + cmake_generator: str = "Ninja" cmake_build_arguments: list[str] = dataclasses.field(default_factory=list) clang_tidy: bool = True cppflags: list[str] = dataclasses.field(default_factory=list) @@ -226,6 +227,7 @@ class JobDetails: setup_python: bool = False pypi_packages: list[str] = dataclasses.field(default_factory=list) setup_gage_sdk_path: str = "" + binutils_strings: str = "strings" def to_workflow(self, enable_artifacts: bool) -> dict[str, str|bool]: data = { @@ -259,6 +261,7 @@ class JobDetails: "cflags": my_shlex_join(self.cppflags + self.cflags), "cxxflags": my_shlex_join(self.cppflags + self.cxxflags), "ldflags": my_shlex_join(self.ldflags), + "cmake-generator": self.cmake_generator, "cmake-toolchain-file": self.cmake_toolchain_file, "clang-tidy": self.clang_tidy, "cmake-arguments": my_shlex_join(self.cmake_arguments), @@ -294,6 +297,7 @@ class JobDetails: "setup-python": self.setup_python, "pypi-packages": my_shlex_join(self.pypi_packages), "setup-ngage-sdk-path": self.setup_gage_sdk_path, + "binutils-strings": self.binutils_strings, } return {k: v for k, v in data.items() if v != ""} @@ -682,13 +686,16 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta job.shared_lib = SharedLibType.SO_0 job.static_lib = StaticLibType.A case SdlPlatform.N3ds: - job.ccache = True + job.cmake_generator = "Unix Makefiles" + job.cmake_build_arguments.append("-j$(nproc)") + job.ccache = False job.shared = False - job.apt_packages = ["ccache", "ninja-build", "binutils"] + job.apt_packages = [] job.clang_tidy = False job.run_tests = False job.cc_from_cmake = True job.cmake_toolchain_file = "${DEVKITPRO}/cmake/3DS.cmake" + job.binutils_strings = "/opt/devkitpro/devkitARM/bin/arm-none-eabi-strings" job.static_lib = StaticLibType.A case SdlPlatform.Msys2: job.ccache = True diff --git a/.github/workflows/generic.yml b/.github/workflows/generic.yml index 083859b341..7902035f7d 100644 --- a/.github/workflows/generic.yml +++ b/.github/workflows/generic.yml @@ -206,7 +206,7 @@ jobs: #shell: ${{ matrix.platform.shell }} run: | ${{ matrix.platform.source-cmd }} - ${{ matrix.platform.cmake-config-emulator }} cmake -S . -B build -GNinja \ + ${{ matrix.platform.cmake-config-emulator }} cmake -S . -B build -G "${{ matrix.platform.cmake-generator }}" \ -Wdeprecated -Wdev -Werror \ ${{ matrix.platform.cmake-toolchain-file != '' && format('-DCMAKE_TOOLCHAIN_FILE={0}', matrix.platform.cmake-toolchain-file) || '' }} \ -DSDL_WERROR=${{ matrix.platform.werror }} \ @@ -237,9 +237,9 @@ jobs: run: | echo "This should show us the SDL_REVISION" echo "Shared library:" - ${{ (matrix.platform.shared-lib && format('strings build/{0} | grep "Github Workflow"', matrix.platform.shared-lib)) || 'echo ""' }} + ${{ (matrix.platform.shared-lib && format('{0} build/{1} | grep "Github Workflow"', matrix.platform.binutils-strings, matrix.platform.shared-lib)) || 'echo ""' }} echo "Static library:" - ${{ (matrix.platform.static-lib && format('strings build/{0} | grep "Github Workflow"', matrix.platform.static-lib)) || 'echo ""' }} + ${{ (matrix.platform.static-lib && format('{0} build/{1} | grep "Github Workflow"', matrix.platform.binutils-strings, matrix.platform.static-lib)) || 'echo ""' }} - name: 'Run build-time tests (CMake)' id: tests if: ${{ !matrix.platform.no-cmake && matrix.platform.run-tests }}