mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-16 14:08:35 +08:00
bootstrap: Add infrastructure to detect threading flags
In our loop to detect -std flags, add another layer to detect threading flags.
This commit is contained in:
42
bootstrap
42
bootstrap
@@ -981,6 +981,8 @@ if [ -z "${CC}" -a -z "${CXX}" ]; then
|
|||||||
cmake_toolchain_detect
|
cmake_toolchain_detect
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
thread_flags=''
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Test C compiler
|
# Test C compiler
|
||||||
cmake_c_compiler=
|
cmake_c_compiler=
|
||||||
@@ -1014,16 +1016,18 @@ int main(int argc, char* argv[])
|
|||||||
}
|
}
|
||||||
' > "${TMPFILE}.c"
|
' > "${TMPFILE}.c"
|
||||||
for std in 11 99 90; do
|
for std in 11 99 90; do
|
||||||
try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`"
|
std_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`"
|
||||||
for compiler in ${cmake_c_compilers}; do
|
for compiler in ${cmake_c_compilers}; do
|
||||||
for flag in '' $try_flags; do
|
for std_flag in '' $std_flags; do
|
||||||
echo "Checking whether '${compiler} ${cmake_c_flags} ${flag}' works." >> cmake_bootstrap.log 2>&1
|
for thread_flag in '' $thread_flags; do
|
||||||
if cmake_try_run "${compiler}" "${cmake_c_flags} ${flag}" \
|
echo "Checking whether '${compiler} ${cmake_c_flags} ${std_flag} ${thread_flag}' works." >> cmake_bootstrap.log 2>&1
|
||||||
"${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
if cmake_try_run "${compiler}" "${cmake_c_flags} ${std_flag} ${thread_flag}" \
|
||||||
cmake_c_compiler="${compiler}"
|
"${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||||
cmake_c_flags="${cmake_c_flags} ${flag}"
|
cmake_c_compiler="${compiler}"
|
||||||
break 3
|
cmake_c_flags="${cmake_c_flags} ${std_flag} ${thread_flag}"
|
||||||
fi
|
break 3
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
@@ -1081,16 +1085,18 @@ int main()
|
|||||||
}
|
}
|
||||||
' > "${TMPFILE}.cxx"
|
' > "${TMPFILE}.cxx"
|
||||||
for std in 17 14 11; do
|
for std in 17 14 11; do
|
||||||
try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" CXX \"${std}\"`"
|
std_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" CXX \"${std}\"`"
|
||||||
for compiler in ${cmake_cxx_compilers}; do
|
for compiler in ${cmake_cxx_compilers}; do
|
||||||
for flag in '' $try_flags; do
|
for std_flag in '' $std_flags; do
|
||||||
echo "Checking whether '${compiler} ${cmake_cxx_flags} ${flag}' works." >> cmake_bootstrap.log 2>&1
|
for thread_flag in '' $thread_flags; do
|
||||||
if cmake_try_run "${compiler}" "${cmake_cxx_flags} ${flag}" \
|
echo "Checking whether '${compiler} ${cmake_cxx_flags} ${std_flag} ${thread_flag}' works." >> cmake_bootstrap.log 2>&1
|
||||||
"${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
if cmake_try_run "${compiler}" "${cmake_cxx_flags} ${std_flag} ${thread_flag}" \
|
||||||
cmake_cxx_compiler="${compiler}"
|
"${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||||
cmake_cxx_flags="${cmake_cxx_flags} ${flag} "
|
cmake_cxx_compiler="${compiler}"
|
||||||
break 3
|
cmake_cxx_flags="${cmake_cxx_flags} ${std_flag} ${thread_flag} "
|
||||||
fi
|
break 3
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
Reference in New Issue
Block a user