From 8d2d240d62d5919d391e0590807449d923c18f8b Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Mon, 20 Jun 2016 17:10:18 +0200 Subject: [PATCH 01/26] comments in cmake list file --- CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 46315d96..e80d9061 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,13 @@ # Robert Hauck - Enable support for PNG/Freetype # Qiangqiang Wu - Add biicode support # Ariel Vina-Rodriguez (qPCR4vir) +# +# Nana uses some build systems: MS-VS solution, MAKE, bakefile, codeblock, etc. manually optimized. +# In the future CMake could be the prefered, and maybe will be used to generate the others and the central nana repo +# will distribute all of them. But by now CMake is just one of them and all the other distributed build system +# files/projects are manually write. This current CMakeList.txt reflect this fact and that is why we don't +# generate here configurated *.h files or explicitly enumerate the sources files: anyway this CM-list +# will be "touched" to force a re-run of cmake. #https://cmake.org/cmake-tutorial/ #https://cmake.org/cmake/help/v3.3/module/CMakeDependentOption.html?highlight=cmakedependentoption @@ -13,6 +20,8 @@ # It seems that project() defines essential system variables like CMAKE_FIND_LIBRARY_PREFIXES. # https://bbs.archlinux.org/viewtopic.php?id=84967 + + project(nana) cmake_minimum_required(VERSION 2.8) @@ -87,7 +96,7 @@ endif (NANA_CMAKE_NANA_FILESYSTEM_FORCE) -# Compatibility with CMake 3.1 +########### Compatibility with CMake 3.1 if(POLICY CMP0054) # http://www.cmake.org/cmake/help/v3.1/policy/CMP0054.html cmake_policy(SET CMP0054 OLD) @@ -95,6 +104,9 @@ endif() add_definitions(-DNANA_IGNORE_CONF) + +########### OS + if(WIN32) add_definitions(-DWIN32) set(BUILD_FreeMe ON) #"Build FreeMe only on Windows." @@ -136,6 +148,9 @@ if(UNIX) endif(FREETYPE_FOUND) endif(UNIX) + +############# Optional libraries + #Find PNG if(NANA_CMAKE_ENABLE_PNG) add_definitions(-DNANA_ENABLE_PNG) From a46991673b55073c3eba7035144e94a15986b163 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Mon, 20 Jun 2016 17:13:22 +0200 Subject: [PATCH 02/26] avoid duplicate listing of source dir --- CMakeLists.txt | 54 ++++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e80d9061..57e3c029 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,8 +137,6 @@ elseif(UNIX) message("added -D linux") endif(APPLE) - - if(UNIX) list(APPEND NANA_LINKS -lX11 ) find_package(Freetype) @@ -200,43 +198,39 @@ endif(NANA_CMAKE_VERBOSE_PREPROCESSOR) set(NANA_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/source) set(NANA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) -include_directories(${NANA_INCLUDE_DIR}) -aux_source_directory(${NANA_SOURCE_DIR} NANA_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/detail NANA_DETAIL_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/filesystem NANA_FILESYSTEM_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/gui NANA_GUI_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/gui/detail NANA_GUI_DETAIL_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets NANA_GUI_WIDGETS_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets/skeletons NANA_GUI_WIDGETS_SKELETONS_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/paint NANA_PAINT_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/paint/detail NANA_PAINT_DETAIL_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/system NANA_SYSTEM_SOURCE) -aux_source_directory(${NANA_SOURCE_DIR}/threads NANA_THREADS_SOURCE) +# collect all source sub-directories in a list to avoid duplication here +set(NANA_SOURCE_SUBDIRS /. + /detail + /filesystem + /gui + /gui/detail + /gui/widgets + /gui/widgets/skeletons + /paint + /paint/detail + /system + /threads ) if(NANA_CMAKE_ENABLE_AUDIO) - aux_source_directory(${NANA_SOURCE_DIR}/audio NANA_AUDIO_SOURCE) - aux_source_directory(${NANA_SOURCE_DIR}/audio/detail NANA_AUDIO_DETAIL_SOURCE) + list(APPEND NANA_SOURCE_SUBDIRS + /audio + /audio/detail ) endif() +# collect all source files in the source-sub-dir #To show .h files in Visual Studio, add them to the list of sources in add_executable / add_library #and Use SOURCE_GROUP if all your sources are in the same directory +foreach(subdir ${NANA_SOURCE_SUBDIRS}) + aux_source_directory(${NANA_SOURCE_DIR}${subdir} sources) + message("Subir: ${subdir}") + message("Files: ${sources}") +endforeach(subdir ${NANA_SOURCE_SUBDIRS}) -add_library(${PROJECT_NAME} ${NANA_SOURCE} - ${NANA_DETAIL_SOURCE} - ${NANA_FILESYSTEM_SOURCE} - ${NANA_AUDIO_SOURCE} - ${NANA_AUDIO_DETAIL_SOURCE} - ${NANA_GUI_SOURCE} - ${NANA_GUI_DETAIL_SOURCE} - ${NANA_GUI_WIDGETS_SOURCE} - ${NANA_GUI_WIDGETS_SKELETONS_SOURCE} - ${NANA_PAINT_SOURCE} - ${NANA_PAINT_DETAIL_SOURCE} - ${NANA_SYSTEM_SOURCE} - ${NANA_THREADS_SOURCE}) +include_directories(${NANA_INCLUDE_DIR}) +add_library(${PROJECT_NAME} ${sources} ) +target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) - target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) install(TARGETS ${PROJECT_NAME} From b3e9e2d9791ee91d69fa64f3bf80221d4486e822 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Mon, 20 Jun 2016 17:14:35 +0200 Subject: [PATCH 03/26] FIX ? add link flag -lstdc++fs to use fs in gcc >= 5.3 --- CMakeLists.txt | 31 ++++++++++++++++--------- source/detail/platform_spec_windows.cpp | 2 +- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57e3c029..89751d6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ # generate here configurated *.h files or explicitly enumerate the sources files: anyway this CM-list # will be "touched" to force a re-run of cmake. + #https://cmake.org/cmake-tutorial/ #https://cmake.org/cmake/help/v3.3/module/CMakeDependentOption.html?highlight=cmakedependentoption # use CACHE FORCE or set(ENABLE_MINGW_STD_THREADS_WITH_MEGANZ ON) or delete CMakecache.txt or the entirely build dir @@ -310,26 +311,34 @@ endif (NANA_CMAKE_BUILD_FreeMe) endif (NANA_CMAKE_BUILD_DEMOS) +# +# Using gcc: gcc 4.8 don't sopourt C++14 and make_unique. You may want to update at least to 4.9. +# In Windows, the gcc which come with CLion was 4.8 from MinGW. You may want to install MinGW-w64 from the +# TDM-GCC Compiler Suite for Windows which will update you to gcc 5.1. +# gcc 5.3 and 5.4 include filesytem, but you need to add the link flag: -lstdc++fs +# +# see at end of: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html + # set compile flags if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -Wall") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") else("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -lstdc++fs -Wall") endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - # enable static linkage - if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) - #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") - - endif () +# enable static linkage +if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) + #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") - if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") - endif () +endif () + +if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") +endif () message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) message ( "COMPILER_IS_CLANG = " ${COMPILER_IS_CLANG}) diff --git a/source/detail/platform_spec_windows.cpp b/source/detail/platform_spec_windows.cpp index a2968f5b..7d1ae510 100644 --- a/source/detail/platform_spec_windows.cpp +++ b/source/detail/platform_spec_windows.cpp @@ -9,7 +9,7 @@ * * @file: nana/detail/platform_spec.cpp * - * @brief basis classes and data structrues required by nana + * @brief basis classes and data structures required by nana */ #include From befc81c7b75fbdea9f48ba481a6d23554cc41cd6 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 21 Jun 2016 15:21:41 +0200 Subject: [PATCH 04/26] NANA_CMAKE_BOOST_FILESYSTEM_FORCE in travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d7868e3e..cb0d55a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,7 @@ before_script : - cd bin script: - - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON + - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=ON -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON - make - cd .. - mv -v bin/ nana-demo/ From 067eeff3ddc713de7c6ff95ca19100a9fa2c392f Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Tue, 21 Jun 2016 20:43:36 +0200 Subject: [PATCH 05/26] improve verbose_preprocessor --- CMakeLists.txt | 2 +- include/nana/c++defines.hpp | 8 +++-- include/nana/deploy.hpp | 4 +-- include/nana/verbose_preprocessor.hpp | 51 +++++++++++++++++++++------ source/deploy.cpp | 3 ++ 5 files changed, 51 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89751d6d..2c30bcd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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_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_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_BUILD_DEMOS "Build all the demos form the nana_demo repository." OFF) option(NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS "" ON) diff --git a/include/nana/c++defines.hpp b/include/nana/c++defines.hpp index 2dc4c5f2..98c383c6 100644 --- a/include/nana/c++defines.hpp +++ b/include/nana/c++defines.hpp @@ -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_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 #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 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 #elif defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ < 6) @@ -141,6 +144,7 @@ #if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) ) # undef STD_FILESYSTEM_NOT_SUPPORTED + /// \todo define the namespace ???? #endif #if (__GNUC__ == 4) diff --git a/include/nana/deploy.hpp b/include/nana/deploy.hpp index 342adfe7..86bb894b 100644 --- a/include/nana/deploy.hpp +++ b/include/nana/deploy.hpp @@ -17,9 +17,7 @@ #include #include -#if defined(VERBOSE_PREPROCESSOR) - #include -#endif + #include #include diff --git a/include/nana/verbose_preprocessor.hpp b/include/nana/verbose_preprocessor.hpp index b62267f6..6a93c654 100644 --- a/include/nana/verbose_preprocessor.hpp +++ b/include/nana/verbose_preprocessor.hpp @@ -11,8 +11,8 @@ * * @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. - * Normally set to 0. Set to 1 only in case you want to debug the build system because it is extremely repetitive and slow. + * Define VERBOSE_PREPROCESSOR to show the messages or undefine for a normal build. + * Normally undefined. Define in case you want to debug the build system. * * @authors Ariel Vina-Rodriguez (qPCR4vir) * @@ -25,25 +25,55 @@ #if defined(VERBOSE_PREPROCESSOR) + #include + #include + + + #define STRING2(x) #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 ( "\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 + + #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) #error ("\nCompilation stopped to avoid annoying messages") @@ -52,5 +82,4 @@ #endif // VERBOSE_PREPROCESSOR - #endif //NANA_VERBOSE_PREPROCESSOR_H diff --git a/source/deploy.cpp b/source/deploy.cpp index 3e6dfcf7..b2f216e0 100644 --- a/source/deploy.cpp +++ b/source/deploy.cpp @@ -702,3 +702,6 @@ namespace nana } +#if defined(VERBOSE_PREPROCESSOR) +# include +#endif \ No newline at end of file From 477ea05ced91deaa2b2e1351d5819e27207f987a Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Tue, 21 Jun 2016 20:46:09 +0200 Subject: [PATCH 06/26] FIX linking with CMake - CLion - gcc 5.1 --- CMakeLists.txt | 52 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c30bcd5..e954ec10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ 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_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_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." ON) option(NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS "" ON) option(NANA_CMAKE_AUTOMATIC_GUI_TESTING "Activate automatic GUI testing?" OFF) option(NANA_CMAKE_BUILD_FreeMe "Build FreeMe (currently broken)?" OFF) @@ -87,6 +87,7 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) include_directories(SYSTEM "${Boost_INCLUDE_DIR}") list(APPEND NANA_LINKS "${Boost_LIBRARIES}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) set(Boost_USE_STATIC_LIBS ON) @@ -110,7 +111,7 @@ add_definitions(-DNANA_IGNORE_CONF) if(WIN32) add_definitions(-DWIN32) - set(BUILD_FreeMe ON) #"Build FreeMe only on Windows." + # set(BUILD_FreeMe ON) #"Build FreeMe only on Windows." #Global MSVC definitions. You may prefer the hand-tuned sln and projects from the nana repository. if(MSVC) option(WIN32_USE_MP "Set to ON to build nana with the /MP option (Visual Studio 2005 and above)." ON) @@ -132,6 +133,7 @@ if(APPLE) add_definitions(-DAPPLE) include_directories(/opt/X11/include/) list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") set(ENABLE_AUDIO OFF) elseif(UNIX) add_definitions(-Dlinux) @@ -140,10 +142,12 @@ endif(APPLE) if(UNIX) list(APPEND NANA_LINKS -lX11 ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lX11") find_package(Freetype) if (FREETYPE_FOUND) include_directories( ${FREETYPE_INCLUDE_DIRS}) - list(APPEND NANA_LINKS -lXft ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lXft") + list(APPEND NANA_LINKS -lXft ) endif(FREETYPE_FOUND) endif(UNIX) @@ -154,7 +158,8 @@ endif(UNIX) if(NANA_CMAKE_ENABLE_PNG) add_definitions(-DNANA_ENABLE_PNG) #set(NANA_PNG_LIB "png") - list(APPEND NANA_LINKS -lpng ) + list(APPEND NANA_LINKS -lpng ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpng") if(NANA_CMAKE_LIBPNG_FROM_OS) find_package(PNG) if (PNG_FOUND) @@ -168,7 +173,8 @@ endif(NANA_CMAKE_ENABLE_PNG) if(NANA_CMAKE_ENABLE_JPEG) add_definitions(-DNANA_ENABLE_JPEG) #set(NANA_JPEG_LIB "jpeg") - list(APPEND NANA_LINKS -ljpeg ) + list(APPEND NANA_LINKS -ljpeg ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ljpeg") if(NANA_CMAKE_LIBJPEG_FROM_OS) find_package(JPEG) if (JPEG_FOUND) @@ -184,7 +190,8 @@ if(NANA_CMAKE_ENABLE_AUDIO) find_package(ASOUND) if (ASOUND_FOUND) include_directories( ${ASOUND_INCLUDE_DIRS}) - list(APPEND NANA_LINKS -lasound ) + list(APPEND NANA_LINKS -lasound ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lasound") else(ASOUND_FOUND) message(FATAL_ERROR "libasound is not found") endif(ASOUND_FOUND) @@ -228,7 +235,7 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) +target_link_libraries(${PROJECT_NAME} ) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) @@ -260,7 +267,7 @@ if (NANA_CMAKE_BUILD_DEMOS) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} #if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) #add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) #add_custom_target(do_always_${demo} ALL COMMAND ${demo}) @@ -272,19 +279,19 @@ if (NANA_CMAKE_BUILD_DEMOS) set (demos widget_show widget_show2 ) -if (NANA_CMAKE_BUILD_FreeMe) - add_definitions(-DBUILD_FreeMe) -endif (NANA_CMAKE_BUILD_FreeMe) +#if (NANA_CMAKE_BUILD_FreeMe) + # add_definitions(-DBUILD_FreeMe) +#endif (NANA_CMAKE_BUILD_FreeMe) - if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) - list(APPEND demos FreeMe) # ?? - endif (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) + # if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) + # list(APPEND demos ) # ?? FreeMe + # endif (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) # Pending: FreeMe (added but really completelly compiled if defined BUILD_FreeMe ) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/") message("... to build: ../nana-demo/${demo}.cpp" ) endforeach( demo ${demos}) @@ -302,7 +309,7 @@ endif (NANA_CMAKE_BUILD_FreeMe) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/Examples/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/Examples/") message("... to build: ../nana-demo/Examples/${demo}.cpp" ) endforeach( demo ${demos}) @@ -322,18 +329,21 @@ endif (NANA_CMAKE_BUILD_DEMOS) # set compile flags if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") # Clang else("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -lstdc++fs -Wall") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") # IS_GNUCXX < 5.3 + else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -lstdc++fs -Wall") # IS_GNUCXX 5.3 or more + endif() endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # enable static linkage if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) - #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") - + #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") endif () if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") From 264396d008f1c4885f70b82fbfbd2b70cc82b60b Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Tue, 21 Jun 2016 20:50:25 +0200 Subject: [PATCH 07/26] NANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF in travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cb0d55a0..71fe6094 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,7 @@ before_script : - cd bin script: - - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=ON -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON + - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON - make - cd .. - mv -v bin/ nana-demo/ From 4e536eeff956a5501625984f46d229e287d317b2 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 21 Jun 2016 23:24:52 +0200 Subject: [PATCH 08/26] fixing linking --- CMakeLists.txt | 92 ++++++++++++++++++++++++++++---------------------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e954ec10..e71c33c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,9 +85,10 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) find_package(Boost COMPONENTS filesystem) if (Boost_FOUND) add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) - include_directories(SYSTEM "${Boost_INCLUDE_DIR}") - list(APPEND NANA_LINKS "${Boost_LIBRARIES}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") + include_directories(SYSTEM "${Boost_INCLUDE_DIR}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") + #list(APPEND NANA_LINKS "${Boost_LIBRARIES}") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) set(Boost_USE_STATIC_LIBS ON) @@ -132,8 +133,9 @@ endif(WIN32) if(APPLE) add_definitions(-DAPPLE) include_directories(/opt/X11/include/) - list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") + #list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -liconv") set(ENABLE_AUDIO OFF) elseif(UNIX) add_definitions(-Dlinux) @@ -142,12 +144,14 @@ endif(APPLE) if(UNIX) list(APPEND NANA_LINKS -lX11 ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lX11") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lX11") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11") find_package(Freetype) if (FREETYPE_FOUND) include_directories( ${FREETYPE_INCLUDE_DIRS}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lXft") - list(APPEND NANA_LINKS -lXft ) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lXft") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lXft") + #list(APPEND NANA_LINKS -lXft ) endif(FREETYPE_FOUND) endif(UNIX) @@ -158,8 +162,9 @@ endif(UNIX) if(NANA_CMAKE_ENABLE_PNG) add_definitions(-DNANA_ENABLE_PNG) #set(NANA_PNG_LIB "png") - list(APPEND NANA_LINKS -lpng ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpng") + #list(APPEND NANA_LINKS -lpng ) + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpng") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpng") if(NANA_CMAKE_LIBPNG_FROM_OS) find_package(PNG) if (PNG_FOUND) @@ -173,8 +178,9 @@ endif(NANA_CMAKE_ENABLE_PNG) if(NANA_CMAKE_ENABLE_JPEG) add_definitions(-DNANA_ENABLE_JPEG) #set(NANA_JPEG_LIB "jpeg") - list(APPEND NANA_LINKS -ljpeg ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ljpeg") + # list(APPEND NANA_LINKS -ljpeg ) + # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ljpeg") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljpeg") if(NANA_CMAKE_LIBJPEG_FROM_OS) find_package(JPEG) if (JPEG_FOUND) @@ -190,8 +196,9 @@ if(NANA_CMAKE_ENABLE_AUDIO) find_package(ASOUND) if (ASOUND_FOUND) include_directories( ${ASOUND_INCLUDE_DIRS}) - list(APPEND NANA_LINKS -lasound ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lasound") + # list(APPEND NANA_LINKS -lasound ) + # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lasound") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasound") else(ASOUND_FOUND) message(FATAL_ERROR "libasound is not found") endif(ASOUND_FOUND) @@ -229,16 +236,16 @@ endif() #and Use SOURCE_GROUP if all your sources are in the same directory foreach(subdir ${NANA_SOURCE_SUBDIRS}) aux_source_directory(${NANA_SOURCE_DIR}${subdir} sources) - message("Subir: ${subdir}") - message("Files: ${sources}") + # message("Subir: ${subdir}") + # message("Files: ${sources}") endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME} ) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} +target_link_libraries(${PROJECT_NAME} ) # ${NANA_LINKS} or ${ } - # Headers: use INCLUDE_DIRECTORIES - # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) + # Headers: use INCLUDE_DIRECTORIES + # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) install(TARGETS ${PROJECT_NAME} @@ -267,7 +274,7 @@ if (NANA_CMAKE_BUILD_DEMOS) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_EXE_LINKER_FLAGS} #if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) #add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) #add_custom_target(do_always_${demo} ALL COMMAND ${demo}) @@ -279,9 +286,9 @@ if (NANA_CMAKE_BUILD_DEMOS) set (demos widget_show widget_show2 ) -#if (NANA_CMAKE_BUILD_FreeMe) - # add_definitions(-DBUILD_FreeMe) -#endif (NANA_CMAKE_BUILD_FreeMe) + #if (NANA_CMAKE_BUILD_FreeMe) + # add_definitions(-DBUILD_FreeMe) + #endif (NANA_CMAKE_BUILD_FreeMe) # if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) # list(APPEND demos ) # ?? FreeMe @@ -291,7 +298,7 @@ if (NANA_CMAKE_BUILD_DEMOS) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_EXE_LINKER_FLAGS} install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/") message("... to build: ../nana-demo/${demo}.cpp" ) endforeach( demo ${demos}) @@ -309,7 +316,7 @@ if (NANA_CMAKE_BUILD_DEMOS) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/Examples/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) - target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_CXX_FLAGS} + target_link_libraries(${demo} ${PROJECT_NAME}) # ${NANA_LINKS} or ${CMAKE_EXE_LINKER_FLAGS} install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/Examples/") message("... to build: ../nana-demo/Examples/${demo}.cpp" ) endforeach( demo ${demos}) @@ -327,37 +334,42 @@ endif (NANA_CMAKE_BUILD_DEMOS) # see at end of: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html # set compile flags -if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") # Clang - else("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") # IS_GNUCXX < 5.3 - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -lstdc++fs -Wall") # IS_GNUCXX 5.3 or more - endif() - endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # Clang || GNU + + if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") # Clang + + else ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") # GNU + + endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # enable static linkage -if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) +if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) # GNU || CLang not MinGW #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -pthread") + + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + # IS_GNUCXX < 5.3 + else() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs") # IS_GNUCXX 5.3 or more + endif() endif () -if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") +if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # APPLE Clang set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") endif () message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) message ( "COMPILER_IS_CLANG = " ${COMPILER_IS_CLANG}) -message ( "CMAKE_CXX_FLAGS = " ${CMAKE_CXX_FLAGS}) message ( "CMAKE_COMPILER_IS_GNUCXX= " ${CMAKE_COMPILER_IS_GNUCXX}) +message ( "CMAKE_CXX_FLAGS = " ${CMAKE_CXX_FLAGS}) message ( "CMAKE_EXE_LINKER_FLAGS = " ${CMAKE_EXE_LINKER_FLAGS}) +message ( "NANA_LINKS = " ${NANA_LINKS}) message ( "DESTDIR = " ${DESTDIR}) message ( "CMAKE_INSTALL_PREFIX = " ${CMAKE_INSTALL_PREFIX}) -message ( "NANA_LINKS = " ${NANA_LINKS}) message ( "NANA_CMAKE_ENABLE_AUDIO = " ${NANA_CMAKE_ENABLE_AUDIO}) message ( "NANA_CMAKE_FIND_BOOST_FILESYSTEM = " ${NANA_CMAKE_FIND_BOOST_FILESYSTEM}) message ( "NANA_CMAKE_BOOST_FILESYSTEM_FORCE = " ${NANA_CMAKE_BOOST_FILESYSTEM_FORCE}) From 7c44842350edd3e775c4764b4efa76180acb90dd Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 00:56:53 +0200 Subject: [PATCH 09/26] forgot ${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e71c33c4..e12f9d12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,7 +135,7 @@ if(APPLE) include_directories(/opt/X11/include/) #list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -liconv") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ -liconv") set(ENABLE_AUDIO OFF) elseif(UNIX) add_definitions(-Dlinux) From 179750630c9d3f9a78c323ac2481ae37ddd824f4 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 15:48:56 +0200 Subject: [PATCH 10/26] CMAKE_STATIC_LINKER_FLAGS ? --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e12f9d12..5a4590c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -362,11 +362,15 @@ if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # A set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") endif () +set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") + + message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) message ( "COMPILER_IS_CLANG = " ${COMPILER_IS_CLANG}) message ( "CMAKE_COMPILER_IS_GNUCXX= " ${CMAKE_COMPILER_IS_GNUCXX}) message ( "CMAKE_CXX_FLAGS = " ${CMAKE_CXX_FLAGS}) message ( "CMAKE_EXE_LINKER_FLAGS = " ${CMAKE_EXE_LINKER_FLAGS}) +message ( "CMAKE_STATIC_LINKER_FLAGS= " ${CMAKE_STATIC_LINKER_FLAGS}) message ( "NANA_LINKS = " ${NANA_LINKS}) message ( "DESTDIR = " ${DESTDIR}) message ( "CMAKE_INSTALL_PREFIX = " ${CMAKE_INSTALL_PREFIX}) From fe90da19a2a9e041e1af801fb5f26b4e38aed4bb Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 16:04:14 +0200 Subject: [PATCH 11/26] CMAKE_STATIC_LINKER_FLAGS append? --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a4590c9..a5314e18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -362,7 +362,7 @@ if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # A set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") endif () -set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) From f22cb91557830a47c318b4b3d2e0de9aa16e62db Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 16:44:50 +0200 Subject: [PATCH 12/26] return to using NANA_LINKS only --- CMakeLists.txt | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a5314e18..d05ed3c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,11 +84,11 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) # If using Boost::thread, then Thread::Thread will also be added automatically. find_package(Boost COMPONENTS filesystem) if (Boost_FOUND) - add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) - include_directories(SYSTEM "${Boost_INCLUDE_DIR}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") - #list(APPEND NANA_LINKS "${Boost_LIBRARIES}") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") + add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) + include_directories(SYSTEM "${Boost_INCLUDE_DIR}") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") + list(APPEND NANA_LINKS "${Boost_LIBRARIES}") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) set(Boost_USE_STATIC_LIBS ON) @@ -133,9 +133,9 @@ endif(WIN32) if(APPLE) add_definitions(-DAPPLE) include_directories(/opt/X11/include/) - #list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) + list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ -liconv") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ -liconv") set(ENABLE_AUDIO OFF) elseif(UNIX) add_definitions(-Dlinux) @@ -145,13 +145,13 @@ endif(APPLE) if(UNIX) list(APPEND NANA_LINKS -lX11 ) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lX11") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11") find_package(Freetype) if (FREETYPE_FOUND) include_directories( ${FREETYPE_INCLUDE_DIRS}) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lXft") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lXft") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lXft") - #list(APPEND NANA_LINKS -lXft ) + list(APPEND NANA_LINKS -lXft ) endif(FREETYPE_FOUND) endif(UNIX) @@ -162,9 +162,9 @@ endif(UNIX) if(NANA_CMAKE_ENABLE_PNG) add_definitions(-DNANA_ENABLE_PNG) #set(NANA_PNG_LIB "png") - #list(APPEND NANA_LINKS -lpng ) + list(APPEND NANA_LINKS -lpng ) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpng") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpng") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpng") if(NANA_CMAKE_LIBPNG_FROM_OS) find_package(PNG) if (PNG_FOUND) @@ -178,9 +178,9 @@ endif(NANA_CMAKE_ENABLE_PNG) if(NANA_CMAKE_ENABLE_JPEG) add_definitions(-DNANA_ENABLE_JPEG) #set(NANA_JPEG_LIB "jpeg") - # list(APPEND NANA_LINKS -ljpeg ) + list(APPEND NANA_LINKS -ljpeg ) # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ljpeg") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljpeg") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljpeg") if(NANA_CMAKE_LIBJPEG_FROM_OS) find_package(JPEG) if (JPEG_FOUND) @@ -196,9 +196,9 @@ if(NANA_CMAKE_ENABLE_AUDIO) find_package(ASOUND) if (ASOUND_FOUND) include_directories( ${ASOUND_INCLUDE_DIRS}) - # list(APPEND NANA_LINKS -lasound ) + list(APPEND NANA_LINKS -lasound ) # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lasound") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasound") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasound") else(ASOUND_FOUND) message(FATAL_ERROR "libasound is not found") endif(ASOUND_FOUND) @@ -232,8 +232,8 @@ if(NANA_CMAKE_ENABLE_AUDIO) endif() # collect all source files in the source-sub-dir -#To show .h files in Visual Studio, add them to the list of sources in add_executable / add_library -#and Use SOURCE_GROUP if all your sources are in the same directory +#To show .h files in Visual Studio, add them to the list of sources in add_executable / add_library +#and Use SOURCE_GROUP if all your sources are in the same directory foreach(subdir ${NANA_SOURCE_SUBDIRS}) aux_source_directory(${NANA_SOURCE_DIR}${subdir} sources) # message("Subir: ${subdir}") @@ -242,7 +242,7 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME} ) # ${NANA_LINKS} or ${ } +target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) # ${NANA_LINKS} or ${ } # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) @@ -349,14 +349,16 @@ endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # enable static linkage if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) # GNU || CLang not MinGW #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -pthread") + set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) # IS_GNUCXX < 5.3 - else() - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs") # IS_GNUCXX 5.3 or more - endif() -endif () + else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + set(CMAKE_EXE_LINKER_FLAGS " -lstdc++fs ${CMAKE_EXE_LINKER_FLAGS}") # IS_GNUCXX 5.3 or more + endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + +endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) + if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # APPLE Clang set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") From f59dfb99497d558931321d26e9c281377617b867 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 17:52:16 +0200 Subject: [PATCH 13/26] # set (CMAKE_STATIC_LINKER_FLAGS --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d05ed3c2..d5a448aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -364,7 +364,7 @@ if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # A set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") endif () -set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") +# set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) From dfdf122ee2077cc7d200e55371606da1ba3bf5fa Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 18:10:35 +0200 Subject: [PATCH 14/26] NANA_LINKS " -lstdc++fs --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d5a448aa..79ffc023 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -355,6 +355,7 @@ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND N # IS_GNUCXX < 5.3 else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) set(CMAKE_EXE_LINKER_FLAGS " -lstdc++fs ${CMAKE_EXE_LINKER_FLAGS}") # IS_GNUCXX 5.3 or more + set(NANA_LINKS " -lstdc++fs ${NANA_LINKS}") endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) From 250b73b8d45e50016e826eb7402cf2ba8a74625a Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Wed, 22 Jun 2016 20:45:49 +0200 Subject: [PATCH 15/26] NANA_USING_NANA_FILESYSTEM for verbose pp #define NANA_USING_NANA_FILESYSTEM false #define NANA_USING_STD_FILESYSTEM false #define NANA_USING_BOOST_FILESYSTEM false --- include/nana/filesystem/filesystem_selector.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/nana/filesystem/filesystem_selector.hpp b/include/nana/filesystem/filesystem_selector.hpp index b0d3ae3a..5a8eac29 100644 --- a/include/nana/filesystem/filesystem_selector.hpp +++ b/include/nana/filesystem/filesystem_selector.hpp @@ -29,6 +29,10 @@ #include +#define NANA_USING_NANA_FILESYSTEM false +#define NANA_USING_STD_FILESYSTEM false +#define NANA_USING_BOOST_FILESYSTEM false + #if (defined(NANA_FILESYSTEM_FORCE) || ( (defined(STD_FILESYSTEM_NOT_SUPPORTED) && !defined(BOOST_FILESYSTEM_AVAILABLE)) && !(defined(BOOST_FILESYSTEM_FORCE) || defined(STD_FILESYSTEM_FORCE)) ) ) # include @@ -42,7 +46,7 @@ namespace std { # else using namespace nana::experimental::filesystem::v1; # endif - +#define NANA_USING_NANA_FILESYSTEM true } // filesystem } // experimental } // std @@ -56,12 +60,14 @@ namespace std { namespace experimental { namespace filesystem { using namespace boost::filesystem; +#define NANA_USING_BOOST_FILESYSTEM true } // filesystem } // experimental } // std #else # include +#define NANA_USING_STD_FILESYSTEM true #endif #ifndef __cpp_lib_experimental_filesystem From d0889784503ad1a47abbd9a8447fac617a56ea8a Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 09:19:56 +0200 Subject: [PATCH 16/26] more verbose pp macros --- include/nana/verbose_preprocessor.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/include/nana/verbose_preprocessor.hpp b/include/nana/verbose_preprocessor.hpp index 6a93c654..b19278b1 100644 --- a/include/nana/verbose_preprocessor.hpp +++ b/include/nana/verbose_preprocessor.hpp @@ -32,6 +32,8 @@ #define STRING2(x) #x #define STRING(x) STRING2(x) + #define SHOW_VALUE(x) "\n x=" STRING2(x) + #pragma message ( "\n ---> SVerbose preprocessor \nVERBOSE_PREPROCESSOR=" STRING(VERBOSE_PREPROCESSOR)" , \n STOP_VERBOSE_PREPROCESSOR=" STRING(STOP_VERBOSE_PREPROCESSOR) ) #pragma message ( "\n ---> OS: \nWindows: \n _WIN32=" STRING(_WIN32) ", \n __WIN32__ =" STRING(__WIN32__) " , \n WIN32=" STRING(WIN32)" , \n NANA_WINDOWS=" STRING(NANA_WINDOWS) ) @@ -58,6 +60,8 @@ #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 NANA_USING_NANA_FILESYSTEM=" STRING(NANA_USING_NANA_FILESYSTEM) ", \n NANA_USING_STD_FILESYSTEM=" STRING(NANA_USING_STD_FILESYSTEM)" , \n NANA_USING_BOOST_FILESYSTEM=" STRING(NANA_USING_BOOST_FILESYSTEM) ) + #include #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)) @@ -66,7 +70,12 @@ #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 ( "\n NANA_USING_NANA_FILESYSTEM=" STRING(NANA_USING_NANA_FILESYSTEM) ", \n NANA_USING_STD_FILESYSTEM=" STRING(NANA_USING_STD_FILESYSTEM)" , \n NANA_USING_BOOST_FILESYSTEM=" STRING(NANA_USING_BOOST_FILESYSTEM) ) + + // #pragma message ( "\n =" STRING() ", \n =" STRING()" , \n =" STRING() ) + + #pragma message ( "\n Show value: =>\n " SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) ) + #pragma message ( "\nUNICODE: \n NANA_UNICODE=" STRING(NANA_UNICODE) ", \n _UNICODE =" STRING(_UNICODE) " , \n UNICODE=" STRING(UNICODE) ) From d26eed8a78b4a6a2241dbcc246bd91894670535a Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 14:10:11 +0200 Subject: [PATCH 17/26] improve verbose pp --- include/nana/config.hpp | 2 +- .../nana/filesystem/filesystem_selector.hpp | 6 +- include/nana/verbose_preprocessor.hpp | 110 ++++++++++++------ 3 files changed, 81 insertions(+), 37 deletions(-) diff --git a/include/nana/config.hpp b/include/nana/config.hpp index ae11279d..084bc1e0 100644 --- a/include/nana/config.hpp +++ b/include/nana/config.hpp @@ -109,7 +109,7 @@ #endif #if !defined(STOP_VERBOSE_PREPROCESSOR) -#define STOP_VERBOSE_PREPROCESSOR +//#define STOP_VERBOSE_PREPROCESSOR #endif #endif // NANA_IGNORE_CONFIG diff --git a/include/nana/filesystem/filesystem_selector.hpp b/include/nana/filesystem/filesystem_selector.hpp index 5a8eac29..338c1a6f 100644 --- a/include/nana/filesystem/filesystem_selector.hpp +++ b/include/nana/filesystem/filesystem_selector.hpp @@ -46,8 +46,8 @@ namespace std { # else using namespace nana::experimental::filesystem::v1; # endif -#define NANA_USING_NANA_FILESYSTEM true - } // filesystem +#undef NANA_USING_NANA_FILESYSTEM +#define NANA_USING_NANA_FILESYSTEM true } // filesystem } // experimental } // std @@ -60,6 +60,7 @@ namespace std { namespace experimental { namespace filesystem { using namespace boost::filesystem; +#undef NANA_USING_BOOST_FILESYSTEM #define NANA_USING_BOOST_FILESYSTEM true } // filesystem } // experimental @@ -67,6 +68,7 @@ namespace std { #else # include +#undef NANA_USING_STD_FILESYSTEM #define NANA_USING_STD_FILESYSTEM true #endif diff --git a/include/nana/verbose_preprocessor.hpp b/include/nana/verbose_preprocessor.hpp index b19278b1..56c5f328 100644 --- a/include/nana/verbose_preprocessor.hpp +++ b/include/nana/verbose_preprocessor.hpp @@ -32,57 +32,99 @@ #define STRING2(x) #x #define STRING(x) STRING2(x) - #define SHOW_VALUE(x) "\n x=" STRING2(x) + #define SHOW_VALUE(x) " " #x " = " STRING2(x) - #pragma message ( "\n ---> SVerbose preprocessor \nVERBOSE_PREPROCESSOR=" STRING(VERBOSE_PREPROCESSOR)" , \n STOP_VERBOSE_PREPROCESSOR=" STRING(STOP_VERBOSE_PREPROCESSOR) ) + #pragma message ( "\n -----> Verbose preprocessor" ) + #pragma message ( SHOW_VALUE(VERBOSE_PREPROCESSOR) ) + #pragma message ( SHOW_VALUE(STOP_VERBOSE_PREPROCESSOR) ) - #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 ( "\n -----> OS: \n --Windows: " ) + #pragma message ( SHOW_VALUE(_WIN32) ) + #pragma message ( SHOW_VALUE(__WIN32__) ) + #pragma message ( SHOW_VALUE(WIN32) ) + #pragma message ( SHOW_VALUE(NANA_WINDOWS) ) - #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 ( "\n ---NIX: " ) + #pragma message ( SHOW_VALUE(NANA_LINUX) ) + #pragma message ( SHOW_VALUE(NANA_POSIX) ) + #pragma message ( SHOW_VALUE(NANA_X11) ) + #pragma message ( SHOW_VALUE(APPLE) ) + #pragma message ( SHOW_VALUE(NANA_IGNORE_CONF) ) - #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 ( "\n -----> Compilers: \n MinGW: " ) + #pragma message ( SHOW_VALUE(__MINGW32__) ) + #pragma message ( SHOW_VALUE(__MINGW64__) ) + #pragma message ( SHOW_VALUE(MINGW) ) - #pragma message ( "\nGNU: \n __GNUC__=" STRING(__GNUC__) ", \n __GNUC_MINOR__=" STRING(__GNUC_MINOR__) " , \n __GNUC_PATCHLEVEL__=" STRING(__GNUC_PATCHLEVEL__) ) + #pragma message ( "\n ---MSC: " ) + #pragma message ( SHOW_VALUE(_MSC_VER) ) + #pragma message ( SHOW_VALUE(_MSC_FULL_VER) ) - #pragma message ( "\nClang compiler: \n __clang__=" STRING(__clang__) ", \n __GLIBCPP__=" STRING(__GLIBCPP__) " , \n __GLIBCXX__=" STRING(__GLIBCXX__) ) + #pragma message ( "\n ---GNU: " ) + #pragma message ( SHOW_VALUE(__GNUC__) ) + #pragma message ( SHOW_VALUE(__GNUC_MINOR__) ) + #pragma message ( SHOW_VALUE(__GNUC_PATCHLEVEL__) ) - #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 ( "\n ---Clang compiler: " ) + #pragma message ( SHOW_VALUE(__clang__) ) + #pragma message ( SHOW_VALUE(__GLIBCPP__) ) + #pragma message ( SHOW_VALUE(__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 -----> STD: " ) + #pragma message ( SHOW_VALUE(STD_CODECVT_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_THREAD_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_TO_STRING_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_TO_WSTRING_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(USE_github_com_meganz_mingw_std_threads) ) + #pragma message ( SHOW_VALUE(NANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ) ) + #pragma message ( SHOW_VALUE(STD_THREAD_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_put_time_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_MAKE_UNIQUE_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) ) - - #pragma message ( "\n NANA_USING_NANA_FILESYSTEM=" STRING(NANA_USING_NANA_FILESYSTEM) ", \n NANA_USING_STD_FILESYSTEM=" STRING(NANA_USING_STD_FILESYSTEM)" , \n NANA_USING_BOOST_FILESYSTEM=" STRING(NANA_USING_BOOST_FILESYSTEM) ) + #pragma message ( SHOW_VALUE(STD_FILESYSTEM_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_AVAILABLE) ) + #pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(STD_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(NANA_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(CXX_NO_INLINE_NAMESPACE) ) + //#pragma message ( SHOW_VALUE(__has_include) ) + #pragma message ( SHOW_VALUE(__cpp_lib_experimental_filesystem) ) + #pragma message ( SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) ) + #pragma message ( SHOW_VALUE(NANA_USING_STD_FILESYSTEM) ) + #pragma message ( SHOW_VALUE(NANA_USING_BOOST_FILESYSTEM) ) + #pragma message ( "\n#include " ) #include - #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 ( SHOW_VALUE(STD_MAKE_UNIQUE_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(STD_FILESYSTEM_NOT_SUPPORTED) ) + #pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_AVAILABLE) ) + #pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(STD_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(NANA_FILESYSTEM_FORCE) ) + #pragma message ( SHOW_VALUE(CXX_NO_INLINE_NAMESPACE) ) + //#pragma message ( SHOW_VALUE(__has_include) ) + #pragma message ( SHOW_VALUE(__cpp_lib_experimental_filesystem) ) + #pragma message ( SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) ) + #pragma message ( SHOW_VALUE(NANA_USING_STD_FILESYSTEM) ) + #pragma message ( SHOW_VALUE(NANA_USING_BOOST_FILESYSTEM) ) - #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 ( SHOW_VALUE(NANA_UNICODE) ) + #pragma message ( SHOW_VALUE(_UNICODE) ) + #pragma message ( SHOW_VALUE(UNICODE) ) - #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 NANA_USING_NANA_FILESYSTEM=" STRING(NANA_USING_NANA_FILESYSTEM) ", \n NANA_USING_STD_FILESYSTEM=" STRING(NANA_USING_STD_FILESYSTEM)" , \n NANA_USING_BOOST_FILESYSTEM=" STRING(NANA_USING_BOOST_FILESYSTEM) ) + #pragma message ( "\n -----> Libraries: " ) + #pragma message ( SHOW_VALUE(NANA_ENABLE_AUDIO) ) + #pragma message ( SHOW_VALUE(NANA_ENABLE_PNG) ) + #pragma message ( SHOW_VALUE(USE_LIBPNG_FROM_OS) ) + #pragma message ( SHOW_VALUE(NANA_LIBPNG) ) + #pragma message ( SHOW_VALUE(NANA_ENABLE_JPEG) ) + #pragma message ( SHOW_VALUE(USE_LIBJPEG_FROM_OS) ) + #pragma message ( SHOW_VALUE(NANA_LIBJPEG) ) // #pragma message ( "\n =" STRING() ", \n =" STRING()" , \n =" STRING() ) - - #pragma message ( "\n Show value: =>\n " SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) ) - - - #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) ) - #if defined(STOP_VERBOSE_PREPROCESSOR) #error ("\nCompilation stopped to avoid annoying messages") From 747b301b328396e50939191fe69c965ed698deb9 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 14:29:27 +0200 Subject: [PATCH 18/26] typo --- include/nana/filesystem/filesystem_selector.hpp | 3 ++- include/nana/verbose_preprocessor.hpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/nana/filesystem/filesystem_selector.hpp b/include/nana/filesystem/filesystem_selector.hpp index 338c1a6f..6d46444d 100644 --- a/include/nana/filesystem/filesystem_selector.hpp +++ b/include/nana/filesystem/filesystem_selector.hpp @@ -47,7 +47,8 @@ namespace std { using namespace nana::experimental::filesystem::v1; # endif #undef NANA_USING_NANA_FILESYSTEM -#define NANA_USING_NANA_FILESYSTEM true } // filesystem +#define NANA_USING_NANA_FILESYSTEM true + } // filesystem } // experimental } // std diff --git a/include/nana/verbose_preprocessor.hpp b/include/nana/verbose_preprocessor.hpp index 56c5f328..aa0cf104 100644 --- a/include/nana/verbose_preprocessor.hpp +++ b/include/nana/verbose_preprocessor.hpp @@ -123,6 +123,7 @@ #pragma message ( SHOW_VALUE(NANA_ENABLE_JPEG) ) #pragma message ( SHOW_VALUE(USE_LIBJPEG_FROM_OS) ) #pragma message ( SHOW_VALUE(NANA_LIBJPEG) ) + // #pragma message ( "\n =" STRING() ", \n =" STRING()" , \n =" STRING() ) From 972ecc97ac030e917d4309f4ffe0f52609687d96 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 14:36:24 +0200 Subject: [PATCH 19/26] improve NANA_LINKS ? --- CMakeLists.txt | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 79ffc023..135e4dc2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,8 +26,6 @@ project(nana) cmake_minimum_required(VERSION 2.8) -set(NANA_LINKS) - option(NANA_CMAKE_INSTALL_INCLUDES "Install nana includes when compile the library" ON) option(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ "replaced boost.thread with meganz's mingw-std-threads." OFF) option(NANA_CMAKE_ENABLE_PNG "Enable the use of PNG" OFF) @@ -63,7 +61,7 @@ option(NANA_CMAKE_BOOST_FILESYSTEM_FORCE "Force use of Boost filesystem if avail #option(NANA_CMAKE_BOOST_FILESYSTEM_INCLUDE_ROOT "Where to find ?" "../") #option(NANA_CMAKE_BOOST_FILESYSTEM_LIB "Flag for the compiler to link: " "-lboost/fs") #include_directories("${NANA_CMAKE_BOOST_FILESYSTEM_INCLUDE_ROOT}") -#list(APPEND NANA_LINKS "${NANA_CMAKE_BOOST_FILESYSTEM_LIB}" ) +#set(NANA_LINKS "${NANA_LINKS} ${NANA_CMAKE_BOOST_FILESYSTEM_LIB}") if (NANA_CMAKE_NANA_FILESYSTEM_FORCE) @@ -84,11 +82,11 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) # If using Boost::thread, then Thread::Thread will also be added automatically. find_package(Boost COMPONENTS filesystem) if (Boost_FOUND) - add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) + add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) include_directories(SYSTEM "${Boost_INCLUDE_DIR}") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") - list(APPEND NANA_LINKS "${Boost_LIBRARIES}") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") + set(NANA_LINKS "${NANA_LINKS} ${Boost_LIBRARIES}") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) set(Boost_USE_STATIC_LIBS ON) @@ -133,7 +131,7 @@ endif(WIN32) if(APPLE) add_definitions(-DAPPLE) include_directories(/opt/X11/include/) - list(APPEND NANA_LINKS -L/opt/X11/lib/ -liconv) + set(NANA_LINKS "${NANA_LINKS} -L/opt/X11/lib/ -liconv") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ -liconv") set(ENABLE_AUDIO OFF) @@ -143,7 +141,7 @@ elseif(UNIX) endif(APPLE) if(UNIX) - list(APPEND NANA_LINKS -lX11 ) + set(NANA_LINKS "${NANA_LINKS} -lX11") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lX11") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lX11") find_package(Freetype) @@ -151,7 +149,7 @@ if(UNIX) include_directories( ${FREETYPE_INCLUDE_DIRS}) #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lXft") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lXft") - list(APPEND NANA_LINKS -lXft ) + set(NANA_LINKS "${NANA_LINKS} -lXft") endif(FREETYPE_FOUND) endif(UNIX) @@ -162,7 +160,7 @@ endif(UNIX) if(NANA_CMAKE_ENABLE_PNG) add_definitions(-DNANA_ENABLE_PNG) #set(NANA_PNG_LIB "png") - list(APPEND NANA_LINKS -lpng ) + set(NANA_LINKS "${NANA_LINKS} -lpng") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpng") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpng") if(NANA_CMAKE_LIBPNG_FROM_OS) @@ -178,7 +176,7 @@ endif(NANA_CMAKE_ENABLE_PNG) if(NANA_CMAKE_ENABLE_JPEG) add_definitions(-DNANA_ENABLE_JPEG) #set(NANA_JPEG_LIB "jpeg") - list(APPEND NANA_LINKS -ljpeg ) + set(NANA_LINKS "${NANA_LINKS} -ljpeg") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ljpeg") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljpeg") if(NANA_CMAKE_LIBJPEG_FROM_OS) @@ -196,7 +194,7 @@ if(NANA_CMAKE_ENABLE_AUDIO) find_package(ASOUND) if (ASOUND_FOUND) include_directories( ${ASOUND_INCLUDE_DIRS}) - list(APPEND NANA_LINKS -lasound ) + set(NANA_LINKS "${NANA_LINKS} -lasound") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lasound") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasound") else(ASOUND_FOUND) @@ -242,7 +240,7 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) # ${NANA_LINKS} or ${ } +target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) @@ -354,8 +352,8 @@ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND N if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) # IS_GNUCXX < 5.3 else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - set(CMAKE_EXE_LINKER_FLAGS " -lstdc++fs ${CMAKE_EXE_LINKER_FLAGS}") # IS_GNUCXX 5.3 or more - set(NANA_LINKS " -lstdc++fs ${NANA_LINKS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs ") # IS_GNUCXX 5.3 or more + set(NANA_LINKS "${NANA_LINKS} -lstdc++fs ") endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) From 9a85b5315a4aaa93fd9b7ff4f8f67c889c82f754 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 14:44:15 +0200 Subject: [PATCH 20/26] trailing space is an error --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 135e4dc2..8dcb0ee4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -352,8 +352,8 @@ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND N if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) # IS_GNUCXX < 5.3 else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs ") # IS_GNUCXX 5.3 or more - set(NANA_LINKS "${NANA_LINKS} -lstdc++fs ") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs") # IS_GNUCXX 5.3 or more + set(NANA_LINKS "${NANA_LINKS} -lstdc++fs") endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) From 8fed40f33477465305d5b233cfe8165fc9ccafb6 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 14:52:53 +0200 Subject: [PATCH 21/26] leding space is an error --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8dcb0ee4..b9b0d190 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,7 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) include_directories(SYSTEM "${Boost_INCLUDE_DIR}") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") - set(NANA_LINKS "${NANA_LINKS} ${Boost_LIBRARIES}") + set(NANA_LINKS "${Boost_LIBRARIES}") ###### FIRST !!!!!!!!!!!!!!!!! add ${NANA_LINKS} is not first #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) @@ -131,7 +131,7 @@ endif(WIN32) if(APPLE) add_definitions(-DAPPLE) include_directories(/opt/X11/include/) - set(NANA_LINKS "${NANA_LINKS} -L/opt/X11/lib/ -liconv") + set(NANA_LINKS "${NANA_LINKS} -L/opt/X11/lib/ -liconv") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -liconv") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/X11/lib/ -liconv") set(ENABLE_AUDIO OFF) From 599e84e73ad4b7d0dde2d90167cf1779c240c473 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 15:00:12 +0200 Subject: [PATCH 22/26] NANA_CMAKE_FIND_BOOST_FILESYSTEM=OFF --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 71fe6094..fff0412b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,7 @@ before_script : - cd bin script: - - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON + - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=OFF -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON - make - cd .. - mv -v bin/ nana-demo/ From e918fa604e72c3c667c0ea34923ed3cd760a4351 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 15:05:22 +0200 Subject: [PATCH 23/26] leading space ? --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9b0d190..97d8677b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,7 @@ elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) include_directories(SYSTEM "${Boost_INCLUDE_DIR}") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") - set(NANA_LINKS "${Boost_LIBRARIES}") ###### FIRST !!!!!!!!!!!!!!!!! add ${NANA_LINKS} is not first + set(NANA_LINKS "${NANA_LINKS} ${Boost_LIBRARIES}") ###### FIRST !!!!!!!!!!!!!!!!! add is not first #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") endif (Boost_FOUND) @@ -240,7 +240,7 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) +target_link_libraries(${PROJECT_NAME}${NANA_LINKS}) # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) From 1626e8193be28dc5bbfb8d96810915067b010993 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 15:43:09 +0200 Subject: [PATCH 24/26] reorganize --- CMakeLists.txt | 154 +++++++++++++++++++++++++------------------------ 1 file changed, 80 insertions(+), 74 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 97d8677b..ab8970c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,37 +64,6 @@ option(NANA_CMAKE_BOOST_FILESYSTEM_FORCE "Force use of Boost filesystem if avail #set(NANA_LINKS "${NANA_LINKS} ${NANA_CMAKE_BOOST_FILESYSTEM_LIB}") -if (NANA_CMAKE_NANA_FILESYSTEM_FORCE) - add_definitions(-DNANA_FILESYSTEM_FORCE) - -elseif (NANA_CMAKE_STD_FILESYSTEM_FORCE) - add_definitions(-DSTD_FILESYSTEM_FORCE) - -elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) - - if (NANA_CMAKE_BOOST_FILESYSTEM_FORCE) - add_definitions(-DNANA_BOOST_FILESYSTEM_FORCE) - endif(NANA_CMAKE_BOOST_FILESYSTEM_FORCE) - - # https://cmake.org/cmake/help/git-master/module/FindBoost.html - # Implicit dependencies such as Boost::filesystem requiring Boost::system will be automatically detected and satisfied, - # even if system is not specified when using find_package and if Boost::system is not added to target_link_libraries. - # If using Boost::thread, then Thread::Thread will also be added automatically. - find_package(Boost COMPONENTS filesystem) - if (Boost_FOUND) - add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) - include_directories(SYSTEM "${Boost_INCLUDE_DIR}") - #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") - set(NANA_LINKS "${NANA_LINKS} ${Boost_LIBRARIES}") ###### FIRST !!!!!!!!!!!!!!!!! add is not first - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") - endif (Boost_FOUND) - - set(Boost_USE_STATIC_LIBS ON) - set(Boost_USE_STATIC_RUNTIME ON) # ?? - #set(Boost_USE_MULTITHREADED ON) - -endif (NANA_CMAKE_NANA_FILESYSTEM_FORCE) - ########### Compatibility with CMake 3.1 @@ -154,6 +123,52 @@ if(UNIX) endif(UNIX) +########### Compliers +# +# Using gcc: gcc 4.8 don't sopourt C++14 and make_unique. You may want to update at least to 4.9. +# In Windows, the gcc which come with CLion was 4.8 from MinGW. You may want to install MinGW-w64 from the +# TDM-GCC Compiler Suite for Windows which will update you to gcc 5.1. +# gcc 5.3 and 5.4 include filesytem, but you need to add the link flag: -lstdc++fs +# +# see at end of: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html + +# set compile flags +if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # Clang || GNU + + if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") # Clang + + else ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") # GNU + + endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + +endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + +# enable static linkage +if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) # GNU || CLang not MinGW + #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") + + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + # IS_GNUCXX < 5.3 + else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs") # IS_GNUCXX 5.3 or more + set(NANA_LINKS "${NANA_LINKS} -lstdc++fs") + endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) + +endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) + + +if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # APPLE Clang + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") +endif () + +# set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") + + + + ############# Optional libraries #Find PNG @@ -203,6 +218,39 @@ if(NANA_CMAKE_ENABLE_AUDIO) endif(UNIX) endif(NANA_CMAKE_ENABLE_AUDIO) +if (NANA_CMAKE_NANA_FILESYSTEM_FORCE) + add_definitions(-DNANA_FILESYSTEM_FORCE) + +elseif (NANA_CMAKE_STD_FILESYSTEM_FORCE) + add_definitions(-DSTD_FILESYSTEM_FORCE) + +elseif (NANA_CMAKE_FIND_BOOST_FILESYSTEM OR NANA_CMAKE_BOOST_FILESYSTEM_FORCE) + + if (NANA_CMAKE_BOOST_FILESYSTEM_FORCE) + add_definitions(-DNANA_BOOST_FILESYSTEM_FORCE) + endif(NANA_CMAKE_BOOST_FILESYSTEM_FORCE) + + # https://cmake.org/cmake/help/git-master/module/FindBoost.html + # Implicit dependencies such as Boost::filesystem requiring Boost::system will be automatically detected and satisfied, + # even if system is not specified when using find_package and if Boost::system is not added to target_link_libraries. + # If using Boost::thread, then Thread::Thread will also be added automatically. + find_package(Boost COMPONENTS filesystem) + if (Boost_FOUND) + add_definitions(-DNANA_BOOST_FILESYSTEM_AVAILABLE) + include_directories(SYSTEM "${Boost_INCLUDE_DIR}") + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Boost_LIBRARIES}") + set(NANA_LINKS "${NANA_LINKS} ${Boost_LIBRARIES}") ###### FIRST !!!!!!!!!!!!!!!!! add is not first + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Boost_LIBRARIES}") + endif (Boost_FOUND) + + set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_STATIC_RUNTIME ON) # ?? + #set(Boost_USE_MULTITHREADED ON) + +endif (NANA_CMAKE_NANA_FILESYSTEM_FORCE) + + + if(NANA_CMAKE_VERBOSE_PREPROCESSOR) add_definitions(-DVERBOSE_PREPROCESSOR) endif(NANA_CMAKE_VERBOSE_PREPROCESSOR) @@ -240,7 +288,7 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS}) include_directories(${NANA_INCLUDE_DIR}) add_library(${PROJECT_NAME} ${sources} ) -target_link_libraries(${PROJECT_NAME}${NANA_LINKS}) +target_link_libraries(${PROJECT_NAME} ${NANA_LINKS}) # Headers: use INCLUDE_DIRECTORIES # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES) @@ -323,48 +371,6 @@ if (NANA_CMAKE_BUILD_DEMOS) endif (NANA_CMAKE_BUILD_DEMOS) -# -# Using gcc: gcc 4.8 don't sopourt C++14 and make_unique. You may want to update at least to 4.9. -# In Windows, the gcc which come with CLion was 4.8 from MinGW. You may want to install MinGW-w64 from the -# TDM-GCC Compiler Suite for Windows which will update you to gcc 5.1. -# gcc 5.3 and 5.4 include filesytem, but you need to add the link flag: -lstdc++fs -# -# see at end of: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html - -# set compile flags -if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # Clang || GNU - - if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -Wall") # Clang - - else ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") # GNU - - endif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - -endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - -# enable static linkage -if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) # GNU || CLang not MinGW - #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -pthread") - - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - # IS_GNUCXX < 5.3 - else(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++fs") # IS_GNUCXX 5.3 or more - set(NANA_LINKS "${NANA_LINKS} -lstdc++fs") - endif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - -endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT MINGW) - - -if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") # APPLE Clang - set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++") -endif () - -# set (CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") - message ( "CMAKE_CXX_COMPILER_ID = " ${CMAKE_CXX_COMPILER_ID}) message ( "COMPILER_IS_CLANG = " ${COMPILER_IS_CLANG}) From 9975984d91ef9fd30370233979084a715c5ce788 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 16:01:39 +0200 Subject: [PATCH 25/26] set POLICY CMP0004 OLD # ignore leading space --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab8970c8..578e2390 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,11 @@ if(POLICY CMP0054) cmake_policy(SET CMP0054 OLD) endif() +if(POLICY CMP0004) # ignore leading space + # http://www.cmake.org/cmake/help/v3.0/policy/CMP0004.html + cmake_policy(SET CMP0004 OLD) +endif() + add_definitions(-DNANA_IGNORE_CONF) From d860daa9acdb38f1958e6968772be5a1d6c37c5f Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Thu, 23 Jun 2016 16:10:40 +0200 Subject: [PATCH 26/26] NANA_CMAKE_FIND_BOOST_FILESYSTEM=ON --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fff0412b..71fe6094 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,7 +76,7 @@ before_script : - cd bin script: - - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=OFF -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON + - cmake -G"Unix Makefiles" .. -DNANA_CMAKE_ENABLE_JPEG=ON -DNANA_CMAKE_ENABLE_PNG=OFF -DNANA_CMAKE_BUILD_DEMOS=ON -DNANA_CMAKE_ENABLE_AUDIO=OFF -DNANA_CMAKE_FIND_BOOST_FILESYSTEM=ON -DNANA_CMAKE_BOOST_FILESYSTEM_FORCE=OFF -DNANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON - make - cd .. - mv -v bin/ nana-demo/