improve verbose_preprocessor

This commit is contained in:
qPCR4vir 2016-06-21 20:43:36 +02:00
parent b3e9e2d979
commit 067eeff3dd
5 changed files with 51 additions and 17 deletions

View File

@ -35,7 +35,7 @@ option(NANA_CMAKE_LIBPNG_FROM_OS "Use libpng from operating system." ON)
option(NANA_CMAKE_ENABLE_JPEG "Enable the use of JPEG" OFF) option(NANA_CMAKE_ENABLE_JPEG "Enable the use of JPEG" OFF)
option(NANA_CMAKE_LIBJPEG_FROM_OS "Use libjpeg from operating system." ON) option(NANA_CMAKE_LIBJPEG_FROM_OS "Use libjpeg from operating system." ON)
option(NANA_CMAKE_ENABLE_AUDIO "Enable class audio::play for PCM playback." OFF) option(NANA_CMAKE_ENABLE_AUDIO "Enable class audio::play for PCM playback." OFF)
option(NANA_CMAKE_VERBOSE_PREPROCESSOR "Show annoying debug messages during compilation." OFF) option(NANA_CMAKE_VERBOSE_PREPROCESSOR "Show annoying debug messages during compilation." ON)
option(NANA_CMAKE_STOP_VERBOSE_PREPROCESSOR "Stop compilation after showing the annoying debug messages." ON) option(NANA_CMAKE_STOP_VERBOSE_PREPROCESSOR "Stop compilation after showing the annoying debug messages." ON)
option(NANA_CMAKE_BUILD_DEMOS "Build all the demos form the nana_demo repository." OFF) option(NANA_CMAKE_BUILD_DEMOS "Build all the demos form the nana_demo repository." OFF)
option(NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS "" ON) option(NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS "" ON)

View File

@ -35,7 +35,10 @@
* - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1) * - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1)
* - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1) * - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1)
* - STD_TO_STRING_NOT_SUPPORTED (MinGW with GCC < 4.8) * - STD_TO_STRING_NOT_SUPPORTED (MinGW with GCC < 4.8)
*/ * - STD_FILESYSTEM_NOT_SUPPORTED (GCC < 5.3) ....
* - CXX_NO_INLINE_NAMESPACE (Visual C++ < 2015)
* - STD_MAKE_UNIQUE_NOT_SUPPORTED (GCC < 4.9)
*/
#ifndef NANA_CXX_DEFINES_INCLUDED #ifndef NANA_CXX_DEFINES_INCLUDED
#define NANA_CXX_DEFINES_INCLUDED #define NANA_CXX_DEFINES_INCLUDED
@ -50,7 +53,7 @@
# #
# define CXX_NO_INLINE_NAMESPACE //no support of C++11 inline namespace until Visual C++ 2015 # define CXX_NO_INLINE_NAMESPACE //no support of C++11 inline namespace until Visual C++ 2015
# define noexcept //no support of noexcept until Visual C++ 2015 # define noexcept //no support of noexcept until Visual C++ 2015
# define constexpr //no support of constexpr until Visual C++ 2015 # define constexpr const //no support of constexpr until Visual C++ 2015 ? const ??
# endif # endif
#elif defined(__GNUC__) #elif defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ < 6) # if (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
@ -141,6 +144,7 @@
#if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) ) #if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) )
# undef STD_FILESYSTEM_NOT_SUPPORTED # undef STD_FILESYSTEM_NOT_SUPPORTED
/// \todo define the namespace ????
#endif #endif
#if (__GNUC__ == 4) #if (__GNUC__ == 4)

View File

@ -17,9 +17,7 @@
#include <nana/push_ignore_diagnostic> #include <nana/push_ignore_diagnostic>
#include <nana/config.hpp> #include <nana/config.hpp>
#if defined(VERBOSE_PREPROCESSOR)
#include <nana/verbose_preprocessor.hpp>
#endif
#include <stdexcept> #include <stdexcept>
#include <nana/charset.hpp> #include <nana/charset.hpp>

View File

