Backed out changeset 2fc34d798e24 (bug 1917771) for causing failures at baseline...
[gecko.git] / taskcluster / scripts / misc / build-cmake.sh
blob1aa4eeb244b0c5878795452a743394ffdd1fffbf
1 #!/bin/bash
2 set -e -v -x
4 artifact=$(basename "$TOOLCHAIN_ARTIFACT")
5 project=${artifact%.tar.*}
6 workspace=$HOME/workspace
8 cd $MOZ_FETCHES_DIR/cmake
10 # Work around https://gitlab.kitware.com/cmake/cmake/-/issues/26031
11 patch -p1 <<'EOF'
12 diff --git a/Source/bindexplib.cxx b/Source/bindexplib.cxx
13 index 52e200c24f..07ccf3965c 100644
14 --- a/Source/bindexplib.cxx
15 +++ b/Source/bindexplib.cxx
16 @@ -398,7 +398,7 @@ static bool DumpFile(std::string const& nmPath, const char* filename,
17 std::set<std::string>& symbols,
18 std::set<std::string>& dataSymbols)
20 -#ifndef _WIN32
21 +#if 1
22 return DumpFileWithLlvmNm(nmPath, filename, symbols, dataSymbols);
23 #else
24 HANDLE hFile;
25 EOF
27 # Work around https://github.com/llvm/llvm-project/issues/94563
28 # The resulting cmake works well enough for our use.
29 patch -p1 <<'EOF'
30 diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
31 index c268a92111..d18f8cf221 100644
32 --- a/Source/CMakeLists.txt
33 +++ b/Source/CMakeLists.txt
34 @@ -863,7 +863,6 @@ if(WIN32)
36 # Add a manifest file to executables on Windows to allow for
37 # GetVersion to work properly on Windows 8 and above.
38 - target_sources(ManifestLib INTERFACE cmake.version.manifest)
39 endif()
40 endif()
42 EOF
44 export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH"
46 cmake \
47 -GNinja \
48 -DCMAKE_BUILD_TYPE=Release \
49 -DCMAKE_C_COMPILER=clang-cl \
50 -DCMAKE_CXX_COMPILER=clang-cl \
51 -DCMAKE_LINKER=lld-link \
52 -DCMAKE_MT=llvm-mt \
53 -DCMAKE_C_FLAGS="-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs" \
54 -DCMAKE_CXX_FLAGS="-GR -EHsc -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs" \
55 -DCMAKE_EXE_LINKER_FLAGS="-winsysroot:$MOZ_FETCHES_DIR/vs" \
56 -DCMAKE_MODULE_LINKER_FLAGS="-winsysroot:$MOZ_FETCHES_DIR/vs" \
57 -DCMAKE_SHARED_LINKER_FLAGS="-winsysroot:$MOZ_FETCHES_DIR/vs" \
58 -DCMAKE_SYSTEM_NAME=Windows \
59 -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded \
60 -DCMAKE_INSTALL_PREFIX=$workspace/$project \
61 -B $workspace/build
63 ninja -C $workspace/build -v install
65 tar -C $workspace -acvf $artifact $project
66 mkdir -p $UPLOAD_DIR
67 mv $artifact $UPLOAD_DIR