From 28e8448200d8a36445120bb963e7f5b1e03abbad Mon Sep 17 00:00:00 2001 From: methylDragon Date: Thu, 18 Aug 2022 16:44:36 -0700 Subject: [PATCH] Add redirection headers Signed-off-by: methylDragon --- CMakeLists.txt | 5 +- doc/doxygen/api.in | 2 +- examples/comp_deps/src/AlmostEmpty.cc | 2 +- examples/core_nodep/src/AlmostEmpty.cc | 2 +- examples/core_nodep_static/src/AlmostEmpty.cc | 2 +- include/gz/utilities/ExtraTestMacros.hh | 2 +- include/gz/utilities/SuppressWarning.hh | 6 +- .../gz/utilities/detail/SuppressWarning.hh | 4 +- include/ignition/utilities/ExtraTestMacros.hh | 47 ++++++++++++ include/ignition/utilities/SuppressWarning.hh | 71 +++++++++++++++++++ 10 files changed, 132 insertions(+), 11 deletions(-) create mode 100644 include/ignition/utilities/ExtraTestMacros.hh create mode 100644 include/ignition/utilities/SuppressWarning.hh diff --git a/CMakeLists.txt b/CMakeLists.txt index c8370e09..f793d08e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,10 @@ include(IgnCMake) #-------------------------------------- # Set up the project -ign_configure_project(VERSION_SUFFIX) +ign_configure_project( + REPLACE_IGNITION_INCLUDE_PATH gz/cmake + VERSION_SUFFIX pre1 +) #-------------------------------------- # Set project-specific options diff --git a/doc/doxygen/api.in b/doc/doxygen/api.in index 8b42d495..86bd233d 100644 --- a/doc/doxygen/api.in +++ b/doc/doxygen/api.in @@ -956,7 +956,7 @@ INPUT_FILTER = # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. -FILTER_PATTERNS = *.hh="sed -e 's/inline\snamespace\s.*\s{$\|ignition::@GZ_DESIGNATION@::\|IGN_DEPRECATED([0-9\.]\+)\|IGNITION_@GZ_DESIGNATION_UPPER@_VISIBLE//g'" +FILTER_PATTERNS = *.hh="sed -e 's/inline\snamespace\s.*\s{$\|gz::@GZ_DESIGNATION@::\|IGN_DEPRECATED([0-9\.]\+)\|IGNITION_@GZ_DESIGNATION_UPPER@_VISIBLE//g'" # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for diff --git a/examples/comp_deps/src/AlmostEmpty.cc b/examples/comp_deps/src/AlmostEmpty.cc index da65eaa2..bb7e0350 100644 --- a/examples/comp_deps/src/AlmostEmpty.cc +++ b/examples/comp_deps/src/AlmostEmpty.cc @@ -17,7 +17,7 @@ #include -namespace ignition +namespace gz { namespace component_deps { diff --git a/examples/core_nodep/src/AlmostEmpty.cc b/examples/core_nodep/src/AlmostEmpty.cc index 0a1c6df8..8826778b 100644 --- a/examples/core_nodep/src/AlmostEmpty.cc +++ b/examples/core_nodep/src/AlmostEmpty.cc @@ -17,7 +17,7 @@ #include -namespace ignition +namespace gz { namespace core_no_deps { diff --git a/examples/core_nodep_static/src/AlmostEmpty.cc b/examples/core_nodep_static/src/AlmostEmpty.cc index f55af640..8ff32660 100644 --- a/examples/core_nodep_static/src/AlmostEmpty.cc +++ b/examples/core_nodep_static/src/AlmostEmpty.cc @@ -17,7 +17,7 @@ #include -namespace ignition +namespace gz { namespace core_no_deps { diff --git a/include/gz/utilities/ExtraTestMacros.hh b/include/gz/utilities/ExtraTestMacros.hh index 5bd800d1..8f0c6469 100644 --- a/include/gz/utilities/ExtraTestMacros.hh +++ b/include/gz/utilities/ExtraTestMacros.hh @@ -18,7 +18,7 @@ #ifndef IGNITION_UTILITIES_EXTRATESTMACROS_HH #define IGNITION_UTILITIES_EXTRATESTMACROS_HH -#include +#include /// \brief Restrict the execution of the test for the Windows platform. /// The test will be compiled on Windows too but will never be run as diff --git a/include/gz/utilities/SuppressWarning.hh b/include/gz/utilities/SuppressWarning.hh index 7ae99ec5..549af7f1 100644 --- a/include/gz/utilities/SuppressWarning.hh +++ b/include/gz/utilities/SuppressWarning.hh @@ -15,10 +15,10 @@ * */ -#ifndef IGNITION_UTILITIES_SUPPRESSWARNING_HH_ -#define IGNITION_UTILITIES_SUPPRESSWARNING_HH_ +#ifndef GZ_UTILITIES_SUPPRESSWARNING_HH_ +#define GZ_UTILITIES_SUPPRESSWARNING_HH_ -#include +#include // This header contains cross-platform macros for suppressing warnings. Please // only use these macros responsibly when you are certain that the compiler is diff --git a/include/gz/utilities/detail/SuppressWarning.hh b/include/gz/utilities/detail/SuppressWarning.hh index f69fb17b..0792498c 100644 --- a/include/gz/utilities/detail/SuppressWarning.hh +++ b/include/gz/utilities/detail/SuppressWarning.hh @@ -16,8 +16,8 @@ */ -#ifndef IGNITION_UTILITIES_DETAIL_SUPPRESSWARNING_HH_ -#define IGNITION_UTILITIES_DETAIL_SUPPRESSWARNING_HH_ +#ifndef GZ_UTILITIES_DETAIL_SUPPRESSWARNING_HH_ +#define GZ_UTILITIES_DETAIL_SUPPRESSWARNING_HH_ #include diff --git a/include/ignition/utilities/ExtraTestMacros.hh b/include/ignition/utilities/ExtraTestMacros.hh new file mode 100644 index 00000000..8f0c6469 --- /dev/null +++ b/include/ignition/utilities/ExtraTestMacros.hh @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef IGNITION_UTILITIES_EXTRATESTMACROS_HH +#define IGNITION_UTILITIES_EXTRATESTMACROS_HH + +#include + +/// \brief Restrict the execution of the test for the Windows platform. +/// The test will be compiled on Windows too but will never be run as +/// part of the test suite. The macro uses the Disabled_ prefix provided +/// by googletest. See +/// https://chromium.googlesource.com/external/github.com/google/googletest/+/HEAD/googletest/docs/advanced.md +#define IGN_UTILS_TEST_DISABLED_ON_WIN32(TestName) \ + DETAIL_IGN_UTILS_TEST_DISABLED_ON_WIN32(TestName) + +/// \brief Restrict the execution of the test for the Mac platform. +/// The test will be compiled on Windows too but will never be run as +/// part of the test suite. The macro uses the Disabled_ prefix provided +/// by googletest. See +/// https://chromium.googlesource.com/external/github.com/google/googletest/+/HEAD/googletest/docs/advanced.md +#define IGN_UTILS_TEST_DISABLED_ON_MAC(TestName) \ + DETAIL_IGN_UTILS_TEST_DISABLED_ON_MAC(TestName) + +/// \brief Restrict the execution of the test to just the Linux platform +/// Other platforms will get the test compiled but it won't be run +/// as part of the test suite execution. +/// The macro uses the Disabled_ prefix provided by googletest. See +/// https://chromium.googlesource.com/external/github.com/google/googletest/+/HEAD/googletest/docs/advanced.md +#define IGN_UTILS_TEST_ENABLED_ONLY_ON_LINUX(TestName) \ + DETAIL_IGN_UTILS_TEST_ENABLED_ONLY_ON_LINUX(TestName) + +#endif diff --git a/include/ignition/utilities/SuppressWarning.hh b/include/ignition/utilities/SuppressWarning.hh new file mode 100644 index 00000000..f5ef8af1 --- /dev/null +++ b/include/ignition/utilities/SuppressWarning.hh @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2018 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef IGNITION_UTILITIES_SUPPRESSWARNING_HH_ +#define IGNITION_UTILITIES_SUPPRESSWARNING_HH_ + +#include + +// This header contains cross-platform macros for suppressing warnings. Please +// only use these macros responsibly when you are certain that the compiler is +// producing a warning that is not applicable to the specific instance. Do not +// use these macros to ignore legitimate warnings, even if you may find them +// irritating. + +/* + * Usage example: + * + * SomeClass *ptr = CreatePtr(); + * IGN_UTILS_WARN_IGNORE__NON_VIRTUAL_DESTRUCTOR + * delete ptr; + * IGN_UTILS_WARN_RESUME__NON_VIRTUAL_DESTRUCTOR + * + */ + +// Be sure to call the IGN_UTILS_WARN_RESUME__XXXXX macro at the end of the +// block of code where the warning suppression is needed. Otherwise, you might +// inadvertently suppress legitimate warnings. + +// ---- List of available suppressions ---- + +/// \brief Compilers might warn about deleting a pointer to a class that has +/// virtual functions without a virtual destructor or a `final` declaration, +/// because the pointer might secretly be pointing to a more derived class type. +/// We want to suppress this warning when we know for certain (via the design +/// of our implementation) that the pointer is definitely not pointing to a more +/// derived type. +#define IGN_UTILS_WARN_IGNORE__NON_VIRTUAL_DESTRUCTOR \ + DETAIL_IGN_UTILS_WARN_IGNORE__NON_VIRTUAL_DESTRUCTOR + +#define IGN_UTILS_WARN_RESUME__NON_VIRTUAL_DESTRUCTOR \ + DETAIL_IGN_UTILS_WARN_RESUME__NON_VIRTUAL_DESTRUCTOR + +/// \brief Microsoft Visual Studio does not automatically export the interface +/// information for member variables that belong to interface classes of a DLL. +/// Instead it issues this warning. When the member variable is private, we +/// choose to suppress the warning instead of needlessly adding the class +/// information to the DLL interface. +#define IGN_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING \ + DETAIL_IGN_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING + +#define IGN_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING \ + DETAIL_IGN_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING + +// TODO(anyone): Add more warning types as they become relevant. +// Do not add warning types to suppress unless they are genuinely necessary. + +#endif