diff --git a/.docker/core.bake.Dockerfile b/.docker/core.bake.Dockerfile index e61c84a69f..1f7dd34fa3 100644 --- a/.docker/core.bake.Dockerfile +++ b/.docker/core.bake.Dockerfile @@ -9,6 +9,8 @@ ARG BUILD_ROOT ARG NUGET_SOURCE_PATH ARG PRODUCT=server ARG TARGETARCH +ARG ARCH_TRIPLET=x64-linux-v2 +ARG ARCH_MARCH_FLAGS=-march=x86-64-v2 # Desktop: 24.04 on arm, 22.04 on amd FROM ubuntu:22.04 AS vcpkg-base-desktop-amd64 @@ -147,6 +149,9 @@ FROM vcpkg-${NUGET_CACHE} AS core-base #### CORE #### FROM core-base AS core ARG NUGET_SOURCE_PATH + ARG TARGETARCH + ARG ARCH_TRIPLET + ARG ARCH_MARCH_FLAGS RUN --mount=type=cache,target=/build-cache \ --mount=type=bind,source=${NUGET_SOURCE_PATH},target=/nuget-cache,rw \ mkdir -p ${BUILD_ROOT} && \ @@ -154,10 +159,12 @@ FROM core-base AS core cmake -GNinja \ -DVCPKG_MANIFEST_MODE=ON \ -DVCPKG_MANIFEST_DIR=/core \ + -DVCPKG_OVERLAY_TRIPLETS=/core/triplets \ + -DVCPKG_TARGET_TRIPLET=${ARCH_TRIPLET} \ -DCMAKE_TOOLCHAIN_FILE=/opt/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS_RELEASE="-O3 -w" \ - -DCMAKE_C_FLAGS_RELEASE="-O3 -w" \ + -DCMAKE_CXX_FLAGS_RELEASE="-O3 -w ${ARCH_MARCH_FLAGS}" \ + -DCMAKE_C_FLAGS_RELEASE="-O3 -w ${ARCH_MARCH_FLAGS}" \ -DEO_CORE_OUTPUT_DIR=/build-cache/package/bin \ -DEO_CORE_TOOLS_DIR=/build-cache/package/tools \ /core && \ diff --git a/triplets/x64-linux-baseline.cmake b/triplets/x64-linux-baseline.cmake new file mode 100644 index 0000000000..5b6ce43946 --- /dev/null +++ b/triplets/x64-linux-baseline.cmake @@ -0,0 +1,8 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +set(VCPKG_CXX_FLAGS "-march=x86-64") +set(VCPKG_C_FLAGS "-march=x86-64") diff --git a/triplets/x64-linux-v2.cmake b/triplets/x64-linux-v2.cmake new file mode 100644 index 0000000000..75d295fd01 --- /dev/null +++ b/triplets/x64-linux-v2.cmake @@ -0,0 +1,8 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +set(VCPKG_CXX_FLAGS "-march=x86-64-v2") +set(VCPKG_C_FLAGS "-march=x86-64-v2")