diff --git a/.github/workflows/vcpkg_ci_amd64.yml b/.github/workflows/vcpkg_ci_amd64.yml index fc524dee..93c5c4c5 100644 --- a/.github/workflows/vcpkg_ci_amd64.yml +++ b/.github/workflows/vcpkg_ci_amd64.yml @@ -116,6 +116,13 @@ jobs: echo "VCPKG_ROOT=$(pwd)/${{ env.ARTIFACT_NAME }}" >> $GITHUB_ENV echo "TARGET_TRIPLET=${{ matrix.host.triplet }}" >> $GITHUB_ENV + - name: Upload CMake logs on error + if: failure() + uses: actions/upload-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }}_logs + path: ${{ github.workspace }}/vcpkg/buildtrees/**/*.log + - name: 'Export Packages' if: contains(env.COMMIT_MESSAGE, 'debug artifacts') || github.event.release shell: 'bash' diff --git a/.github/workflows/vcpkg_ci_mac.yml b/.github/workflows/vcpkg_ci_mac.yml index f9deaeb4..4fa9165d 100644 --- a/.github/workflows/vcpkg_ci_mac.yml +++ b/.github/workflows/vcpkg_ci_mac.yml @@ -99,6 +99,13 @@ jobs: echo "VCPKG_ROOT=$(pwd)/${{ env.ARTIFACT_NAME }}" >> $GITHUB_ENV echo "TARGET_TRIPLET=${{ matrix.target_arch }}-osx-rel" >> $GITHUB_ENV + - name: Upload CMake logs on error + if: failure() + uses: actions/upload-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }}_logs + path: ${{ github.workspace }}/vcpkg/buildtrees/**/*.log + - name: 'Export Packages' if: contains(env.COMMIT_MESSAGE, 'debug artifacts') || github.event.release shell: 'bash' diff --git a/ports/llvm-15/portfile.cmake b/ports/llvm-15/portfile.cmake index 9b0ff3f4..3daa4b43 100644 --- a/ports/llvm-15/portfile.cmake +++ b/ports/llvm-15/portfile.cmake @@ -292,10 +292,28 @@ vcpkg_add_to_path(${PYTHON3_DIR}) set(LLVM_LINK_JOBS 2) +# Cross compilation for M1 +if (VCPKG_TARGET_IS_OSX) + set(LLVM_DEFAULT_TARGET_TRIPLE "${VCPKG_OSX_ARCHITECTURES}-apple-darwin") + list(APPEND OPTIONS "-DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_DEFAULT_TARGET_TRIPLE}") + message(STATUS "Default target triple ${LLVM_DEFAULT_TARGET_TRIPLE}") +endif() + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(LLVM_TARGET_ARCH "AArch64") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(LLVM_TARGET_ARCH "ARM") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(LLVM_TARGET_ARCH "X86") +else() + message(FATAL_ERROR "Target Architecture not supported.") +endif() + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH}/llvm OPTIONS ${FEATURE_OPTIONS} + ${OPTIONS} -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_DOCS=OFF @@ -304,6 +322,7 @@ vcpkg_cmake_configure( -DLLVM_BUILD_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_BUILD_BENCHMARKS=OFF + "-DLLVM_TARGET_ARCH=${LLVM_TARGET_ARCH}" # Force TableGen to be built with optimization. This will significantly improve build time. -DLLVM_OPTIMIZED_TABLEGEN=ON "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}"