@ -11,8 +11,8 @@
* *
* @brief show the values of configuration constants during compilation to facilitate build debugging. * @brief show the values of configuration constants during compilation to facilitate build debugging.
* *
* Set VERBOSE_PREPROCESSOR to 1 to show the messages or to 0 for a normal build. * Define VERBOSE_PREPROCESSOR to show the messages or undefine for a normal build.
* Normally set to 0. Set to 1 only in case you want to debug the build system because it is extremely repetitive and slow. * Normally undefined. Define in case you want to debug the build system.
* *
* @authors Ariel Vina-Rodriguez (qPCR4vir) * @authors Ariel Vina-Rodriguez (qPCR4vir)
* *
@ -25,25 +25,55 @@
#if defined(VERBOSE_PREPROCESSOR) #if defined(VERBOSE_PREPROCESSOR)
#include <nana/config.hpp>
#include <nana/deploy.hpp>
#define STRING2(x) #x #define STRING2(x) #x
#define STRING(x) STRING2(x) #define STRING(x) STRING2(x)
#pragma message ( "\nVerbose preprocessor =" STRING(VERBOSE_PREPROCESSOR)" , \n STOP_VERBOSE_PREPROCESSOR=" STRING(STOP_VERBOSE_PREPROCESSOR) ) #pragma message ( "\n ---> SVerbose preprocessor \nVERBOSE_PREPROCESSOR=" STRING(VERBOSE_PREPROCESSOR)" , \n STOP_VERBOSE_PREPROCESSOR=" STRING(STOP_VERBOSE_PREPROCESSOR) )
#pragma message ( "\nWindows: \n _WIN32=" STRING(_WIN32) ", \n __WIN32__ =" STRING(__WIN32__) " , \n WIN32=" STRING(WIN32)" , \n NANA_WINDOWS=" STRING(NANA_WINDOWS) ) #pragma message ( "\n ---> OS: \nWindows: \n _WIN32=" STRING(_WIN32) ", \n __WIN32__ =" STRING(__WIN32__) " , \n WIN32=" STRING(WIN32)" , \n NANA_WINDOWS=" STRING(NANA_WINDOWS) )
#pragma message ( "\nUNICODE: \n NANA_UNICODE=" STRING(NANA_UNICODE) ", \n _UNICODE =" STRING(_UNICODE) " , \n UNICODE=" STRING(UNICODE) ) #pragma message ( "\nNIX: \n NANA_LINUX=" STRING(NANA_LINUX) ", \n NANA_POSIX=" STRING(NANA_POSIX) " , \n NANA_X11=" STRING(NANA_X11) " , \n APPLE=" STRING(APPLE) " , \n NANA_MACOS =" STRING(NANA_MACOS) " , \n NANA_IGNORE_CONF=" STRING(NANA_IGNORE_CONF) )
#pragma message ( "\nMinGW: \n __MINGW32__=" STRING(__MINGW32__) ", \n __MINGW64__=" STRING(__MINGW64__) " , \n MINGW=" STRING(MINGW) ) #pragma message ( "\n ---> Compilers: \n MinGW: \n __MINGW32__=" STRING(__MINGW32__) ", \n __MINGW64__=" STRING(__MINGW64__) " , \n MINGW=" STRING(MINGW) )
#pragma message ( "\nMSC: \n _MSC_VER=" STRING(_MSC_VER) ", \n _MSC_FULL_VER=" STRING(_MSC_FULL_VER ) )
#pragma message ( "\nGNU: \n __GNUC__=" STRING(__GNUC__) ", \n __GNUC_MINOR__=" STRING(__GNUC_MINOR__) " , \n __GNUC_PATCHLEVEL__=" STRING(__GNUC_PATCHLEVEL__) ) #pragma message ( "\nGNU: \n __GNUC__=" STRING(__GNUC__) ", \n __GNUC_MINOR__=" STRING(__GNUC_MINOR__) " , \n __GNUC_PATCHLEVEL__=" STRING(__GNUC_PATCHLEVEL__) )
#pragma message ( "\nSTD: \nSTD_CODECVT_NOT_SUPPORTED=" STRING(STD_CODECVT_NOT_SUPPORTED) " , \nSTD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) ) #pragma message ( "\nClang compiler: \n __clang__=" STRING(__clang__) ", \n __GLIBCPP__=" STRING(__GLIBCPP__) " , \n __GLIBCXX__=" STRING(__GLIBCXX__) )
#pragma message ( "\nSTD: \nUSE_github_com_meganz_mingw_std_threads=" STRING(USE_github_com_meganz_mingw_std_threads) " , \nSTD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) ) #pragma message ( "\n ---> STD: \n STD_CODECVT_NOT_SUPPORTED=" STRING(STD_CODECVT_NOT_SUPPORTED) " , \n STD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( "\nClang compiler: \n__clang__=" STRING(__clang__) ", \n__GLIBCPP__=" STRING(__GLIBCPP__) " , \n__GLIBCXX__=" STRING(__GLIBCXX__) ) #pragma message ( "\n STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED=" STRING(STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED) " , \n STD_TO_STRING_NOT_SUPPORTED=" STRING(STD_TO_STRING_NOT_SUPPORTED) ", \n STD_TO_WSTRING_NOT_SUPPORTED=" STRING(STD_TO_WSTRING_NOT_SUPPORTED))
#pragma message ( "\n USE_github_com_meganz_mingw_std_threads=" STRING(USE_github_com_meganz_mingw_std_threads) ", \n NANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ=" STRING(NANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ)" , \n STD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( "\n STD_put_time_NOT_SUPPORTED=" STRING(STD_put_time_NOT_SUPPORTED) " , \n STD_MAKE_UNIQUE_NOT_SUPPORTED=" STRING(STD_MAKE_UNIQUE_NOT_SUPPORTED)" , \n STD_FILESYSTEM_NOT_SUPPORTED=" STRING(STD_FILESYSTEM_NOT_SUPPORTED))
#pragma message ( "\n BOOST_FILESYSTEM_AVAILABLE=" STRING(BOOST_FILESYSTEM_AVAILABLE) ", \n BOOST_FILESYSTEM_FORCE =" STRING(BOOST_FILESYSTEM_FORCE) " , \n STD_FILESYSTEM_FORCE=" STRING(STD_FILESYSTEM_FORCE) ", \n NANA_FILESYSTEM_FORCE=" STRING(NANA_FILESYSTEM_FORCE) )
#pragma message ( "\n CXX_NO_INLINE_NAMESPACE=" STRING(CXX_NO_INLINE_NAMESPACE) ", \n __has_include=" STRING(__has_include)" , \n __cpp_lib_experimental_filesystem=" STRING(__cpp_lib_experimental_filesystem) )
#include <nana/filesystem/filesystem_selector.hpp>
#pragma message ( "\n ...including filesystem_selector: \n STD_put_time_NOT_SUPPORTED=" STRING(STD_put_time_NOT_SUPPORTED) " , \n STD_FILESYSTEM_NOT_SUPPORTED=" STRING(STD_FILESYSTEM_NOT_SUPPORTED))
#pragma message ( "\n BOOST_FILESYSTEM_AVAILABLE=" STRING(BOOST_FILESYSTEM_AVAILABLE) ", \n BOOST_FILESYSTEM_FORCE =" STRING(BOOST_FILESYSTEM_FORCE) " , \n STD_FILESYSTEM_FORCE=" STRING(STD_FILESYSTEM_FORCE) ", \n NANA_FILESYSTEM_FORCE=" STRING(NANA_FILESYSTEM_FORCE) )
#pragma message ( "\n CXX_NO_INLINE_NAMESPACE=" STRING(CXX_NO_INLINE_NAMESPACE) ", \n __has_include=" STRING(__has_include)" , \n __cpp_lib_experimental_filesystem=" STRING(__cpp_lib_experimental_filesystem) )
// #pragma message ( "\n =" STRING() ", \n =" STRING()" , \n =" STRING() )
#pragma message ( "\nUNICODE: \n NANA_UNICODE=" STRING(NANA_UNICODE) ", \n _UNICODE =" STRING(_UNICODE) " , \n UNICODE=" STRING(UNICODE) )
#pragma message ( "\n ---> Libraries: \n NANA_ENABLE_AUDIO=" STRING(NANA_ENABLE_AUDIO) ", \n NANA_ENABLE_PNG =" STRING(NANA_ENABLE_PNG) " , \n USE_LIBPNG_FROM_OS=" STRING(USE_LIBPNG_FROM_OS) " , \n NANA_LIBPNG=" STRING(NANA_LIBPNG) )
#pragma message ( "\n NANA_ENABLE_JPEG=" STRING(NANA_ENABLE_JPEG) ", \n USE_LIBJPEG_FROM_OS =" STRING(USE_LIBJPEG_FROM_OS) " , \n NANA_LIBJPEG=" STRING(NANA_LIBJPEG) )
#pragma message ( "\nMSC: \n_MSC_VER=" STRING(_MSC_VER) ", \n_MSC_FULL_VER=" STRING(_MSC_FULL_VER ) )
#if defined(STOP_VERBOSE_PREPROCESSOR) #if defined(STOP_VERBOSE_PREPROCESSOR)
#error ("\nCompilation stopped to avoid annoying messages") #error ("\nCompilation stopped to avoid annoying messages")
@ -52,5 +82,4 @@
#endif // VERBOSE_PREPROCESSOR #endif // VERBOSE_PREPROCESSOR
#endif //NANA_VERBOSE_PREPROCESSOR_H #endif //NANA_VERBOSE_PREPROCESSOR_H

View File

@ -702,3 +702,6 @@ namespace nana
} }
#if defined(VERBOSE_PREPROCESSOR)
# include <nana/verbose_preprocessor.hpp>
#endif