diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb7098a..aa1f7fe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,6 +42,8 @@ jobs: arch: "s390x" - os: windows-2019 arch: "AMD64" + - os: windows-2022 + arch: "ARM64" - os: windows-2019 arch: "x86" - os: macos-11 diff --git a/.gitignore b/.gitignore index 3178d97..4e3ddd2 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ docs/_build # IDE junk .idea/* *.swp +*~ diff --git a/CMakeLists.txt b/CMakeLists.txt index 615447d..d0ad97f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,26 +120,29 @@ ExternalProject_add(build_ninja set(ninja_executable ${Ninja_BINARY_DIR}/ninja${CMAKE_EXECUTABLE_SUFFIX}) set(NINJA_BUILD_LAST_STEP "build") -find_program(STRIP_EXECUTABLE strip) -if(STRIP_EXECUTABLE) - ExternalProject_Add_Step(build_ninja strip_executables - DEPENDEES ${NINJA_BUILD_LAST_STEP} - COMMENT "Stripping CMake executables" - COMMAND ${STRIP_EXECUTABLE} ${ninja_executable} - USES_TERMINAL 1 - ) - set(NINJA_BUILD_LAST_STEP "strip_executables") -endif() +# This should not be stripped or tested if cross-compiling on Windows +if(CMAKE_CROSS_COMPILE OR NOT DEFINED ENV{DIST_EXTRA_CONFIG}) + find_program(STRIP_EXECUTABLE strip) + if(STRIP_EXECUTABLE) + ExternalProject_Add_Step(build_ninja strip_executables + DEPENDEES ${NINJA_BUILD_LAST_STEP} + COMMENT "Stripping CMake executables" + COMMAND ${STRIP_EXECUTABLE} ${ninja_executable} + USES_TERMINAL 1 + ) + set(NINJA_BUILD_LAST_STEP "strip_executables") + endif() -if(RUN_NINJA_TEST) - ExternalProject_Add_Step(build_ninja run_ninja_test_suite - DEPENDEES ${NINJA_BUILD_LAST_STEP} - COMMENT "Running Ninja test suite" - COMMAND ${Ninja_BINARY_DIR}/ninja_test${CMAKE_EXECUTABLE_SUFFIX} - WORKING_DIRECTORY ${Ninja_BINARY_DIR} - USES_TERMINAL 1 - ) - set(NINJA_BUILD_LAST_STEP "run_ninja_test_suite") + if(RUN_NINJA_TEST) + ExternalProject_Add_Step(build_ninja run_ninja_test_suite + DEPENDEES ${NINJA_BUILD_LAST_STEP} + COMMENT "Running Ninja test suite" + COMMAND ${Ninja_BINARY_DIR}/ninja_test${CMAKE_EXECUTABLE_SUFFIX} + WORKING_DIRECTORY ${Ninja_BINARY_DIR} + USES_TERMINAL 1 + ) + set(NINJA_BUILD_LAST_STEP "run_ninja_test_suite") + endif() endif() install(FILES ${Ninja_SOURCE_DIR}/misc/ninja_syntax.py DESTINATION src/ninja) diff --git a/pyproject.toml b/pyproject.toml index b81dab6..ba357dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ - "setuptools>=42", - "scikit-build>=0.12", + "setuptools >=42", + "scikit-build", ] build-backend = "setuptools.build_meta" @@ -16,6 +16,7 @@ before-build = "pip install -r requirements-repair.txt" repair-wheel-command = "python scripts/repair_wheel.py -w {dest_dir} {wheel}" test-extras = "test" test-command = "pytest {project}/tests" +test-skip = ["*-win_arm64", "*-macosx_universal2:arm64"] [[tool.cibuildwheel.overrides]] select = "*-manylinux_{x86_64,i686}"