forked from OSchip/llvm-project
[libc++] Prevent stale site configuration headers
If we define cmake macros that require a site config, and then undefine all such macros, a stale site config header will be left behind. Explicitly delete any generate site config if we don't need one to avoid this. Differential Revision: https://reviews.llvm.org/D36720 llvm-svn: 313284
This commit is contained in:
parent
2cda290ec8
commit
87fc45800a
|
@ -615,9 +615,10 @@ if (DEFINED WIN32 AND LIBCXX_ENABLE_STATIC AND NOT LIBCXX_ENABLE_SHARED)
|
|||
config_define(ON _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
|
||||
endif()
|
||||
|
||||
set(site_config_path "${LIBCXX_BINARY_DIR}/__config_site")
|
||||
if (LIBCXX_NEEDS_SITE_CONFIG)
|
||||
configure_file("include/__config_site.in"
|
||||
"${LIBCXX_BINARY_DIR}/__config_site"
|
||||
"${site_config_path}"
|
||||
@ONLY)
|
||||
|
||||
# Provide the config definitions by included the generated __config_site
|
||||
|
@ -627,6 +628,11 @@ if (LIBCXX_NEEDS_SITE_CONFIG)
|
|||
else()
|
||||
add_compile_flags("-include ${LIBCXX_BINARY_DIR}/__config_site")
|
||||
endif()
|
||||
else()
|
||||
if (EXISTS "${site_config_path}")
|
||||
message(STATUS "Removing stale site configuration ${site_config_path}")
|
||||
file(REMOVE "${site_config_path}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#===============================================================================
|
||||
|
|
Loading…
Reference in New Issue