Dockerfile 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file LICENSE.rst or https://cmake.org/licensing for details.
  3. # Produce an image containing a portable CMake binary package for Linux/aarch64.
  4. # Build using the CMake source directory as the build context.
  5. # The resulting image will have an '/out' directory containing the package.
  6. # Keep this in sync with the `.gitlab/os-linux.yml` `.linux_release_aarch64` image.
  7. ARG FROM_IMAGE_NAME=kitware/cmake:build-linux-aarch64-deps-2026-01-13
  8. ARG FROM_IMAGE_DIGEST=@sha256:7373fe775ea571a3113251b3e8b5857ef321f6e9b5dfa5963f6e44d062349244
  9. ARG FROM_IMAGE=$FROM_IMAGE_NAME$FROM_IMAGE_DIGEST
  10. FROM $FROM_IMAGE
  11. COPY . /opt/cmake/src/cmake
  12. ARG TEST=true
  13. RUN : \
  14. && mkdir -p /opt/cmake/src/cmake-build \
  15. && cd /opt/cmake/src/cmake-build \
  16. && cp ../cmake/Utilities/Release/linux/aarch64/cache.txt CMakeCache.txt \
  17. && set -x \
  18. && ../cmake/bootstrap --parallel=$(nproc) --docdir=doc/cmake \
  19. && nice make -j $(nproc) \
  20. && if $TEST; then \
  21. # Run tests that require the full build tree.
  22. bin/ctest --output-on-failure -j 8 -R '^(CMake\.|CMakeLib\.|RunCMake\.ctest_memcheck)'; \
  23. fi \
  24. && bin/cpack -G TGZ \
  25. && bin/cpack -G STGZ \
  26. && set +x \
  27. && mkdir /out \
  28. && mv cmake-*-linux-aarch64.* /out \
  29. && :