From 976b5ec275e155e1f3b147c6989e2a01637f6acb Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Tue, 1 Mar 2016 18:59:57 +0100 Subject: [PATCH 01/16] explore automatic GUI testing in VS2015, cmake and travis local works vary good in windows with VS2015 --- .travis.yml | 7 ++++--- CMakeLists.txt | 14 +++++++++++++ include/nana/gui/wvl.hpp | 5 ++++- source/gui/wvl.cpp | 43 +++++++++++++++++++++++++++++++++++++++- 4 files changed, 64 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5ab94854..be36e3c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,7 +56,7 @@ matrix: - llvm-toolchain-precise before_install: - - git clone --depth=50 --branch=dev_nana_in_examples https://github.com/qPCR4vir/nana-demo.git nana-demo + - git clone --depth=50 --branch=testing https://github.com/qPCR4vir/nana-demo.git nana-demo - export PATH="$HOME/bin:$PATH" - mkdir ~/bin - wget --no-check-certificate --no-clobber -O /tmp/tools/cmake https://cmake.org/files/v3.4/cmake-3.4.0-rc3-Linux-x86_64.sh || true @@ -70,6 +70,7 @@ before_script : - cd bld 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=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_INCLUDE_EXPERIMENTAL_DEMOS=ON -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=OFF - - make \ No newline at end of file + - make + - clicked \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index e223c53c..94fa3494 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,6 +29,9 @@ option(NANA_CMAKE_VERBOSE_PREPROCESSOR "Show annoying debug messages during comp 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) +option(NANA_CMAKE_AUTOMATIC_GUI_TESTING "Activate automatic GUI testing?" OFF) +option(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING "Add defoult automatic GUI test?" OFF) + # The ISO C++ File System Technical Specification (ISO-TS, or STD) is optional. # http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf @@ -238,6 +241,17 @@ set_property( TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14 ) if (NANA_CMAKE_BUILD_DEMOS) + if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + add_definitions(-DNANA_AUTOMATIC_GUI_TESTING) + endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + + if(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) + add_definitions(-DNANA_ADD_DEF_AUTOMATIC_GUI_TESTING) + endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) + + NANA_ADD_DEF_AUTOMATIC_GUI_TESTING + + set (demos calculator helloworld_demo notepad widget_show widget_show2 ) if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) list(APPEND demos file_explorer) diff --git a/include/nana/gui/wvl.hpp b/include/nana/gui/wvl.hpp index 1f104bbd..a55ec00b 100644 --- a/include/nana/gui/wvl.hpp +++ b/include/nana/gui/wvl.hpp @@ -15,6 +15,8 @@ #ifndef NANA_GUI_WVL_HPP #define NANA_GUI_WVL_HPP + + #include "programming_interface.hpp" #include "screen.hpp" #include "widgets/form.hpp" @@ -58,6 +60,7 @@ namespace nana template using form_loader = detail::form_loader; - void exec(); + void exec(unsigned wait = 0, std::function = {}); + }//end namespace nana #endif diff --git a/source/gui/wvl.cpp b/source/gui/wvl.cpp index cedca916..912bc3ef 100644 --- a/source/gui/wvl.cpp +++ b/source/gui/wvl.cpp @@ -13,6 +13,22 @@ #include #include +#include + +#include + + +//#define NANA_AUTOMATIC_GUI_TESTING + +inline unsigned Wait(unsigned wait = 0) +{ +#ifdef NANA_AUTOMATIC_GUI_TESTING + return wait; +#else + return 0; +#endif +} + namespace nana { namespace detail @@ -23,8 +39,33 @@ namespace nana } } - void exec() + void exec(unsigned wait, std::function f ) { + #ifdef NANA_ADD_DEF_AUTOMATIC_GUI_TESTING + if (!wait) + wait = 10; + if (!f) + f = []() {API::exit(); }; + #endif + + wait = Wait(wait); + + std::cout << "Will wait " << wait << " sec...\n"; + std::thread t([wait, &f]() + { if (wait) + { + std::cout << "Waiting " << wait << " sec...\n"; + std::this_thread::sleep_for(std::chrono::seconds{ wait } ); + std::cout << "Waited !! running... \n" ; + f(); + //API::exit(); + std::cout << "Runed... \n"; + } + }); + detail::bedrock::instance().pump_event(nullptr, false); + + if (t.joinable()) + t.join(); } }//end namespace nana From 18a919f11e0cd89e5a7fdaa4bbdc6649d3b381d0 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 1 Mar 2016 19:06:33 +0100 Subject: [PATCH 02/16] fix --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94fa3494..b2ce1517 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,9 +249,6 @@ if (NANA_CMAKE_BUILD_DEMOS) add_definitions(-DNANA_ADD_DEF_AUTOMATIC_GUI_TESTING) endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) - NANA_ADD_DEF_AUTOMATIC_GUI_TESTING - - set (demos calculator helloworld_demo notepad widget_show widget_show2 ) if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) list(APPEND demos file_explorer) From 37ed48d38ad2149534e9ca08526a8e33f874e357 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 1 Mar 2016 19:23:35 +0100 Subject: [PATCH 03/16] add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b2ce1517..334a5741 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -282,6 +282,13 @@ if (NANA_CMAKE_BUILD_DEMOS) message("... to build: ../nana-demo/Examples/${demo}.cpp" ) endforeach( demo ${demos}) + if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) + endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + +add_custom_command(OUTPUT generated.cpp generated.hpp + COMMAND marks-code-generator + endif (NANA_CMAKE_BUILD_DEMOS) From 6160801bdf23c698d915f90d80908c0f11a8b883 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 1 Mar 2016 19:26:38 +0100 Subject: [PATCH 04/16] fix --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 334a5741..34bf68e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -286,9 +286,6 @@ if (NANA_CMAKE_BUILD_DEMOS) add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) -add_custom_command(OUTPUT generated.cpp generated.hpp - COMMAND marks-code-generator - endif (NANA_CMAKE_BUILD_DEMOS) From 669a7385a6e2dc36996bd20c81da88eae1a90e6e Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 1 Mar 2016 19:33:50 +0100 Subject: [PATCH 05/16] # --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 34bf68e6..e66ae762 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,7 +283,7 @@ if (NANA_CMAKE_BUILD_DEMOS) endforeach( demo ${demos}) if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) - add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) + #add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) endif (NANA_CMAKE_BUILD_DEMOS) From b8eb7dbffd61323bbc99106c74fa584a2ed88e42 Mon Sep 17 00:00:00 2001 From: Ariel Vina-Rodriguez Date: Tue, 1 Mar 2016 19:34:50 +0100 Subject: [PATCH 06/16] ls --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index be36e3c6..81a75b7d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,4 +73,5 @@ 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=ON -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=OFF - make - - clicked \ No newline at end of file + - ls + - clicked From 59d94b9c7a1887de58c343cbb93dc7dfb0ff9f49 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 11:42:19 +0100 Subject: [PATCH 07/16] FreeMe need more work - let out of the way temporally --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e66ae762..af383c4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,7 @@ option(NANA_CMAKE_BUILD_DEMOS "Build all the demos form the nana_demo repository option(NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS "" ON) option(NANA_CMAKE_AUTOMATIC_GUI_TESTING "Activate automatic GUI testing?" OFF) option(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING "Add defoult automatic GUI test?" OFF) +option(NANA_CMAKE_BUILD_FreeMe "Build FreeMe (currently broken)?" OFF) # The ISO C++ File System Technical Specification (ISO-TS, or STD) is optional. @@ -178,6 +179,10 @@ if(NANA_CMAKE_ENABLE_AUDIO) endif(UNIX) endif(NANA_CMAKE_ENABLE_AUDIO) +if (NANA_CMAKE_BUILD_FreeMe) + add_definitions(-DBUILD_FreeMe) +endif (NANA_CMAKE_BUILD_FreeMe) + if(NANA_CMAKE_VERBOSE_PREPROCESSOR) add_definitions(-DVERBOSE_PREPROCESSOR) endif(NANA_CMAKE_VERBOSE_PREPROCESSOR) @@ -250,10 +255,11 @@ if (NANA_CMAKE_BUILD_DEMOS) endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) set (demos calculator helloworld_demo notepad widget_show widget_show2 ) + if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) - list(APPEND demos file_explorer) + list(APPEND demos file_explorer FreeMe) endif (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) - # Pending: FreeMe + # Pending: FreeMe (added but really completelly compiled if defined BUILD_FreeMe ) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") From 8cb8655147a45a583bb5340fc215f1bb72a7e82b Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 11:43:05 +0100 Subject: [PATCH 08/16] -DNANA_AUTOMATIC_GUI_TESTING --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index af383c4d..99bd332e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,8 +113,6 @@ if(WIN32) add_definitions(-DNANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ) endif(NANA_CMAKE_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ) endif(MINGW) -elseif(WIN32) - set(BUILD_FreeMe OFF) endif(WIN32) if(APPLE) @@ -183,6 +181,10 @@ if (NANA_CMAKE_BUILD_FreeMe) add_definitions(-DBUILD_FreeMe) endif (NANA_CMAKE_BUILD_FreeMe) +if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + add_definitions(-DNANA_AUTOMATIC_GUI_TESTING) +endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + if(NANA_CMAKE_VERBOSE_PREPROCESSOR) add_definitions(-DVERBOSE_PREPROCESSOR) endif(NANA_CMAKE_VERBOSE_PREPROCESSOR) From a2fd7f32c85fb56df340f08866c6bc6d723912c6 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 14:05:48 +0100 Subject: [PATCH 09/16] NANA_ADD_DEF_AUTOMATIC_GUI_TESTING Support for NANA_AUTOMATIC_GUI_TESTING Will cause the program to self-test the GUI. If NANA_ADD_DEF_AUTOMATIC_GUI_TESTING is also defined a default automatic GUI test will be added to all programs which don't have yet one defined. This default test will simple wait 10 sec. (time to construct, show and execute the GUI) and then exit normally. --- CMakeLists.txt | 9 +++++++++ include/nana/config.hpp | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99bd332e..cf01bf48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,8 +183,15 @@ endif (NANA_CMAKE_BUILD_FreeMe) if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) add_definitions(-DNANA_AUTOMATIC_GUI_TESTING) + + if(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) + add_definitions(-DNANA_ADD_DEF_AUTOMATIC_GUI_TESTING) + endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) + endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + + if(NANA_CMAKE_VERBOSE_PREPROCESSOR) add_definitions(-DVERBOSE_PREPROCESSOR) endif(NANA_CMAKE_VERBOSE_PREPROCESSOR) @@ -331,5 +338,7 @@ message ( "NANA_CMAKE_FIND_BOOST_FILESYSTEM = " ${NANA_CMAKE_FIND_BOOST message ( "NANA_CMAKE_BOOST_FILESYSTEM_FORCE = " ${NANA_CMAKE_BOOST_FILESYSTEM_FORCE}) message ( "NANA_CMAKE_BOOST_FILESYSTEM_INCLUDE_ROOT = " ${NANA_CMAKE_BOOST_FILESYSTEM_INCLUDE_ROOT}) message ( "NANA_CMAKE_BOOST_FILESYSTEM_LIB = " ${NANA_CMAKE_BOOST_FILESYSTEM_LIB}) +message ( "NANA_CMAKE_AUTOMATIC_GUI_TESTING = " ${NANA_CMAKE_AUTOMATIC_GUI_TESTING}) +message ( "NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING = " ${NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING}) diff --git a/include/nana/config.hpp b/include/nana/config.hpp index 2c1d3c83..99d73d31 100644 --- a/include/nana/config.hpp +++ b/include/nana/config.hpp @@ -93,6 +93,21 @@ #endif #endif + +/////////////////// +// Support for NANA_AUTOMATIC_GUI_TESTING +// Will cause the program to self-test the GUI. +// If NANA_ADD_DEF_AUTOMATIC_GUI_TESTING is also defined a default automatic GUI test +// will be added to all programs which don't have yet one defined. This default test will simple +// wait 10 sec. (time to construct, show and execute the GUI) and then exit normally. +// +//#define NANA_AUTOMATIC_GUI_TESTING +//#if defined(NANA_AUTOMATIC_GUI_TESTING) + //#define NANA_ADD_DEF_AUTOMATIC_GUI_TESTING +//#endif + + + #if !defined(VERBOSE_PREPROCESSOR) //#define VERBOSE_PREPROCESSOR #endif From 3184022bf1ada9e5db5bb1e50ceb8adaba699d89 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 14:08:14 +0100 Subject: [PATCH 10/16] wait and close --- include/nana/gui/wvl.hpp | 2 +- source/gui/wvl.cpp | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/include/nana/gui/wvl.hpp b/include/nana/gui/wvl.hpp index a55ec00b..aac2319e 100644 --- a/include/nana/gui/wvl.hpp +++ b/include/nana/gui/wvl.hpp @@ -60,7 +60,7 @@ namespace nana template using form_loader = detail::form_loader; - void exec(unsigned wait = 0, std::function = {}); + void exec(unsigned wait = 0, std::function = {}, unsigned wait_end=0, form *fm= nullptr); }//end namespace nana #endif diff --git a/source/gui/wvl.cpp b/source/gui/wvl.cpp index 912bc3ef..621e9c4c 100644 --- a/source/gui/wvl.cpp +++ b/source/gui/wvl.cpp @@ -18,8 +18,6 @@ #include -//#define NANA_AUTOMATIC_GUI_TESTING - inline unsigned Wait(unsigned wait = 0) { #ifdef NANA_AUTOMATIC_GUI_TESTING @@ -39,7 +37,7 @@ namespace nana } } - void exec(unsigned wait, std::function f ) + void exec(unsigned wait, std::function f, unsigned wait_end, form *fm ) { #ifdef NANA_ADD_DEF_AUTOMATIC_GUI_TESTING if (!wait) @@ -51,16 +49,21 @@ namespace nana wait = Wait(wait); std::cout << "Will wait " << wait << " sec...\n"; - std::thread t([wait, &f]() + std::thread t([wait, &f, wait_end, fm]() { if (wait) { std::cout << "Waiting " << wait << " sec...\n"; std::this_thread::sleep_for(std::chrono::seconds{ wait } ); - std::cout << "Waited !! running... \n" ; + std::cout << "running... \n" ; f(); - //API::exit(); - std::cout << "Runed... \n"; - } + std::cout << "Done... \n"; + std::cout << "Now waiting anothers " << wait << " sec...\n"; + std::this_thread::sleep_for(std::chrono::seconds{ wait_end } ); + std::cout << "Done... \n"; + if (fm) + fm->close(); + API::exit(); // why not works? + } }); detail::bedrock::instance().pump_event(nullptr, false); From 9c148a86a205d2e295213f94fa0c8a0af2bc3506 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 15:29:38 +0100 Subject: [PATCH 11/16] Wait_or_not --- source/gui/wvl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/gui/wvl.cpp b/source/gui/wvl.cpp index 621e9c4c..0e7e4adc 100644 --- a/source/gui/wvl.cpp +++ b/source/gui/wvl.cpp @@ -18,7 +18,7 @@ #include -inline unsigned Wait(unsigned wait = 0) +inline unsigned Wait_or_not(unsigned wait = 0) { #ifdef NANA_AUTOMATIC_GUI_TESTING return wait; @@ -46,7 +46,7 @@ namespace nana f = []() {API::exit(); }; #endif - wait = Wait(wait); + wait = Wait_or_not(wait); std::cout << "Will wait " << wait << " sec...\n"; std::thread t([wait, &f, wait_end, fm]() @@ -57,7 +57,7 @@ namespace nana std::cout << "running... \n" ; f(); std::cout << "Done... \n"; - std::cout << "Now waiting anothers " << wait << " sec...\n"; + std::cout << "Now waiting anothers " << wait_end << " sec...\n"; std::this_thread::sleep_for(std::chrono::seconds{ wait_end } ); std::cout << "Done... \n"; if (fm) From b000928b30ab849b0f562afa86049a75aad328ce Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 16:17:50 +0100 Subject: [PATCH 12/16] run what locally run --- CMakeLists.txt | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf01bf48..5eab2744 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -181,6 +181,7 @@ if (NANA_CMAKE_BUILD_FreeMe) add_definitions(-DBUILD_FreeMe) endif (NANA_CMAKE_BUILD_FreeMe) + if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) add_definitions(-DNANA_AUTOMATIC_GUI_TESTING) @@ -263,11 +264,24 @@ if (NANA_CMAKE_BUILD_DEMOS) add_definitions(-DNANA_ADD_DEF_AUTOMATIC_GUI_TESTING) endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) - set (demos calculator helloworld_demo notepad widget_show widget_show2 ) + set (demos calculator helloworld_demo notepad ) - if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) - list(APPEND demos file_explorer FreeMe) - endif (NANA_CMAKE_INCLUDE_EXPERIMENTAL_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}) + if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) + endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/") + message("... to build: ../nana-demo/${demo}.cpp" ) + endforeach( demo ${demos}) + + set (demos widget_show widget_show2 ) + + if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) + list(APPEND demos file_explorer FreeMe) + endif (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) # Pending: FreeMe (added but really completelly compiled if defined BUILD_FreeMe ) foreach ( demo ${demos}) @@ -293,14 +307,10 @@ if (NANA_CMAKE_BUILD_DEMOS) set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) target_link_libraries(${demo} ${PROJECT_NAME}) install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/Examples/") - message("... to build: ../nana-demo/Examples/${demo}.cpp" ) endforeach( demo ${demos}) - if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) - #add_custom_command( TARGET clicked POST_BUILD COMMAND clicked ) - endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) - + endif (NANA_CMAKE_BUILD_DEMOS) From a554ff3968956fac6db5d4268874521b4033cc57 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 16:42:40 +0100 Subject: [PATCH 13/16] no click in travis --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 81a75b7d..650c56a5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -70,8 +70,8 @@ before_script : - cd bld 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=ON -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=OFF + - 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=ON -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=ON - make - ls - - clicked + From a5368a26cdd01de892c3e88d51f71cd865748fc8 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 16:49:51 +0100 Subject: [PATCH 14/16] no experimental demos --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 650c56a5..7a057af0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -70,7 +70,7 @@ before_script : - cd bld 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=ON -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_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_INCLUDE_EXPERIMENTAL_DEMOS=OFF -DNANA_CMAKE_AUTOMATIC_GUI_TESTING=ON -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=ON - make - ls From a97c326b176813602ac8e22ffcc7e50e55db40bb Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 17:18:46 +0100 Subject: [PATCH 15/16] no calculator --- .travis.yml | 1 - CMakeLists.txt | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7a057af0..22a458ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -71,7 +71,6 @@ before_script : 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 -DNANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING=ON - - make - ls diff --git a/CMakeLists.txt b/CMakeLists.txt index 5eab2744..9c0fd9fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -264,20 +264,21 @@ if (NANA_CMAKE_BUILD_DEMOS) add_definitions(-DNANA_ADD_DEF_AUTOMATIC_GUI_TESTING) endif(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) - set (demos calculator helloworld_demo notepad ) + set (demos helloworld_demo notepad ) foreach ( demo ${demos}) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) target_link_libraries(${demo} ${PROJECT_NAME}) if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) - add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) + #add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) + add_custom_target(do_always_${demo} ALL COMMAND ${demo}) endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/") message("... to build: ../nana-demo/${demo}.cpp" ) endforeach( demo ${demos}) - set (demos widget_show widget_show2 ) + set (demos calculator widget_show widget_show2 ) if (NANA_CMAKE_INCLUDE_EXPERIMENTAL_DEMOS) list(APPEND demos file_explorer FreeMe) From 497e5454c588c8e0b1bb4fcb0e8956a46ca48cc3 Mon Sep 17 00:00:00 2001 From: qPCR4vir Date: Wed, 2 Mar 2016 17:38:30 +0100 Subject: [PATCH 16/16] add_test --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c0fd9fc..8b26d32f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,6 +258,7 @@ if (NANA_CMAKE_BUILD_DEMOS) if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) add_definitions(-DNANA_AUTOMATIC_GUI_TESTING) + enable_testing () endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) if(NANA_CMAKE_ADD_DEF_AUTOMATIC_GUI_TESTING) @@ -270,10 +271,11 @@ if (NANA_CMAKE_BUILD_DEMOS) add_executable(${demo} "../nana-demo/${demo}.cpp") set_property( TARGET ${demo} PROPERTY CXX_STANDARD 14 ) target_link_libraries(${demo} ${PROJECT_NAME}) - if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + #if(NANA_CMAKE_AUTOMATIC_GUI_TESTING) #add_custom_command( TARGET ${demo} POST_BUILD COMMAND ${demo} ) - add_custom_target(do_always_${demo} ALL COMMAND ${demo}) - endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) + #add_custom_target(do_always_${demo} ALL COMMAND ${demo}) + add_test(${demo} COMMAND ${demo}) + #endif(NANA_CMAKE_AUTOMATIC_GUI_TESTING) install(TARGETS ${demo} RUNTIME DESTINATION "../nana-demo/") message("... to build: ../nana-demo/${demo}.cpp" ) endforeach( demo ${demos})