mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
In some internal configurations we set the `SWIFT_LOADED_MODULE_TRACE_FILE` environment variable when running the build of the compiler -- as a result, this causes `-parse` to always fails, preventing to detect properly if we can use `disable-implicit*` flags. Addresses rdar://115338219
24 lines
745 B
CMake
24 lines
745 B
CMake
# Test if the Swift compiler supports -disable-implicit-<module>-module-import
|
|
function(swift_supports_implicit_module module_name out_var)
|
|
file(WRITE "${CMAKE_BINARY_DIR}/tmp/empty-check-${module_name}.swift" "")
|
|
execute_process(
|
|
COMMAND
|
|
${CMAKE_COMMAND}
|
|
-E env --unset=SWIFT_LOADED_MODULE_TRACE_FILE
|
|
"${CMAKE_Swift_COMPILER}"
|
|
-Xfrontend -disable-implicit-${module_name}-module-import
|
|
-Xfrontend -parse-stdlib
|
|
-parse -
|
|
INPUT_FILE
|
|
"${CMAKE_BINARY_DIR}/tmp/empty-check-${module_name}.swift"
|
|
OUTPUT_QUIET ERROR_QUIET
|
|
RESULT_VARIABLE
|
|
result
|
|
)
|
|
if(NOT result)
|
|
set("${out_var}" "TRUE" PARENT_SCOPE)
|
|
else()
|
|
set("${out_var}" "FALSE" PARENT_SCOPE)
|
|
endif()
|
|
endfunction()
|