Skip to content

Commit 0cb55f1

Browse files
committed
ccache: support MSVC by using /Z7 via MSVC_DEBUG_INFORMATION_FORMAT
1 parent ad6332f commit 0cb55f1

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

.evergreen/scripts/compile-libmongocrypt.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ compile_libmongocrypt() {
2020
"-DBUILD_VERSION=1.12.0"
2121
)
2222

23+
if [[ "${OSTYPE:??}" == cygwin ]]; then
24+
crypt_cmake_flags+=(
25+
"-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
26+
"-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded"
27+
)
28+
fi
29+
2330
env \
2431
DEBUG="0" \
2532
CMAKE_EXE="${cmake_binary}" \

.evergreen/scripts/compile-std.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ echo "configure_flags: ${configure_flags[*]}"
137137
# Use ccache if able.
138138
. "${script_dir:?}/find-ccache.sh"
139139
find_ccache_and_export_vars "$(pwd)" || true
140+
if [[ "${OSTYPE:?}" == cygwin ]]; then
141+
configure_flags_append "-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
142+
configure_flags_append "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
143+
fi
140144

141145
"${cmake_binary}" "${configure_flags[@]}" .
142146
"${cmake_binary}" --build .

.evergreen/scripts/compile-windows.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,14 @@ if [ "${COMPILE_LIBMONGOCRYPT}" = "ON" ]; then
134134
configure_flags_append "-DENABLE_CLIENT_SIDE_ENCRYPTION=ON"
135135
fi
136136

137+
# Use ccache if able.
138+
. "${script_dir:?}/find-ccache.sh"
139+
find_ccache_and_export_vars "$(pwd)" || true
140+
if [[ "${OSTYPE:?}" == cygwin ]]; then
141+
configure_flags_append "-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
142+
configure_flags_append "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
143+
fi
144+
137145
"${cmake_binary:?}" -S . -B "${build_dir:?}" -G "$CC" "${configure_flags[@]}" "${extra_configure_flags[@]}"
138146
"${cmake_binary:?}" --build "${build_dir:?}" --config "${build_config:?}"
139147
"${cmake_binary:?}" --install "${build_dir:?}" --config "${build_config:?}"
@@ -147,4 +155,4 @@ fi
147155
if [[ "$EXTRA_CONFIGURE_FLAGS" != *"ENABLE_MONGOC=OFF"* ]]; then
148156
# Check public headers for extra warnings.
149157
"${cmake_binary:?}" --build "${build_dir:?}" --config "${build_config:?}" --target public-header-warnings
150-
fi
158+
fi

.evergreen/scripts/link-sample-program.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ ZSTD="AUTO"
7676
if [[ -f $DIR/find-ccache.sh ]]; then
7777
. $DIR/find-ccache.sh
7878
find_ccache_and_export_vars "$SCRATCH_DIR" || true
79+
if [[ "${OSTYPE:?}" == cygwin ]]; then
80+
configure_flags_append "-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
81+
configure_flags_append "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
7982
fi
8083

8184
$CMAKE -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR -DCMAKE_PREFIX_PATH=$INSTALL_DIR/lib/cmake $SSL_CMAKE_OPTION $SNAPPY_CMAKE_OPTION $STATIC_CMAKE_OPTION -DENABLE_ZSTD=$ZSTD "$SCRATCH_DIR"

0 commit comments

Comments
 (0)