From be5a8973c39e13d8978c242936dca63a9a746a57 Mon Sep 17 00:00:00 2001 From: Andreas Schuh Date: Thu, 17 Mar 2016 11:02:26 +0000 Subject: [PATCH] GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022) Previously we allowed this definition to persist outside our header. This would cause conflicts across multiple such headers because the name was always the same. Fix this by avoiding the definition altogether. --- Modules/GenerateExportHeader.cmake | 4 +++- Modules/exportheader.cmake.in | 3 +-- .../reference/Empty/libshared_export.h | 7 ++++--- .../reference/Empty/libstatic_export.h | 7 ++++--- .../reference/MinGW/libshared_export.h | 7 ++++--- .../reference/MinGW/libstatic_export.h | 7 ++++--- .../GenerateExportHeader/reference/UNIX/libshared_export.h | 7 ++++--- .../GenerateExportHeader/reference/UNIX/libstatic_export.h | 7 ++++--- .../reference/UNIX_DeprecatedOnly/libshared_export.h | 7 ++++--- .../reference/UNIX_DeprecatedOnly/libstatic_export.h | 7 ++++--- .../reference/Win32-Clang/libshared_export.h | 7 ++++--- .../reference/Win32-Clang/libstatic_export.h | 7 ++++--- .../reference/Win32/libshared_export.h | 7 ++++--- .../reference/Win32/libstatic_export.h | 7 ++++--- .../reference/WinEmpty/libshared_export.h | 7 ++++--- .../reference/WinEmpty/libstatic_export.h | 7 ++++--- 16 files changed, 60 insertions(+), 45 deletions(-) diff --git a/Modules/GenerateExportHeader.cmake b/Modules/GenerateExportHeader.cmake index 4f4efbcf37..6389d3072d 100644 --- a/Modules/GenerateExportHeader.cmake +++ b/Modules/GenerateExportHeader.cmake @@ -341,7 +341,9 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY) string(MAKE_C_IDENTIFIER ${STATIC_DEFINE} STATIC_DEFINE) if(_GEH_DEFINE_NO_DEPRECATED) - set(DEFINE_NO_DEPRECATED TRUE) + set(DEFINE_NO_DEPRECATED 1) + else() + set(DEFINE_NO_DEPRECATED 0) endif() if(_GEH_NO_DEPRECATED_MACRO_NAME) diff --git a/Modules/exportheader.cmake.in b/Modules/exportheader.cmake.in index 118de16d69..7058f545a7 100644 --- a/Modules/exportheader.cmake.in +++ b/Modules/exportheader.cmake.in @@ -33,8 +33,7 @@ # define @DEPRECATED_MACRO_NAME@_NO_EXPORT @NO_EXPORT_MACRO_NAME@ @DEPRECATED_MACRO_NAME@ #endif -#cmakedefine01 DEFINE_NO_DEPRECATED -#if DEFINE_NO_DEPRECATED +#if @DEFINE_NO_DEPRECATED@ /* DEFINE_NO_DEPRECATED */ # define @NO_DEPRECATED_MACRO_NAME@ #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Empty/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/Empty/libshared_export.h index b6749b2570..e8af0a5c12 100644 --- a/Tests/Module/GenerateExportHeader/reference/Empty/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Empty/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Empty/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/Empty/libstatic_export.h index e8000e2518..598bd71be0 100644 --- a/Tests/Module/GenerateExportHeader/reference/Empty/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Empty/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/MinGW/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/MinGW/libshared_export.h index d37663102d..cc20e09b09 100644 --- a/Tests/Module/GenerateExportHeader/reference/MinGW/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/MinGW/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/MinGW/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/MinGW/libstatic_export.h index fd021e9d01..4aaa84863d 100644 --- a/Tests/Module/GenerateExportHeader/reference/MinGW/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/MinGW/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h index 7d8087f60f..053ad18690 100644 --- a/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h index fd021e9d01..4aaa84863d 100644 --- a/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libshared_export.h index 5681f58428..808ff01316 100644 --- a/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libstatic_export.h index fd021e9d01..4aaa84863d 100644 --- a/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/UNIX_DeprecatedOnly/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libshared_export.h index d37663102d..cc20e09b09 100644 --- a/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libstatic_export.h index fd021e9d01..4aaa84863d 100644 --- a/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Win32-Clang/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h index 976c92ef84..4e675af6c1 100644 --- a/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h index db4df61b44..4d5ed4ecdf 100644 --- a/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/WinEmpty/libshared_export.h b/Tests/Module/GenerateExportHeader/reference/WinEmpty/libshared_export.h index 2dc41d414e..84340e305a 100644 --- a/Tests/Module/GenerateExportHeader/reference/WinEmpty/libshared_export.h +++ b/Tests/Module/GenerateExportHeader/reference/WinEmpty/libshared_export.h @@ -33,9 +33,10 @@ # define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSHARED_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSHARED_NO_DEPRECATED +# define LIBSHARED_NO_DEPRECATED +# endif #endif #endif diff --git a/Tests/Module/GenerateExportHeader/reference/WinEmpty/libstatic_export.h b/Tests/Module/GenerateExportHeader/reference/WinEmpty/libstatic_export.h index e8000e2518..598bd71be0 100644 --- a/Tests/Module/GenerateExportHeader/reference/WinEmpty/libstatic_export.h +++ b/Tests/Module/GenerateExportHeader/reference/WinEmpty/libstatic_export.h @@ -33,9 +33,10 @@ # define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0 -#if DEFINE_NO_DEPRECATED -# define LIBSTATIC_NO_DEPRECATED +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef LIBSTATIC_NO_DEPRECATED +# define LIBSTATIC_NO_DEPRECATED +# endif #endif #endif