Skip to content

Commit 6856300

Browse files
authored
ccache: support MSVC by using /Z7 via MSVC_DEBUG_INFORMATION_FORMAT (#1853)
1 parent fec89a6 commit 6856300

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

.evergreen/scripts/compile-libmongocrypt.sh

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

23+
. "$(dirname "${BASH_SOURCE[0]}")/find-ccache.sh"
24+
find_ccache_and_export_vars "$(pwd)/libmongocrypt" || true
25+
if command -v "${CMAKE_C_COMPILER_LAUNCHER:-}" && [[ "${OSTYPE:?}" == cygwin ]]; then
26+
crypt_cmake_flags+=(
27+
"-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
28+
"-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded"
29+
)
30+
fi
31+
2332
env \
2433
DEBUG="0" \
2534
CMAKE_EXE="${cmake_binary}" \

.evergreen/scripts/compile-std.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,16 @@ echo "Installing libmongocrypt..."
131131
}
132132
echo "Installing libmongocrypt... done."
133133

134-
echo "CFLAGS: ${CFLAGS}"
135-
echo "configure_flags: ${configure_flags[*]}"
136-
137134
# Use ccache if able.
138135
. "${script_dir:?}/find-ccache.sh"
139136
find_ccache_and_export_vars "$(pwd)" || true
137+
if command -v "${CMAKE_C_COMPILER_LAUNCHER:-}" && [[ "${OSTYPE:?}" == cygwin ]]; then
138+
configure_flags_append "-DCMAKE_POLICY_DEFAULT_CMP0141=NEW"
139+
configure_flags_append "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
140+
fi
141+
142+
echo "CFLAGS: ${CFLAGS}"
143+
echo "configure_flags: ${configure_flags[*]}"
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 command -v "${CMAKE_C_COMPILER_LAUNCHER:-}" && [[ "${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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ 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 command -v "${CMAKE_C_COMPILER_LAUNCHER:-}" && [[ "${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>"
82+
fi
7983
fi
8084

8185
$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)