diff --git a/src/libcalamares/python/Api.cpp b/src/libcalamares/python/Api.cpp index 247568542..3864af58b 100644 --- a/src/libcalamares/python/Api.cpp +++ b/src/libcalamares/python/Api.cpp @@ -14,6 +14,7 @@ #include "compat/Variant.h" #include "locale/Global.h" #include "partition/Mount.h" +#include "python/Pybind11Helpers.h" #include "python/PythonJob.h" #include "utils/Logger.h" #include "utils/RAII.h" @@ -26,10 +27,6 @@ #include #include -#undef slots -#include -#include - namespace py = pybind11; /** @namespace diff --git a/src/libcalamares/python/Logger.h b/src/libcalamares/python/Logger.h index 7b4ca23f9..bf71f9ee9 100644 --- a/src/libcalamares/python/Logger.h +++ b/src/libcalamares/python/Logger.h @@ -18,8 +18,7 @@ #include "utils/Logger.h" -#undef slots -#include +#include "python/Pybind11Helpers.h" #include diff --git a/src/libcalamares/python/Pybind11Helpers.h b/src/libcalamares/python/Pybind11Helpers.h index 211e68386..0bc2272c6 100644 --- a/src/libcalamares/python/Pybind11Helpers.h +++ b/src/libcalamares/python/Pybind11Helpers.h @@ -14,9 +14,27 @@ #include +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wcovered-switch-default" +#pragma clang diagnostic ignored "-Wfloat-equal" +#pragma clang diagnostic ignored "-Wweak-vtables" +#pragma clang diagnostic ignored "-Wmissing-variable-declarations" +#pragma clang diagnostic ignored "-Wold-style-cast" +#pragma clang diagnostic ignored "-Wshadow-uncaptured-local" +#pragma clang diagnostic ignored "-Wshadow-field-in-constructor" +#pragma clang diagnostic ignored "-Wshadow-field" +#pragma clang diagnostic ignored "-Wdocumentation" +#pragma clang diagnostic ignored "-Wmissing-noreturn" +#pragma clang diagnostic ignored "-Wreserved-identifier" +#endif + #undef slots #include +#include +#include + namespace Calamares { namespace Python __attribute__( ( visibility( "hidden" ) ) ) @@ -35,4 +53,9 @@ namespace Python __attribute__( ( visibility( "hidden" ) ) ) } // namespace Python } // namespace Calamares + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + #endif diff --git a/src/libcalamares/python/PythonJob.cpp b/src/libcalamares/python/PythonJob.cpp index cbafa67b7..b41b6c3ab 100644 --- a/src/libcalamares/python/PythonJob.cpp +++ b/src/libcalamares/python/PythonJob.cpp @@ -13,16 +13,13 @@ #include "JobQueue.h" #include "python/Api.h" #include "python/Logger.h" +#include "python/Pybind11Helpers.h" #include "utils/Logger.h" #include #include #include -#undef slots -#include -#include - namespace py = pybind11; namespace