diff options
author | Marco Poletti <poletti.marco@gmail.com> | 2017-06-11 20:04:03 +0100 |
---|---|---|
committer | Marco Poletti <poletti.marco@gmail.com> | 2017-06-11 20:04:03 +0100 |
commit | c9e7a0b7e3ca6a4e58ed59567d5e5aa229d1cf77 (patch) | |
tree | d86abb3eb0280bbda752cff87a22a52e328a6409 /configuration | |
parent | 050763e458d79bccc84ffc66f8bd4cbc9fcb7d99 (diff) | |
download | google-fruit-c9e7a0b7e3ca6a4e58ed59567d5e5aa229d1cf77.tar.gz |
Mark the old PartialComponent::install() method as deprecated.
Diffstat (limited to 'configuration')
-rw-r--r-- | configuration/CMakeLists.txt | 34 | ||||
-rw-r--r-- | configuration/bazel/fruit/impl/fruit-config-base.h | 6 | ||||
-rw-r--r-- | configuration/fruit-config-base.h.in | 4 |
3 files changed, 44 insertions, 0 deletions
diff --git a/configuration/CMakeLists.txt b/configuration/CMakeLists.txt index e8a8407..3103e03 100644 --- a/configuration/CMakeLists.txt +++ b/configuration/CMakeLists.txt @@ -134,6 +134,36 @@ int main() { " FRUIT_HAS_FORCEINLINE) +CHECK_CXX_SOURCE_COMPILES(" +[[deprecated]] void f() { +} + +int main() { + return 0; +} +" +FRUIT_HAS_ATTRIBUTE_DEPRECATED) + +CHECK_CXX_SOURCE_COMPILES(" +void f() __attribute__((deprecated)) { +} + +int main() { + return 0; +} +" +FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED) + +CHECK_CXX_SOURCE_COMPILES(" +__declspec(deprecated) void f() { +} + +int main() { + return 0; +} +" +FRUIT_HAS_DECLSPEC_DEPRECATED) + if (NOT "${FRUIT_HAS_STD_MAX_ALIGN_T}" AND NOT "${FRUIT_HAS_MAX_ALIGN_T}") message(WARNING "The current C++ standard library doesn't support std::max_align_t nor ::max_align_t. Attempting to use std::max_align_t anyway, but it most likely won't work.") endif() @@ -143,6 +173,10 @@ if(NOT "${FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE}" AND NOT "${FRUIT_HAS_IS_TRIVIALL message(WARNING "The current standard library doesn't support std::is_trivially_copyable<T>, and the current compiler doesn't support __is_trivially_copyable(T) nor __has_trivial_copy(T). Attemping to use std::is_trivially_copyable<T> anyway, but it most likely won't work.") endif() +if (NOT "${FRUIT_HAS_ATTRIBUTE_DEPRECATED}" AND NOT "${FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED}" AND NOT "${FRUIT_HAS_DECLSPEC_DEPRECATED}") + message(WARNING "No supported way to mark functions as deprecated was found. Continuing anyway, without the 'deprecated' markers.") +endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fruit-config-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/../include/fruit/impl/fruit-config-base.h) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../include/fruit/impl/fruit-config-base.h diff --git a/configuration/bazel/fruit/impl/fruit-config-base.h b/configuration/bazel/fruit/impl/fruit-config-base.h index 9cd392f..65b5261 100644 --- a/configuration/bazel/fruit/impl/fruit-config-base.h +++ b/configuration/bazel/fruit/impl/fruit-config-base.h @@ -57,4 +57,10 @@ #define FRUIT_HAS_FORCEINLINE 0 +#define FRUIT_HAS_ATTRIBUTE_DEPRECATED 0 + +#define FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED 1 + +#define FRUIT_HAS_DECLSPEC_DEPRECATED 0 + #endif // FRUIT_CONFIG_BASE_H diff --git a/configuration/fruit-config-base.h.in b/configuration/fruit-config-base.h.in index c710a22..9f59195 100644 --- a/configuration/fruit-config-base.h.in +++ b/configuration/fruit-config-base.h.in @@ -30,5 +30,9 @@ #cmakedefine FRUIT_USES_BOOST 1 #cmakedefine FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE 1 #cmakedefine FRUIT_HAS_FORCEINLINE 1 +#cmakedefine FRUIT_HAS_ATTRIBUTE_DEPRECATED 1 +#cmakedefine FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED 1 +#cmakedefine FRUIT_HAS_DECLSPEC_DEPRECATED 1 + #endif // FRUIT_CONFIG_BASE_H |