poco/appveyor.yml

624 lines
23 KiB
YAML
Raw Normal View History

2016-03-07 07:25:13 +01:00
version: build {branch}-{build}
cache:
2017-10-23 17:37:37 +02:00
- C:\mysql-5.7.19-win32
2016-03-07 07:25:13 +01:00
- C:\ProgramData\chocolatey
- C:\OpenSSL-Win32
- C:\OpenSSL-Win64
- C:\Program Files (x86)\PostgreSQL\9.6
branches:
except:
- /.*ravis.*/
skip_commits:
message: /.*Merge.*/
2016-03-07 07:25:13 +01:00
hosts:
localhost: 127.0.0.1
db.server.com: 127.0.0.2
services:
2016-03-07 07:25:13 +01:00
# mysql : server: localhost, port: 3306
# mysql : user : root, password: Password12!
- mysql
2016-03-07 07:25:13 +01:00
# mongodb config : C:\mongodb\mongod.cfg
# mongodb database: C:\mongodb\data\db
- mongodb
2016-03-07 07:25:13 +01:00
# Server name: localhost
# Server port: 5432
# postgres account password: Password12!
- postgresql
2016-03-07 07:25:13 +01:00
2017-10-20 22:37:19 +02:00
image:
- Visual Studio 2017
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
platform:
- Win32
- x64
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
# -------------------------------------------------------------------------------------------
# building debug configuration doubles the round time and isn't so useful.
# tests are run only in release & shared.
# -------------------------------------------------------------------------------------------
configuration:
- release
# - debug
# -------------------------------------------------------------------------------------------
environment:
bundling: bundled
2017-10-18 16:02:52 +02:00
MYSQL32URL: http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-win32.zip
2017-10-23 17:37:37 +02:00
MYSQL32ZIP: mysql-5.7.19-win32.zip
MYSQL32: C:\mysql-5.7.19-win32
MYSQL64: C:\Program Files\MySql\MySQL Server 5.7
POSTGRES32: C:\Program Files (x86)\PostgreSQL\9.6
POSTGRES64: C:\Program Files\PostgreSQL\9.6
OPENSSLURL: https://slproweb.com/download
OPENSSL32EXE: Win32OpenSSL-1_1_0f.exe
OPENSSL64EXE: Win64OpenSSL-1_1_0f.exe
OPENSSL32: C:\OpenSSL-Win32
OPENSSL64: C:\OpenSSL-Win64
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
matrix:
C++11 support #1793 (#1795) * * C++14 detection * C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock) * * C++11 Event - disable because std::condition_variable nas no built-in concept of reset std::condition_variable may be unblocked spuriously, must handle? * * Fix std::condition_variable handling * * C++11 semaphore * * Use Semaphore max paramater * * Implement manual reset Event and re-enable * Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now * * C++11 Thread (in progress) * * Fix auto reset event * * std::*mutex with timeout doesn't guarantee that the timeout will be respected * Thread in unix has special member for signal handling * * Workaround for AppleClang lack of thread_local * * C++11 format * * C++11 Logger * * Fix Poco::format * * std::function event delegate * * Fix StdFunctionDelegate for GCC * * C++11 move semantics * * Fix format test * * Add cpp11_changes files * * Auto detect compiler C++11/14 support * Option to force disable C++11/14 * * GCC/Clang need to enable C++11/14 support via command line switches * * Fixes for VS2013 C++11 support * * Makefile C++11/14 compiler detection (in progress) * * Simple GCC version detection * AppleClang version detection * Fix gcc c++11 build script Update c++11 status document * Use predefined constant instead of --version * Fix CC & CXX to gcc 4.8 for all matrix rows. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore apt-get update -qq Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Display g++ version and full g++ command line * Fix typo * Use command line/environment variables for CC & CXX * Display GCCVERSION * Use $(CXX) for setting GCCVERSION * Do not use <cstdint>, otherwise NumberFormatter wo'nt compile * restore silent mode on make * Use predefined constants __clang_major__ and __clang_minor__ * Reverse clang++ options * Add c++11/14 detection * -std=c++14 is not valid for clang 3.4 * Run tests for both gcc 4.6 & gcc 4.8 * Restore Apple clang setup * Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h On Linux ubuntu at Travis, clang 3.4 does not support std=c++14 * Add OSX run with clang * Add forgetted Linux guard on install * Display clang's predefined constants on OSX * Comment out Apple temporarly Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * export CC & CXX for OSX * Test when clang is from Apple Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove typo Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Align test with comment Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add Cygwin-clang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Install CppUnit for running the unit tests on OSX. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Looking for libCppUnit.1.dylib * Install libCppUnit*. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Redis for OSX. To be restored later on. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove some display lines * Reenable tests * Add run tests on cmake build with ctest -VV * Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be used for excluding tests from ctest. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest * Set proper path Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Data* from CTest. Run tests on ARM * Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite * Replace MB by KB otherwise Travis & AppVeyor are timing out. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Specialize runtests.sh & excluded.sh according to OSX or Linux * Split OSX/Linux runtests.sh Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed invalid comment * Make runtests.sh executable * c++11 atomic<> default constructor is never initialized * Initialize to 0 in any case. * Comment out set -ev for now * Comment out set -ev for now * reset verbose mode * reset verbose mode * catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests * Use source for export ignored tests to avoid the permission denied problem * chmod 775 * Apply patches from @RangeIReale Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add cpp11-appleclang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Initialize AtomicCounter to 0 since the c++11 default constructor don't do it. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * avoid SIGPIPE on send * fix WbeSocketServer * Remove SIGPIPE workaround Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix WebSocketServer * Restore set -ev * Restore set -ev * Fix WebSocketServer responding loop Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cleanup the exit test. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add important comment. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Copy also cpp11-* so that mkrelease works! Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Avoid PocoDoc preprocessisng error. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * * Sync script and Platform_POSIX.h compiler versions * VS2013 & VS2015 fixups. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Backport to c++03 so that Travis and Appveyor be ok Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH. and Contributors. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * OSX: clang++ rejects return (*static_cast<Derived*>(this)); cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight' Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add generated file for now Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * deleted as source file name in lowercase. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Put cmake and ctest on the DOS PATH Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cygwin does not support timed_mutex * Put installed CMake /CTest on the DOS PATH. * Repackaging * Build VS2013 & VS2014 first. * Add std::string Foundation_API format(const std::string& fmt, const Any& value); Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore INLINES macros when compiling with c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Baclport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined. usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type typedef ulong nesting_map; /* Used for flags of nesting constructs */ ^ In file included from src/SQLExecutor.cpp:38:0: Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix merge failure. Set -ev option on shell. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove __*VISIBLE defines as GNU forbids their usage outside the system includes Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Use c++03 as last c++ version. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * MySQL needs ulong which are not visible when compiling with c++11 and above. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add BUILD_CC=gcc to avoid strip issue * Remove reference to FSM * make ?= operator does not work with * Remove BUILD_CC * Remove FSM since it is now in its own branch * Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441 * enable c++11 * remove changes tracking file (moved to project) * C++11: fixes for Travis CI (#1798) * Use c++11 compliant compiler: g++ 5 & clang 3.5.0 * Fix typo on IntType * Use Linux-clang config instead of Linux * Check arm-linux-gnueabi-g++ version. Dump compiler constants * Fix missing namespace qualifier * Ignore ltdl for Cygwin platform * Fix typo * Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does not support c++11 standard. * Restore logic as in develop branch * Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to -std=c++11 * Replace auto_ptr by unique_ptr * Comment out failing tests until be fixed * C++11: Fix AppVeyor CI yaml (#1812) * C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become minimum compiler versions. * Comment out image with VS2017 since it crashes. * New release of OpenSSL: 1_1_0f * Refactor the download steps of OpenSSL * C++11 support: Add VS2017 Win32 & x64 (#1816) * Add VS2017. * Use VSSetup to get VS150COMNTOOLS * Fix VS150COMNTOOLS value * Ignore Install-Module * Install VSSetUp PS module. * Fix typo missing $ * Split InstallPath againt "=" * Adjust VS150COMMONTOOLS path. * Exit failed is VS commontools is undefined. * Get the InstalledPath property value * Replace mysql-5.7.17 by mysql-5.7.18 * Replace mysql-5.7.17 by mysql-5.7.18 * c++11 thread priority and affinity, and more (#1811) * * c++11 thread priority and affinity * AtomicCounter wasn't using std::atomic * Buffer wasn't setting all fields on move * Poco::Event is not directly available in c++11, keep using the native versions * UnWindows.h define NOMINMAX to reduce conflicts * Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem) * Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+ * * Fixed std::thread POSIX handle * * Fix OSX compilation * raise cmake min version to 3.2.0 * Remove CMake jobs since it is already tested on Travis (#1832) * Remove CMake jobs since it is already tested on Travis * Add clang-3.7 * Ubuntu Trusty LLVM repo for gettign clang versions. * Remove 3.3 & 3.4 * Add clang 3.8, clang 3.9 & clang 4.0 * Add CXXFLAGS=-stdlib=libc++ * use libstdc++ instead of libc++ * Remove for now -g compiler option to avoid this spurious error on clang error: debug information for auto is not yet supported * Use -ftemplate-backtrace-limit=0 to dump the recursive template stack. * Cleanup * Use good gcc version * Fix gcc-5 & g++-5 name * Use libc++ instead of libstdc++ * Restore installation of gcc-5 * Readd agt-get update for gcc-5/g++-5 * Reswitch from libc++ to libstdc++ * Increase template evaluation stack size up to 340 to avoid a stack overflow in parsing TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14... * Add clang 3.4, 3.5, 3.6 * Adjust template evaluation stack for clang 3.4, 3.5, 3.6, 3.7 * Update notifications * Add gcc-4.9 * Backport Travis CXXFLAGS to config/Linux-clang * Remove CXXFLAGS from clang tests * Test g++ first, then clang++ and then arm * remove all non-c++11 code and POCO_ENABLE_CPP11 (default now) * remove old file * windows c++11 fixes * fix conversion warning * C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Json/parser (#1858) * move parser implementation in separate file * parser replacement, first attempt (wip) * making tests pass (mostly done, 3 to go) * add missing headers * honor no-null-byte-in-string setting * few more fixes * add -std=c99 * fix cmake JSON build and formatting * accept utf-8, fix tests * skip calling isdigit() * #740, #1860, license update, a warning fix * var emtpy()->clear(); json array and object tidy up * vs 2015 32-bit project update * update VS2017 projects * remove ProGen and all VS files older than 2015 * fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe * merge develop * add missing files * add VS generated dir to gitignore * add WEC2013.cmake * fix exception message * fix VS2017 ODBC project filter * integrate PageCompiler changes from poco-1.7.9 * vs2015 openssl build * added POCO_DEPRECATED macro * added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro * PageCompiler: support <%@ include file="<path>" %> syntax for includes. * remove '$Id$' headers * remove '$Id$' headers * remove old VMS and VxWorks build support * Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * C++11 (#1887) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide anymore their packages for Ubuntu Trusy * Remove ubuntu-toolchain-r/test/ubuntu since it is already installed * Comment our the llvl-toolchain-trusty since its checksum is buggy See https://bugs.llvm.org/show_bug.cgi?id=34572 * Display g++ version (#1889) * merge change from develop| * Support for PKCS#12 (#1876) * rebuild openssl binaries; warning and stlye fixes * fix vs2015 projects and openssl linking * add PKCS12Container * remove comments * style * add ECKey* and CryptoException * EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests * simplify EVPPKey, ad EC tests * EVPPKey test and fixes * fix linux build * PKCS12 tests and fixes * linux build, fix crash * fix leaks * uncomment ifstream tests, some minor fixes * fix stream tests and some tidy-up * remove $Id * add ECDSA * update makefile * align PKCS12 constructors signatures with X509 * EVPPKey EC curve name constructor * ECDSA fixes and tests * linux build, wrap tests in try/catch to get full exception message * style * update VS projects * remove openssl, modify VS projects for git submodule directories * add openssl submodule * add _CRT_SECURE_NO_WARNINGS * port crypto dev fixes from 1.8 * lock whole Event:set() * fix openssl include path * Add <memory> for std::unique_ptr (#1891) * Missing include <iostream> (#1893) * add file/stream load/save capabilities to EVPPKey * add EVPTest * add #include <typeinfo> * fix posix compile * update samples VS projects * fix g++ test compile error
2017-09-21 05:13:19 +02:00
- builder: msbuild
vsver: 140
C++11 support #1793 (#1795) * * C++14 detection * C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock) * * C++11 Event - disable because std::condition_variable nas no built-in concept of reset std::condition_variable may be unblocked spuriously, must handle? * * Fix std::condition_variable handling * * C++11 semaphore * * Use Semaphore max paramater * * Implement manual reset Event and re-enable * Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now * * C++11 Thread (in progress) * * Fix auto reset event * * std::*mutex with timeout doesn't guarantee that the timeout will be respected * Thread in unix has special member for signal handling * * Workaround for AppleClang lack of thread_local * * C++11 format * * C++11 Logger * * Fix Poco::format * * std::function event delegate * * Fix StdFunctionDelegate for GCC * * C++11 move semantics * * Fix format test * * Add cpp11_changes files * * Auto detect compiler C++11/14 support * Option to force disable C++11/14 * * GCC/Clang need to enable C++11/14 support via command line switches * * Fixes for VS2013 C++11 support * * Makefile C++11/14 compiler detection (in progress) * * Simple GCC version detection * AppleClang version detection * Fix gcc c++11 build script Update c++11 status document * Use predefined constant instead of --version * Fix CC & CXX to gcc 4.8 for all matrix rows. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore apt-get update -qq Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Display g++ version and full g++ command line * Fix typo * Use command line/environment variables for CC & CXX * Display GCCVERSION * Use $(CXX) for setting GCCVERSION * Do not use <cstdint>, otherwise NumberFormatter wo'nt compile * restore silent mode on make * Use predefined constants __clang_major__ and __clang_minor__ * Reverse clang++ options * Add c++11/14 detection * -std=c++14 is not valid for clang 3.4 * Run tests for both gcc 4.6 & gcc 4.8 * Restore Apple clang setup * Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h On Linux ubuntu at Travis, clang 3.4 does not support std=c++14 * Add OSX run with clang * Add forgetted Linux guard on install * Display clang's predefined constants on OSX * Comment out Apple temporarly Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * export CC & CXX for OSX * Test when clang is from Apple Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove typo Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Align test with comment Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add Cygwin-clang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Install CppUnit for running the unit tests on OSX. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Looking for libCppUnit.1.dylib * Install libCppUnit*. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Redis for OSX. To be restored later on. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove some display lines * Reenable tests * Add run tests on cmake build with ctest -VV * Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be used for excluding tests from ctest. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest * Set proper path Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Data* from CTest. Run tests on ARM * Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite * Replace MB by KB otherwise Travis & AppVeyor are timing out. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Specialize runtests.sh & excluded.sh according to OSX or Linux * Split OSX/Linux runtests.sh Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed invalid comment * Make runtests.sh executable * c++11 atomic<> default constructor is never initialized * Initialize to 0 in any case. * Comment out set -ev for now * Comment out set -ev for now * reset verbose mode * reset verbose mode * catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests * Use source for export ignored tests to avoid the permission denied problem * chmod 775 * Apply patches from @RangeIReale Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add cpp11-appleclang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Initialize AtomicCounter to 0 since the c++11 default constructor don't do it. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * avoid SIGPIPE on send * fix WbeSocketServer * Remove SIGPIPE workaround Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix WebSocketServer * Restore set -ev * Restore set -ev * Fix WebSocketServer responding loop Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cleanup the exit test. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add important comment. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Copy also cpp11-* so that mkrelease works! Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Avoid PocoDoc preprocessisng error. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * * Sync script and Platform_POSIX.h compiler versions * VS2013 & VS2015 fixups. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Backport to c++03 so that Travis and Appveyor be ok Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH. and Contributors. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * OSX: clang++ rejects return (*static_cast<Derived*>(this)); cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight' Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add generated file for now Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * deleted as source file name in lowercase. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Put cmake and ctest on the DOS PATH Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cygwin does not support timed_mutex * Put installed CMake /CTest on the DOS PATH. * Repackaging * Build VS2013 & VS2014 first. * Add std::string Foundation_API format(const std::string& fmt, const Any& value); Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore INLINES macros when compiling with c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Baclport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined. usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type typedef ulong nesting_map; /* Used for flags of nesting constructs */ ^ In file included from src/SQLExecutor.cpp:38:0: Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix merge failure. Set -ev option on shell. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove __*VISIBLE defines as GNU forbids their usage outside the system includes Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Use c++03 as last c++ version. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * MySQL needs ulong which are not visible when compiling with c++11 and above. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add BUILD_CC=gcc to avoid strip issue * Remove reference to FSM * make ?= operator does not work with * Remove BUILD_CC * Remove FSM since it is now in its own branch * Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441 * enable c++11 * remove changes tracking file (moved to project) * C++11: fixes for Travis CI (#1798) * Use c++11 compliant compiler: g++ 5 & clang 3.5.0 * Fix typo on IntType * Use Linux-clang config instead of Linux * Check arm-linux-gnueabi-g++ version. Dump compiler constants * Fix missing namespace qualifier * Ignore ltdl for Cygwin platform * Fix typo * Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does not support c++11 standard. * Restore logic as in develop branch * Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to -std=c++11 * Replace auto_ptr by unique_ptr * Comment out failing tests until be fixed * C++11: Fix AppVeyor CI yaml (#1812) * C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become minimum compiler versions. * Comment out image with VS2017 since it crashes. * New release of OpenSSL: 1_1_0f * Refactor the download steps of OpenSSL * C++11 support: Add VS2017 Win32 & x64 (#1816) * Add VS2017. * Use VSSetup to get VS150COMNTOOLS * Fix VS150COMNTOOLS value * Ignore Install-Module * Install VSSetUp PS module. * Fix typo missing $ * Split InstallPath againt "=" * Adjust VS150COMMONTOOLS path. * Exit failed is VS commontools is undefined. * Get the InstalledPath property value * Replace mysql-5.7.17 by mysql-5.7.18 * Replace mysql-5.7.17 by mysql-5.7.18 * c++11 thread priority and affinity, and more (#1811) * * c++11 thread priority and affinity * AtomicCounter wasn't using std::atomic * Buffer wasn't setting all fields on move * Poco::Event is not directly available in c++11, keep using the native versions * UnWindows.h define NOMINMAX to reduce conflicts * Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem) * Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+ * * Fixed std::thread POSIX handle * * Fix OSX compilation * raise cmake min version to 3.2.0 * Remove CMake jobs since it is already tested on Travis (#1832) * Remove CMake jobs since it is already tested on Travis * Add clang-3.7 * Ubuntu Trusty LLVM repo for gettign clang versions. * Remove 3.3 & 3.4 * Add clang 3.8, clang 3.9 & clang 4.0 * Add CXXFLAGS=-stdlib=libc++ * use libstdc++ instead of libc++ * Remove for now -g compiler option to avoid this spurious error on clang error: debug information for auto is not yet supported * Use -ftemplate-backtrace-limit=0 to dump the recursive template stack. * Cleanup * Use good gcc version * Fix gcc-5 & g++-5 name * Use libc++ instead of libstdc++ * Restore installation of gcc-5 * Readd agt-get update for gcc-5/g++-5 * Reswitch from libc++ to libstdc++ * Increase template evaluation stack size up to 340 to avoid a stack overflow in parsing TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14... * Add clang 3.4, 3.5, 3.6 * Adjust template evaluation stack for clang 3.4, 3.5, 3.6, 3.7 * Update notifications * Add gcc-4.9 * Backport Travis CXXFLAGS to config/Linux-clang * Remove CXXFLAGS from clang tests * Test g++ first, then clang++ and then arm * remove all non-c++11 code and POCO_ENABLE_CPP11 (default now) * remove old file * windows c++11 fixes * fix conversion warning * C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Json/parser (#1858) * move parser implementation in separate file * parser replacement, first attempt (wip) * making tests pass (mostly done, 3 to go) * add missing headers * honor no-null-byte-in-string setting * few more fixes * add -std=c99 * fix cmake JSON build and formatting * accept utf-8, fix tests * skip calling isdigit() * #740, #1860, license update, a warning fix * var emtpy()->clear(); json array and object tidy up * vs 2015 32-bit project update * update VS2017 projects * remove ProGen and all VS files older than 2015 * fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe * merge develop * add missing files * add VS generated dir to gitignore * add WEC2013.cmake * fix exception message * fix VS2017 ODBC project filter * integrate PageCompiler changes from poco-1.7.9 * vs2015 openssl build * added POCO_DEPRECATED macro * added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro * PageCompiler: support <%@ include file="<path>" %> syntax for includes. * remove '$Id$' headers * remove '$Id$' headers * remove old VMS and VxWorks build support * Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * C++11 (#1887) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide anymore their packages for Ubuntu Trusy * Remove ubuntu-toolchain-r/test/ubuntu since it is already installed * Comment our the llvl-toolchain-trusty since its checksum is buggy See https://bugs.llvm.org/show_bug.cgi?id=34572 * Display g++ version (#1889) * merge change from develop| * Support for PKCS#12 (#1876) * rebuild openssl binaries; warning and stlye fixes * fix vs2015 projects and openssl linking * add PKCS12Container * remove comments * style * add ECKey* and CryptoException * EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests * simplify EVPPKey, ad EC tests * EVPPKey test and fixes * fix linux build * PKCS12 tests and fixes * linux build, fix crash * fix leaks * uncomment ifstream tests, some minor fixes * fix stream tests and some tidy-up * remove $Id * add ECDSA * update makefile * align PKCS12 constructors signatures with X509 * EVPPKey EC curve name constructor * ECDSA fixes and tests * linux build, wrap tests in try/catch to get full exception message * style * update VS projects * remove openssl, modify VS projects for git submodule directories * add openssl submodule * add _CRT_SECURE_NO_WARNINGS * port crypto dev fixes from 1.8 * lock whole Event:set() * fix openssl include path * Add <memory> for std::unique_ptr (#1891) * Missing include <iostream> (#1893) * add file/stream load/save capabilities to EVPPKey * add EVPTest * add #include <typeinfo> * fix posix compile * update samples VS projects * fix g++ test compile error
2017-09-21 05:13:19 +02:00
linkmode: shared
2016-03-07 07:25:13 +01:00
- builder: msbuild
vsver: 150
2016-03-07 07:25:13 +01:00
linkmode: shared
# - builder: msbuild
# vsver: 140
# linkmode: static_md
2016-03-07 07:25:13 +01:00
# - builder: msbuild
# vsver: 140
# linkmode: static_mt
2016-03-07 07:25:13 +01:00
C++11 support #1793 (#1795) * * C++14 detection * C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock) * * C++11 Event - disable because std::condition_variable nas no built-in concept of reset std::condition_variable may be unblocked spuriously, must handle? * * Fix std::condition_variable handling * * C++11 semaphore * * Use Semaphore max paramater * * Implement manual reset Event and re-enable * Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now * * C++11 Thread (in progress) * * Fix auto reset event * * std::*mutex with timeout doesn't guarantee that the timeout will be respected * Thread in unix has special member for signal handling * * Workaround for AppleClang lack of thread_local * * C++11 format * * C++11 Logger * * Fix Poco::format * * std::function event delegate * * Fix StdFunctionDelegate for GCC * * C++11 move semantics * * Fix format test * * Add cpp11_changes files * * Auto detect compiler C++11/14 support * Option to force disable C++11/14 * * GCC/Clang need to enable C++11/14 support via command line switches * * Fixes for VS2013 C++11 support * * Makefile C++11/14 compiler detection (in progress) * * Simple GCC version detection * AppleClang version detection * Fix gcc c++11 build script Update c++11 status document * Use predefined constant instead of --version * Fix CC & CXX to gcc 4.8 for all matrix rows. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore apt-get update -qq Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Display g++ version and full g++ command line * Fix typo * Use command line/environment variables for CC & CXX * Display GCCVERSION * Use $(CXX) for setting GCCVERSION * Do not use <cstdint>, otherwise NumberFormatter wo'nt compile * restore silent mode on make * Use predefined constants __clang_major__ and __clang_minor__ * Reverse clang++ options * Add c++11/14 detection * -std=c++14 is not valid for clang 3.4 * Run tests for both gcc 4.6 & gcc 4.8 * Restore Apple clang setup * Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h On Linux ubuntu at Travis, clang 3.4 does not support std=c++14 * Add OSX run with clang * Add forgetted Linux guard on install * Display clang's predefined constants on OSX * Comment out Apple temporarly Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * export CC & CXX for OSX * Test when clang is from Apple Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove typo Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Align test with comment Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add Cygwin-clang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Install CppUnit for running the unit tests on OSX. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Looking for libCppUnit.1.dylib * Install libCppUnit*. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Redis for OSX. To be restored later on. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove some display lines * Reenable tests * Add run tests on cmake build with ctest -VV * Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be used for excluding tests from ctest. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest * Set proper path Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Data* from CTest. Run tests on ARM * Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite * Replace MB by KB otherwise Travis & AppVeyor are timing out. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Specialize runtests.sh & excluded.sh according to OSX or Linux * Split OSX/Linux runtests.sh Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed invalid comment * Make runtests.sh executable * c++11 atomic<> default constructor is never initialized * Initialize to 0 in any case. * Comment out set -ev for now * Comment out set -ev for now * reset verbose mode * reset verbose mode * catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests * Use source for export ignored tests to avoid the permission denied problem * chmod 775 * Apply patches from @RangeIReale Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add cpp11-appleclang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Initialize AtomicCounter to 0 since the c++11 default constructor don't do it. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * avoid SIGPIPE on send * fix WbeSocketServer * Remove SIGPIPE workaround Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix WebSocketServer * Restore set -ev * Restore set -ev * Fix WebSocketServer responding loop Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cleanup the exit test. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add important comment. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Copy also cpp11-* so that mkrelease works! Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Avoid PocoDoc preprocessisng error. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * * Sync script and Platform_POSIX.h compiler versions * VS2013 & VS2015 fixups. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Backport to c++03 so that Travis and Appveyor be ok Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH. and Contributors. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * OSX: clang++ rejects return (*static_cast<Derived*>(this)); cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight' Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add generated file for now Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * deleted as source file name in lowercase. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Put cmake and ctest on the DOS PATH Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cygwin does not support timed_mutex * Put installed CMake /CTest on the DOS PATH. * Repackaging * Build VS2013 & VS2014 first. * Add std::string Foundation_API format(const std::string& fmt, const Any& value); Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore INLINES macros when compiling with c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Baclport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined. usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type typedef ulong nesting_map; /* Used for flags of nesting constructs */ ^ In file included from src/SQLExecutor.cpp:38:0: Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix merge failure. Set -ev option on shell. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove __*VISIBLE defines as GNU forbids their usage outside the system includes Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Use c++03 as last c++ version. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * MySQL needs ulong which are not visible when compiling with c++11 and above. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add BUILD_CC=gcc to avoid strip issue * Remove reference to FSM * make ?= operator does not work with * Remove BUILD_CC * Remove FSM since it is now in its own branch * Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441 * enable c++11 * remove changes tracking file (moved to project) * C++11: fixes for Travis CI (#1798) * Use c++11 compliant compiler: g++ 5 & clang 3.5.0 * Fix typo on IntType * Use Linux-clang config instead of Linux * Check arm-linux-gnueabi-g++ version. Dump compiler constants * Fix missing namespace qualifier * Ignore ltdl for Cygwin platform * Fix typo * Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does not support c++11 standard. * Restore logic as in develop branch * Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to -std=c++11 * Replace auto_ptr by unique_ptr * Comment out failing tests until be fixed * C++11: Fix AppVeyor CI yaml (#1812) * C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become minimum compiler versions. * Comment out image with VS2017 since it crashes. * New release of OpenSSL: 1_1_0f * Refactor the download steps of OpenSSL * C++11 support: Add VS2017 Win32 & x64 (#1816) * Add VS2017. * Use VSSetup to get VS150COMNTOOLS * Fix VS150COMNTOOLS value * Ignore Install-Module * Install VSSetUp PS module. * Fix typo missing $ * Split InstallPath againt "=" * Adjust VS150COMMONTOOLS path. * Exit failed is VS commontools is undefined. * Get the InstalledPath property value * Replace mysql-5.7.17 by mysql-5.7.18 * Replace mysql-5.7.17 by mysql-5.7.18 * c++11 thread priority and affinity, and more (#1811) * * c++11 thread priority and affinity * AtomicCounter wasn't using std::atomic * Buffer wasn't setting all fields on move * Poco::Event is not directly available in c++11, keep using the native versions * UnWindows.h define NOMINMAX to reduce conflicts * Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem) * Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+ * * Fixed std::thread POSIX handle * * Fix OSX compilation * raise cmake min version to 3.2.0 * Remove CMake jobs since it is already tested on Travis (#1832) * Remove CMake jobs since it is already tested on Travis * Add clang-3.7 * Ubuntu Trusty LLVM repo for gettign clang versions. * Remove 3.3 & 3.4 * Add clang 3.8, clang 3.9 & clang 4.0 * Add CXXFLAGS=-stdlib=libc++ * use libstdc++ instead of libc++ * Remove for now -g compiler option to avoid this spurious error on clang error: debug information for auto is not yet supported * Use -ftemplate-backtrace-limit=0 to dump the recursive template stack. * Cleanup * Use good gcc version * Fix gcc-5 & g++-5 name * Use libc++ instead of libstdc++ * Restore installation of gcc-5 * Readd agt-get update for gcc-5/g++-5 * Reswitch from libc++ to libstdc++ * Increase template evaluation stack size up to 340 to avoid a stack overflow in parsing TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14... * Add clang 3.4, 3.5, 3.6 * Adjust template evaluation stack for clang 3.4, 3.5, 3.6, 3.7 * Update notifications * Add gcc-4.9 * Backport Travis CXXFLAGS to config/Linux-clang * Remove CXXFLAGS from clang tests * Test g++ first, then clang++ and then arm * remove all non-c++11 code and POCO_ENABLE_CPP11 (default now) * remove old file * windows c++11 fixes * fix conversion warning * C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Json/parser (#1858) * move parser implementation in separate file * parser replacement, first attempt (wip) * making tests pass (mostly done, 3 to go) * add missing headers * honor no-null-byte-in-string setting * few more fixes * add -std=c99 * fix cmake JSON build and formatting * accept utf-8, fix tests * skip calling isdigit() * #740, #1860, license update, a warning fix * var emtpy()->clear(); json array and object tidy up * vs 2015 32-bit project update * update VS2017 projects * remove ProGen and all VS files older than 2015 * fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe * merge develop * add missing files * add VS generated dir to gitignore * add WEC2013.cmake * fix exception message * fix VS2017 ODBC project filter * integrate PageCompiler changes from poco-1.7.9 * vs2015 openssl build * added POCO_DEPRECATED macro * added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro * PageCompiler: support <%@ include file="<path>" %> syntax for includes. * remove '$Id$' headers * remove '$Id$' headers * remove old VMS and VxWorks build support * Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * C++11 (#1887) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide anymore their packages for Ubuntu Trusy * Remove ubuntu-toolchain-r/test/ubuntu since it is already installed * Comment our the llvl-toolchain-trusty since its checksum is buggy See https://bugs.llvm.org/show_bug.cgi?id=34572 * Display g++ version (#1889) * merge change from develop| * Support for PKCS#12 (#1876) * rebuild openssl binaries; warning and stlye fixes * fix vs2015 projects and openssl linking * add PKCS12Container * remove comments * style * add ECKey* and CryptoException * EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests * simplify EVPPKey, ad EC tests * EVPPKey test and fixes * fix linux build * PKCS12 tests and fixes * linux build, fix crash * fix leaks * uncomment ifstream tests, some minor fixes * fix stream tests and some tidy-up * remove $Id * add ECDSA * update makefile * align PKCS12 constructors signatures with X509 * EVPPKey EC curve name constructor * ECDSA fixes and tests * linux build, wrap tests in try/catch to get full exception message * style * update VS projects * remove openssl, modify VS projects for git submodule directories * add openssl submodule * add _CRT_SECURE_NO_WARNINGS * port crypto dev fixes from 1.8 * lock whole Event:set() * fix openssl include path * Add <memory> for std::unique_ptr (#1891) * Missing include <iostream> (#1893) * add file/stream load/save capabilities to EVPPKey * add EVPTest * add #include <typeinfo> * fix posix compile * update samples VS projects * fix g++ test compile error
2017-09-21 05:13:19 +02:00
# - builder: msbuild
# vsver: 150
# linkmode: shared
2016-03-07 07:25:13 +01:00
# - builder: msbuild
# vsver: 150
# linkmode: static_md
2016-03-07 07:25:13 +01:00
# - builder: msbuild
# vsver: 150
# linkmode: static_mt
2016-03-07 07:25:13 +01:00
- builder: cmake
vsver: 140
- builder: cmake
vsver: 150
2016-03-07 07:25:13 +01:00
matrix:
fast_finish: true
install:
- git submodule update --init --recursive
# -------------------------------------------------------------------------------------------
2017-10-20 22:37:19 +02:00
# VS2017 setup. VS2017 does not provide VS150COMNTOOLS.
# See https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/
# -------------------------------------------------------------------------------------------
- ps: |
2017-10-20 22:37:19 +02:00
Install-Module VSSetup -Scope CurrentUser -Force
$installationPath = Get-VSSetupInstance | Select-VSSetupInstance -Latest -Require Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | select InstallationPath
2017-10-20 22:37:19 +02:00
$vs150comntools = $installationPath.psobject.properties.Value;
set-item -force -path "ENV:VS150COMNTOOLS" -value "$vs150comntools\Common7\Tools\"
Write-Host "`nVS150COMNTOOLS=$env:VS150COMNTOOLS" -ForegroundColor Yellow
# -------------------------------------------------------------------------------------------
- if "%builder%"=="cygwin" (
if "%platform%"=="Win32" (
C:\cygwin\setup-x86.exe -qnNdO -R C:/cygwin -s http://cygwin.mirror.constant.com -l C:/cygwin/var/cache/setup -P libpq-devel -P libpcre-devel -P openssl-devel -P libiodbc-devel -P libiodbc2 -P odbc-mysql -P odbc-pgsql -P odbc-sqlite3 -P libmysqlclient-devel -P libsqlite3-devel -P libcrypt-devel))
2017-10-20 22:37:19 +02:00
- if "%builder%"=="cygwin" (
2017-10-20 22:37:19 +02:00
if "%platform%"=="x64" (
C:\cygwin64\setup-x86_64.exe -qnNdO -R C:/cygwin64 -s http://cygwin.mirror.constant.com -l C:/cygwin64/var/cache/setup -P libpq-devel -P libpcre-devel -P openssl-devel -P libiodbc-devel -P libiodbc2 -P odbc-mysql -P odbc-pgsql -P odbc-sqlite3 -P libmysqlclient-devel -P libsqlite3-devel -P libcrypt-devel))
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
- set POCO_BASE=%CD%
- set PATH=C:\ProgramData\chocolatey\bin;%PATH%
- ps: |
if ($env:builder -eq "cygwin")
{
if ($env:platform -eq "Win32")
{
$env:PATH = "C:\cygwin\bin;" + $env:PATH
}
if ($env:platform -eq "x64")
{
$env:PATH = "c:\cygwin64\bin;" + $env:PATH
}
C++11 support #1793 (#1795) * * C++14 detection * C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock) * * C++11 Event - disable because std::condition_variable nas no built-in concept of reset std::condition_variable may be unblocked spuriously, must handle? * * Fix std::condition_variable handling * * C++11 semaphore * * Use Semaphore max paramater * * Implement manual reset Event and re-enable * Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now * * C++11 Thread (in progress) * * Fix auto reset event * * std::*mutex with timeout doesn't guarantee that the timeout will be respected * Thread in unix has special member for signal handling * * Workaround for AppleClang lack of thread_local * * C++11 format * * C++11 Logger * * Fix Poco::format * * std::function event delegate * * Fix StdFunctionDelegate for GCC * * C++11 move semantics * * Fix format test * * Add cpp11_changes files * * Auto detect compiler C++11/14 support * Option to force disable C++11/14 * * GCC/Clang need to enable C++11/14 support via command line switches * * Fixes for VS2013 C++11 support * * Makefile C++11/14 compiler detection (in progress) * * Simple GCC version detection * AppleClang version detection * Fix gcc c++11 build script Update c++11 status document * Use predefined constant instead of --version * Fix CC & CXX to gcc 4.8 for all matrix rows. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore apt-get update -qq Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Display g++ version and full g++ command line * Fix typo * Use command line/environment variables for CC & CXX * Display GCCVERSION * Use $(CXX) for setting GCCVERSION * Do not use <cstdint>, otherwise NumberFormatter wo'nt compile * restore silent mode on make * Use predefined constants __clang_major__ and __clang_minor__ * Reverse clang++ options * Add c++11/14 detection * -std=c++14 is not valid for clang 3.4 * Run tests for both gcc 4.6 & gcc 4.8 * Restore Apple clang setup * Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h On Linux ubuntu at Travis, clang 3.4 does not support std=c++14 * Add OSX run with clang * Add forgetted Linux guard on install * Display clang's predefined constants on OSX * Comment out Apple temporarly Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * export CC & CXX for OSX * Test when clang is from Apple Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove typo Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Align test with comment Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add Cygwin-clang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Install CppUnit for running the unit tests on OSX. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Looking for libCppUnit.1.dylib * Install libCppUnit*. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Redis for OSX. To be restored later on. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove some display lines * Reenable tests * Add run tests on cmake build with ctest -VV * Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be used for excluding tests from ctest. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest * Set proper path Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Data* from CTest. Run tests on ARM * Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite * Replace MB by KB otherwise Travis & AppVeyor are timing out. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Specialize runtests.sh & excluded.sh according to OSX or Linux * Split OSX/Linux runtests.sh Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed invalid comment * Make runtests.sh executable * c++11 atomic<> default constructor is never initialized * Initialize to 0 in any case. * Comment out set -ev for now * Comment out set -ev for now * reset verbose mode * reset verbose mode * catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests * Use source for export ignored tests to avoid the permission denied problem * chmod 775 * Apply patches from @RangeIReale Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add cpp11-appleclang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Initialize AtomicCounter to 0 since the c++11 default constructor don't do it. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * avoid SIGPIPE on send * fix WbeSocketServer * Remove SIGPIPE workaround Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix WebSocketServer * Restore set -ev * Restore set -ev * Fix WebSocketServer responding loop Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cleanup the exit test. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add important comment. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Copy also cpp11-* so that mkrelease works! Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Avoid PocoDoc preprocessisng error. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * * Sync script and Platform_POSIX.h compiler versions * VS2013 & VS2015 fixups. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Backport to c++03 so that Travis and Appveyor be ok Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH. and Contributors. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * OSX: clang++ rejects return (*static_cast<Derived*>(this)); cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight' Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add generated file for now Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * deleted as source file name in lowercase. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Put cmake and ctest on the DOS PATH Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cygwin does not support timed_mutex * Put installed CMake /CTest on the DOS PATH. * Repackaging * Build VS2013 & VS2014 first. * Add std::string Foundation_API format(const std::string& fmt, const Any& value); Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore INLINES macros when compiling with c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Baclport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined. usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type typedef ulong nesting_map; /* Used for flags of nesting constructs */ ^ In file included from src/SQLExecutor.cpp:38:0: Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix merge failure. Set -ev option on shell. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove __*VISIBLE defines as GNU forbids their usage outside the system includes Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Use c++03 as last c++ version. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * MySQL needs ulong which are not visible when compiling with c++11 and above. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add BUILD_CC=gcc to avoid strip issue * Remove reference to FSM * make ?= operator does not work with * Remove BUILD_CC * Remove FSM since it is now in its own branch * Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441 * enable c++11 * remove changes tracking file (moved to project) * C++11: fixes for Travis CI (#1798) * Use c++11 compliant compiler: g++ 5 & clang 3.5.0 * Fix typo on IntType * Use Linux-clang config instead of Linux * Check arm-linux-gnueabi-g++ version. Dump compiler constants * Fix missing namespace qualifier * Ignore ltdl for Cygwin platform * Fix typo * Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does not support c++11 standard. * Restore logic as in develop branch * Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to -std=c++11 * Replace auto_ptr by unique_ptr * Comment out failing tests until be fixed * C++11: Fix AppVeyor CI yaml (#1812) * C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become minimum compiler versions. * Comment out image with VS2017 since it crashes. * New release of OpenSSL: 1_1_0f * Refactor the download steps of OpenSSL * C++11 support: Add VS2017 Win32 & x64 (#1816) * Add VS2017. * Use VSSetup to get VS150COMNTOOLS * Fix VS150COMNTOOLS value * Ignore Install-Module * Install VSSetUp PS module. * Fix typo missing $ * Split InstallPath againt "=" * Adjust VS150COMMONTOOLS path. * Exit failed is VS commontools is undefined. * Get the InstalledPath property value * Replace mysql-5.7.17 by mysql-5.7.18 * Replace mysql-5.7.17 by mysql-5.7.18 * c++11 thread priority and affinity, and more (#1811) * * c++11 thread priority and affinity * AtomicCounter wasn't using std::atomic * Buffer wasn't setting all fields on move * Poco::Event is not directly available in c++11, keep using the native versions * UnWindows.h define NOMINMAX to reduce conflicts * Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem) * Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+ * * Fixed std::thread POSIX handle * * Fix OSX compilation * raise cmake min version to 3.2.0 * Remove CMake jobs since it is already tested on Travis (#1832) * Remove CMake jobs since it is already tested on Travis * Add clang-3.7 * Ubuntu Trusty LLVM repo for gettign clang versions. * Remove 3.3 & 3.4 * Add clang 3.8, clang 3.9 & clang 4.0 * Add CXXFLAGS=-stdlib=libc++ * use libstdc++ instead of libc++ * Remove for now -g compiler option to avoid this spurious error on clang error: debug information for auto is not yet supported * Use -ftemplate-backtrace-limit=0 to dump the recursive template stack. * Cleanup * Use good gcc version * Fix gcc-5 & g++-5 name * Use libc++ instead of libstdc++ * Restore installation of gcc-5 * Readd agt-get update for gcc-5/g++-5 * Reswitch from libc++ to libstdc++ * Increase template evaluation stack size up to 340 to avoid a stack overflow in parsing TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14... * Add clang 3.4, 3.5, 3.6 * Adjust template evaluation stack for clang 3.4, 3.5, 3.6, 3.7 * Update notifications * Add gcc-4.9 * Backport Travis CXXFLAGS to config/Linux-clang * Remove CXXFLAGS from clang tests * Test g++ first, then clang++ and then arm * remove all non-c++11 code and POCO_ENABLE_CPP11 (default now) * remove old file * windows c++11 fixes * fix conversion warning * C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Json/parser (#1858) * move parser implementation in separate file * parser replacement, first attempt (wip) * making tests pass (mostly done, 3 to go) * add missing headers * honor no-null-byte-in-string setting * few more fixes * add -std=c99 * fix cmake JSON build and formatting * accept utf-8, fix tests * skip calling isdigit() * #740, #1860, license update, a warning fix * var emtpy()->clear(); json array and object tidy up * vs 2015 32-bit project update * update VS2017 projects * remove ProGen and all VS files older than 2015 * fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe * merge develop * add missing files * add VS generated dir to gitignore * add WEC2013.cmake * fix exception message * fix VS2017 ODBC project filter * integrate PageCompiler changes from poco-1.7.9 * vs2015 openssl build * added POCO_DEPRECATED macro * added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro * PageCompiler: support <%@ include file="<path>" %> syntax for includes. * remove '$Id$' headers * remove '$Id$' headers * remove old VMS and VxWorks build support * Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * C++11 (#1887) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide anymore their packages for Ubuntu Trusy * Remove ubuntu-toolchain-r/test/ubuntu since it is already installed * Comment our the llvl-toolchain-trusty since its checksum is buggy See https://bugs.llvm.org/show_bug.cgi?id=34572 * Display g++ version (#1889) * merge change from develop| * Support for PKCS#12 (#1876) * rebuild openssl binaries; warning and stlye fixes * fix vs2015 projects and openssl linking * add PKCS12Container * remove comments * style * add ECKey* and CryptoException * EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests * simplify EVPPKey, ad EC tests * EVPPKey test and fixes * fix linux build * PKCS12 tests and fixes * linux build, fix crash * fix leaks * uncomment ifstream tests, some minor fixes * fix stream tests and some tidy-up * remove $Id * add ECDSA * update makefile * align PKCS12 constructors signatures with X509 * EVPPKey EC curve name constructor * ECDSA fixes and tests * linux build, wrap tests in try/catch to get full exception message * style * update VS projects * remove openssl, modify VS projects for git submodule directories * add openssl submodule * add _CRT_SECURE_NO_WARNINGS * port crypto dev fixes from 1.8 * lock whole Event:set() * fix openssl include path * Add <memory> for std::unique_ptr (#1891) * Missing include <iostream> (#1893) * add file/stream load/save capabilities to EVPPKey * add EVPTest * add #include <typeinfo> * fix posix compile * update samples VS projects * fix g++ test compile error
2017-09-21 05:13:19 +02:00
g++ --version
}
- uname -a
- cat /proc/cpuinfo
- cat /proc/meminfo
2016-03-07 07:25:13 +01:00
- ps: |
if ($env:builder -eq "cmake")
{
if (Test-Path "$env:ChocolateyInstall\bin\jom.exe") {
echo "using jom from cache"
} else {
choco install jom
}
}
2016-07-20 11:25:47 +02:00
# if (Test-Path "$env:ChocolateyInstall\bin\cmake.exe") {
# echo "using cmake from cache"
# } else {
# choco install cmake
# }
2016-03-07 07:25:13 +01:00
# -------------------------------------------------------------------------------------------
# chocolatey brokes jom, here's workaround
# see https://github.com/jcfr/qt-easy-build/commit/6366f4275562bdaf4f686838600f46894579c41e)
# -------------------------------------------------------------------------------------------
- ps: |
if ($env:builder -eq "cmake")
{
$env:PATH = $env:ChocolateyInstall + "\bin;" + $env:PATH
$env:PATH = $env:ChocolateyInstall + "\lib\jom\content;" + $env:PATH
$env:PATH = "C:\Program Files (x86)\cmake\bin;" + $env:PATH
$env:PATH = "C:\Program Files (x86)\ctest\bin;" + $env:PATH
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
}
# -------------------------------------------------------------------------------------------
# -------------------------------------------------------------------------------------------
# OpenSSL-Win32 & OpenSSL-Win64
# Download & use OpenSSL from Shining Light Productions for CMake
# until CMake use implicitly the embedded openssl from the Poco repo. See issue #1093
# -------------------------------------------------------------------------------------------
- ps: |
if ($env:builder -eq "cmake")
2016-03-07 07:25:13 +01:00
{
if ($env:platform -eq "Win32")
{
$openssl = $env:OPENSSL32
$opensslexe = $env:OPENSSL32EXE
2016-03-07 07:25:13 +01:00
}
if ($env:platform -eq "x64")
{
$openssl = $env:OPENSSL64
$opensslexe = $env:OPENSSL64EXE
}
$opensslurl = $env:OPENSSLURL + "/" + $opensslexe
2017-10-20 22:37:19 +02:00
if (Test-Path $openssl) {
Write-Host "using $openssl from cache" -ForegroundColor Yellow
} else {
Write-Host "downloading $openssl" -ForegroundColor Cyan
Start-FileDownload $opensslurl
Write-Host "installing $openssl" -ForegroundColor Green
Start-Process $opensslexe -Args "/silent /verysilent /sp- /suppressmsgboxes" -Wait
2016-03-07 07:25:13 +01:00
}
}
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
# MySQL 32 bit is not available by default on AppVeyor
# -------------------------------------------------------------------------------------------
- ps: |
if ($env:platform -eq "Win32")
{
2016-03-09 15:10:13 +01:00
if (Test-Path $env:MYSQL32) {
Write-Host "using $env:MYSQL32 from cache" -ForegroundColor Yellow
}
else
{
Write-Host "downloading $env:MYSQL32" -ForegroundColor Cyan
Invoke-WebRequest $env:MYSQL32URL -OutFile $env:MYSQL32ZIP
Write-Host "installing $env:MYSQL32" -ForegroundColor Green
7z x -y $env:MYSQL32ZIP -oc:\
2016-03-09 15:10:13 +01:00
}
}
# -------------------------------------------------------------------------------------------
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
# PostgreSQL 32 bit is not available by default on AppVeyor
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
# -------------------------------------------------------------------------------------------
- ps: |
if ($env:platform -eq "Win32")
{
2016-03-09 15:10:13 +01:00
if (Test-Path $env:POSTGRES32) {
Write-Host "using $env:POSTGRES32 from cache" -ForegroundColor Yellow
}
else
{
2016-03-09 15:10:13 +01:00
Write-Host "Installing $env:POSTGRES32 ..." -ForegroundColor Cyan
Write-Host "Downloading..."
$exePath = "$($env:USERPROFILE)\postgresql-9.6.5-1-windows.exe"
(New-Object Net.WebClient).DownloadFile('http://get.enterprisedb.com/postgresql/postgresql-9.6.5-1-windows.exe', $exePath)
Write-Host "Installing..."
cmd /c start /wait $exePath --mode unattended --superpassword Password12!
del $exePath
Write-Host "Setting up services..."
Stop-Service postgresql-9.6
Set-Service -Name postgresql-9.6 -StartupType Manual
2016-03-09 15:10:13 +01:00
Write-Host "$env:POSTGRES32 installed" -ForegroundColor Green
}
}
# -------------------------------------------------------------------------------------------
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
before_build:
- set
2016-03-07 07:25:13 +01:00
- ps: |
if ($env:builder -eq "cmake")
{
if ($env:vsver -eq "110")
{
$vspath= convert-path $env:VS110COMNTOOLS\..\..\VC\bin; $yyyy='2010'
if($env:platform -eq 'Win32') { $vctool='';}
if($env:platform -eq 'x64') { $vctool='x86_amd64';$vspath+='\'+$vctool }
}
if ($env:vsver -eq "120")
{
$vspath= convert-path $env:VS120COMNTOOLS\..\..\VC\bin;$yyyy='2013'
if($env:platform -eq 'Win32') { $vctool='';}
2017-10-20 22:37:19 +02:00
if($env:platform -eq 'x64') { $vctool='x86_amd64';$vspath+='\'+$vctool }
2016-03-07 07:25:13 +01:00
}
if ($env:vsver -eq "140")
{
$vspath= convert-path $env:VS140COMNTOOLS\..\..\VC\bin; $yyyy='2015'
if($env:platform -eq 'Win32') { $vctool='';}
if($env:platform -eq 'x64') { $vctool='x86_amd64';$vspath+='\'+$vctool }
}
if ($env:vsver -eq "150")
{
$vspath= convert-path $env:VS150COMNTOOLS\..\..\VC\bin; $yyyy='2017'
if($env:platform -eq 'Win32') { $vctool='';}
if($env:platform -eq 'x64') { $vctool='x86_amd64';$vspath+='\'+$vctool }
}
pushd $vspath;
$tool= if($vctool -eq '') {'32'} else {$vctool}
cmd /c "vcvars$tool.bat&set" |
foreach {
if ($_ -match "=") {
$v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
}
}
popd
write-host "`nVisual Studio $yyyy CLI variables set." -ForegroundColor Yellow
}
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
# MySQL
# & C:\cygwin\bin\ls -lR $env:MYSQL32
# & C:\cygwin\bin\ls -lR $env:MYSQL64
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
- ps: |
if ($env:platform -eq "Win32")
{
$env:INCLUDE = $env:MYSQL32 + "\include;" + $env:INCLUDE
$env:LIB = $env:MYSQL32 + "\lib;" + $env:LIB
$env:PATH = $env:MYSQL32 + "\bin;" + $env:PATH
if (Test-Path ($env:MYSQL32 + "\lib\libmysql.dll")) {
$from = $env:MYSQL32 + "\lib\libmysql.dll";
$to = $env:MYSQL32 + "\bin\libmysql.dll"
copy $from $to
}
}
if ($env:platform -eq "x64")
{
$env:INCLUDE = $env:MYSQL64 + "\include;" + $env:INCLUDE
$env:LIB = $env:MYSQL64 + "\lib;" + $env:LIB
$env:PATH = $env:MYSQL64 + "\bin;" + $env:PATH
if (Test-Path ($env:MYSQL64 + "\lib\libmysql.dll")) {
$from = $env:MYSQL64 + "\lib\libmysql.dll";
$to = $env:MYSQL64 + "\bin\libmysql.dll"
copy $from $to
}
}
$env:MYSQL_PWD="Password12!"
$cmd = 'mysql -e "create database pocotestdb;" --user=root';
iex "& $cmd"
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
# PostgreSQL
2017-10-20 22:37:19 +02:00
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
- ps: |
if ($env:platform -eq "Win32")
{
$env:INCLUDE = $env:POSTGRES32 + "\include;" + $env:INCLUDE
$env:LIB = $env:POSTGRES32 + "\lib;" + $env:LIB
$env:PATH = $env:POSTGRES32 + "\bin;" + $env:PATH
}
if ($env:platform -eq "x64")
{
$env:INCLUDE = $env:POSTGRES64 + "\include;" + $env:INCLUDE
$env:LIB = $env:POSTGRES64 + "\lib;" + $env:LIB
$env:PATH = $env:POSTGRES64 + "\bin;" + $env:PATH
}
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
after_build:
- ps: |
$line='-------------------------------------------------------------------------------------';
$find='C:\Cygwin\bin\find.exe';
$arg1="$env:POCO_BASE -type f -name '*.cpp' -exec grep -n -H ";
2016-03-07 07:25:13 +01:00
$arg2=" {} ;"
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
$word='FIXME'
Write-Host -ForegroundColor Yellow $word;
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
Start-Process -nnw -Wait -FilePath $find -Args "$arg1 $word $arg2" -RSO cout -RSE cerr;
2016-03-07 07:25:13 +01:00
gc cout; gc cerr;
Write-Host -ForegroundColor Yellow $line;
Write-Host;Write-Host;
$word='TODO'
Write-Host -ForegroundColor Yellow $word;
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
Start-Process -nnw -Wait -FilePath $find -Args "$arg1 $word $arg2" -RSO cout -RSE cerr;
2016-03-07 07:25:13 +01:00
gc cout; gc cerr;
Write-Host -ForegroundColor Yellow $line;
Write-Host;Write-Host;
$word='HACK'
Write-Host -ForegroundColor Yellow $word;
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
Start-Process -nnw -Wait -FilePath $find -Args "$arg1 $word $arg2" -RSO cout -RSE cerr;
2016-03-07 07:25:13 +01:00
gc cout; gc cerr;
Write-Host -ForegroundColor Yellow $line;
Write-Host;Write-Host;
build_script:
# -------------------------------------------------------------------------------------------
# When building with cmake, it remains one exception reported below
2017-10-20 22:37:19 +02:00
# Once this problem be fixed, a fix from Microsoft about mc.exe outputing informative
2016-03-07 07:25:13 +01:00
# message on stderr: https://connect.microsoft.com/VisualStudio/Feedback/Details/2161572
# the try/catch around the cmake builder can be removed
#
# [ 1%] Generating pocomsg.h
# cmake : MC: Compiling C:/projects/poco/Foundation/src/pocomsg.mc
# At line:16 char:3
# + cmake --build . --config $env:configuration
# + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# + CategoryInfo : NotSpecified: (MC: Compiling C.../src/pocomsg.mc:String) [], RemoteException
2017-10-20 22:37:19 +02:00
# + FullyQualifiedErrorId : NativeCommandError
2016-03-07 07:25:13 +01:00
#
# Command executed with exception: MC: Compiling C:/projects/poco/Foundation/src/pocomsg.mc
# -------------------------------------------------------------------------------------------
# Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441
# -------------------------------------------------------------------------------------------
2016-03-07 07:25:13 +01:00
- ps: |
if ($env:builder -eq "cygwin")
{
$LastExitCode=0;
$cmd='bash.exe configure --everything --omit=PDF';iex "& $cmd"
if ($LastExitCode -ne 0) {
throw "$cmd failed with exit code $LastExitCode."
}
$LastExitCode=0;
$cmd='make.exe -s';iex "& $cmd"
if ($LastExitCode -ne 0) {
throw "$cmd failed with exit code $LastExitCode."
}
}
2016-03-07 07:25:13 +01:00
if ($env:builder -eq "msbuild")
{
$logger='"C:\Progra~1\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"';
2016-03-07 07:25:13 +01:00
$verbosity='minimal';
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
$process = Start-Process -PassThru -nnw -Wait -FilePath "$env:poco_base\buildwin.cmd" -RSO cout -RSE cerr `
2016-08-23 08:42:53 +02:00
-EA Stop -Args "$env:vsver build $env:linkmode $env:configuration $env:platform samples tests msbuild env $verbosity $logger";
2016-03-07 07:25:13 +01:00
gc cout; gc cerr;
Write-Host -ForegroundColor Yellow '>>> current directory is ' $(get-location).Path;
}
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
if ($env:builder -eq "cmake")
{
mkdir cmake-build | out-null;pushd cmake-build;
if ($env:platform -eq "Win32")
{
$openssl = $env:OPENSSL32
2016-03-07 07:25:13 +01:00
}
if ($env:platform -eq "x64")
{
$openssl = $env:OPENSSL64
2016-03-07 07:25:13 +01:00
}
if ($env:vsver -eq "140")
{
$generator = '"Visual Studio 14 2015"'
}
if ($env:vsver -eq "150")
{
$generator = '"Visual Studio 15 2017"'
}
$defs = "--config RelWithDebInfo"
$defs+=" -G" + $generator;
$defs+=" -DCMAKE_BUILD_TYPE=RelWithDebInfo";
if ($env:vsver -eq "150")
{
$defs+=" -DDISABLE_INTERNAL_OPENSSL=ON";
}
$defs+=" -DENABLE_PDF=OFF";
$defs+=" -DENABLE_NETSSL=ON";
2016-03-07 07:25:13 +01:00
$defs+=" -DENABLE_NETSSL_WIN=ON";
$defs+=" -DENABLE_DATA_MYSQL=OFF";
$defs+=" -DENABLE_REDIS=OFF";
$defs+=" -DENABLE_SAMPLES=ON";
$defs+=" -DENABLE_TESTS=ON";
$defs+=" ..";
Write-Host -ForegroundColor Yellow cmake $defs
$process = Start-Process -PassThru -nnw -Wait -FilePath "cmake" -RSO cout -RSE cerr -Args $defs;
gc cout; gc cerr;
try {
$ErrorActionPreference = 'Continue';
2017-10-20 22:37:19 +02:00
Write-Host -ForegroundColor Yellow cmake `-`-build .
cmake `-`-build .
2016-03-07 07:25:13 +01:00
} catch {
Write-Warning "Oops: $_"
}
popd
Write-Host -ForegroundColor Yellow '>>> current directory is ' $(get-location).Path;
$ErrorActionPreference = 'Stop';
}
2016-03-07 07:25:13 +01:00
before_test:
- ps: |
2016-03-07 07:25:13 +01:00
$line='-------------------------------------------------------------------------------------';
$CPPUNIT_IGNORE='';
$CPPUNIT_IGNORE+='class CppUnit::TestCaller<class NTPClientTest>.testTimeSync';
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class RawSocketTest>.testEchoIPv4';
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class RawSocketTest>.testSendToReceiveFromIPv4';
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class ICMPClientTest>.testPing';
2017-10-09 16:53:26 +02:00
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class ICMPClientTest>.testBigPing';
2016-03-07 07:25:13 +01:00
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class HTTPSClientSessionTest>.testProxy';
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class HTTPSStreamFactoryTest>.testProxy';
$CPPUNIT_IGNORE+=', class CppUnit::TestCaller<class TCPServerTest>.testReuseSocket';
2016-03-07 07:25:13 +01:00
set-item -force -path "ENV:CPPUNIT_IGNORE" -value $CPPUNIT_IGNORE
Write-Host -ForegroundColor Yellow 'CPPUNIT_IGNORE'
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
foreach($t in $CPPUNIT_IGNORE.split(",")) { Write-Host -ForegroundColor Yellow $t.trim() }
2016-03-07 07:25:13 +01:00
Write-Host -ForegroundColor Yellow $line;
C++11 support #1793 (#1795) * * C++14 detection * C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock) * * C++11 Event - disable because std::condition_variable nas no built-in concept of reset std::condition_variable may be unblocked spuriously, must handle? * * Fix std::condition_variable handling * * C++11 semaphore * * Use Semaphore max paramater * * Implement manual reset Event and re-enable * Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now * * C++11 Thread (in progress) * * Fix auto reset event * * std::*mutex with timeout doesn't guarantee that the timeout will be respected * Thread in unix has special member for signal handling * * Workaround for AppleClang lack of thread_local * * C++11 format * * C++11 Logger * * Fix Poco::format * * std::function event delegate * * Fix StdFunctionDelegate for GCC * * C++11 move semantics * * Fix format test * * Add cpp11_changes files * * Auto detect compiler C++11/14 support * Option to force disable C++11/14 * * GCC/Clang need to enable C++11/14 support via command line switches * * Fixes for VS2013 C++11 support * * Makefile C++11/14 compiler detection (in progress) * * Simple GCC version detection * AppleClang version detection * Fix gcc c++11 build script Update c++11 status document * Use predefined constant instead of --version * Fix CC & CXX to gcc 4.8 for all matrix rows. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore apt-get update -qq Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Display g++ version and full g++ command line * Fix typo * Use command line/environment variables for CC & CXX * Display GCCVERSION * Use $(CXX) for setting GCCVERSION * Do not use <cstdint>, otherwise NumberFormatter wo'nt compile * restore silent mode on make * Use predefined constants __clang_major__ and __clang_minor__ * Reverse clang++ options * Add c++11/14 detection * -std=c++14 is not valid for clang 3.4 * Run tests for both gcc 4.6 & gcc 4.8 * Restore Apple clang setup * Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h On Linux ubuntu at Travis, clang 3.4 does not support std=c++14 * Add OSX run with clang * Add forgetted Linux guard on install * Display clang's predefined constants on OSX * Comment out Apple temporarly Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * export CC & CXX for OSX * Test when clang is from Apple Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove typo Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Align test with comment Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add Cygwin-clang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Install CppUnit for running the unit tests on OSX. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Looking for libCppUnit.1.dylib * Install libCppUnit*. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Redis for OSX. To be restored later on. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove some display lines * Reenable tests * Add run tests on cmake build with ctest -VV * Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be used for excluding tests from ctest. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest * Set proper path Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Exclude Data* from CTest. Run tests on ARM * Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite * Replace MB by KB otherwise Travis & AppVeyor are timing out. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Specialize runtests.sh & excluded.sh according to OSX or Linux * Split OSX/Linux runtests.sh Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed invalid comment * Make runtests.sh executable * c++11 atomic<> default constructor is never initialized * Initialize to 0 in any case. * Comment out set -ev for now * Comment out set -ev for now * reset verbose mode * reset verbose mode * catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests * Use source for export ignored tests to avoid the permission denied problem * chmod 775 * Apply patches from @RangeIReale Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add cpp11-appleclang Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Initialize AtomicCounter to 0 since the c++11 default constructor don't do it. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * avoid SIGPIPE on send * fix WbeSocketServer * Remove SIGPIPE workaround Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix WebSocketServer * Restore set -ev * Restore set -ev * Fix WebSocketServer responding loop Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cleanup the exit test. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add important comment. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Copy also cpp11-* so that mkrelease works! Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Avoid PocoDoc preprocessisng error. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * * Sync script and Platform_POSIX.h compiler versions * VS2013 & VS2015 fixups. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Backport to c++03 so that Travis and Appveyor be ok Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH. and Contributors. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Backport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * OSX: clang++ rejects return (*static_cast<Derived*>(this)); cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight' Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * BAckport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Add generated file for now Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * deleted as source file name in lowercase. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Put cmake and ctest on the DOS PATH Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Cygwin does not support timed_mutex * Put installed CMake /CTest on the DOS PATH. * Repackaging * Build VS2013 & VS2014 first. * Add std::string Foundation_API format(const std::string& fmt, const Any& value); Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Restore INLINES macros when compiling with c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Rename stoplight_sm.h to Stoplight_sm.h Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * VS2013 fixup. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Baclport to c++03 Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined. usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type typedef ulong nesting_map; /* Used for flags of nesting constructs */ ^ In file included from src/SQLExecutor.cpp:38:0: Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Fix merge failure. Set -ev option on shell. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Removed Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined. Signed-off-by: FrancisANDRE <zosrothko@orange.fr> * Remove __*VISIBLE defines as GNU forbids their usage outside the system includes Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Use c++03 as last c++ version. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * MySQL needs ulong which are not visible when compiling with c++11 and above. Signed-off-by: Francis ANDRE <zosrothko@orange.fr> * Add BUILD_CC=gcc to avoid strip issue * Remove reference to FSM * make ?= operator does not work with * Remove BUILD_CC * Remove FSM since it is now in its own branch * Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441 * enable c++11 * remove changes tracking file (moved to project) * C++11: fixes for Travis CI (#1798) * Use c++11 compliant compiler: g++ 5 & clang 3.5.0 * Fix typo on IntType * Use Linux-clang config instead of Linux * Check arm-linux-gnueabi-g++ version. Dump compiler constants * Fix missing namespace qualifier * Ignore ltdl for Cygwin platform * Fix typo * Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does not support c++11 standard. * Restore logic as in develop branch * Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to -std=c++11 * Replace auto_ptr by unique_ptr * Comment out failing tests until be fixed * C++11: Fix AppVeyor CI yaml (#1812) * C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become minimum compiler versions. * Comment out image with VS2017 since it crashes. * New release of OpenSSL: 1_1_0f * Refactor the download steps of OpenSSL * C++11 support: Add VS2017 Win32 & x64 (#1816) * Add VS2017. * Use VSSetup to get VS150COMNTOOLS * Fix VS150COMNTOOLS value * Ignore Install-Module * Install VSSetUp PS module. * Fix typo missing $ * Split InstallPath againt "=" * Adjust VS150COMMONTOOLS path. * Exit failed is VS commontools is undefined. * Get the InstalledPath property value * Replace mysql-5.7.17 by mysql-5.7.18 * Replace mysql-5.7.17 by mysql-5.7.18 * c++11 thread priority and affinity, and more (#1811) * * c++11 thread priority and affinity * AtomicCounter wasn't using std::atomic * Buffer wasn't setting all fields on move * Poco::Event is not directly available in c++11, keep using the native versions * UnWindows.h define NOMINMAX to reduce conflicts * Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem) * Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+ * * Fixed std::thread POSIX handle * * Fix OSX compilation * raise cmake min version to 3.2.0 * Remove CMake jobs since it is already tested on Travis (#1832) * Remove CMake jobs since it is already tested on Travis * Add clang-3.7 * Ubuntu Trusty LLVM repo for gettign clang versions. * Remove 3.3 & 3.4 * Add clang 3.8, clang 3.9 & clang 4.0 * Add CXXFLAGS=-stdlib=libc++ * use libstdc++ instead of libc++ * Remove for now -g compiler option to avoid this spurious error on clang error: debug information for auto is not yet supported * Use -ftemplate-backtrace-limit=0 to dump the recursive template stack. * Cleanup * Use good gcc version * Fix gcc-5 & g++-5 name * Use libc++ instead of libstdc++ * Restore installation of gcc-5 * Readd agt-get update for gcc-5/g++-5 * Reswitch from libc++ to libstdc++ * Increase template evaluation stack size up to 340 to avoid a stack overflow in parsing TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14... * Add clang 3.4, 3.5, 3.6 * Adjust template evaluation stack for clang 3.4, 3.5, 3.6, 3.7 * Update notifications * Add gcc-4.9 * Backport Travis CXXFLAGS to config/Linux-clang * Remove CXXFLAGS from clang tests * Test g++ first, then clang++ and then arm * remove all non-c++11 code and POCO_ENABLE_CPP11 (default now) * remove old file * windows c++11 fixes * fix conversion warning * C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Json/parser (#1858) * move parser implementation in separate file * parser replacement, first attempt (wip) * making tests pass (mostly done, 3 to go) * add missing headers * honor no-null-byte-in-string setting * few more fixes * add -std=c99 * fix cmake JSON build and formatting * accept utf-8, fix tests * skip calling isdigit() * #740, #1860, license update, a warning fix * var emtpy()->clear(); json array and object tidy up * vs 2015 32-bit project update * update VS2017 projects * remove ProGen and all VS files older than 2015 * fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe * merge develop * add missing files * add VS generated dir to gitignore * add WEC2013.cmake * fix exception message * fix VS2017 ODBC project filter * integrate PageCompiler changes from poco-1.7.9 * vs2015 openssl build * added POCO_DEPRECATED macro * added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro * PageCompiler: support <%@ include file="<path>" %> syntax for includes. * remove '$Id$' headers * remove '$Id$' headers * remove old VMS and VxWorks build support * Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * C++11 (#1887) * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex * Add Mutext_POSIX.cpp * Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide anymore their packages for Ubuntu Trusy * Remove ubuntu-toolchain-r/test/ubuntu since it is already installed * Comment our the llvl-toolchain-trusty since its checksum is buggy See https://bugs.llvm.org/show_bug.cgi?id=34572 * Display g++ version (#1889) * merge change from develop| * Support for PKCS#12 (#1876) * rebuild openssl binaries; warning and stlye fixes * fix vs2015 projects and openssl linking * add PKCS12Container * remove comments * style * add ECKey* and CryptoException * EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests * simplify EVPPKey, ad EC tests * EVPPKey test and fixes * fix linux build * PKCS12 tests and fixes * linux build, fix crash * fix leaks * uncomment ifstream tests, some minor fixes * fix stream tests and some tidy-up * remove $Id * add ECDSA * update makefile * align PKCS12 constructors signatures with X509 * EVPPKey EC curve name constructor * ECDSA fixes and tests * linux build, wrap tests in try/catch to get full exception message * style * update VS projects * remove openssl, modify VS projects for git submodule directories * add openssl submodule * add _CRT_SECURE_NO_WARNINGS * port crypto dev fixes from 1.8 * lock whole Event:set() * fix openssl include path * Add <memory> for std::unique_ptr (#1891) * Missing include <iostream> (#1893) * add file/stream load/save capabilities to EVPPKey * add EVPTest * add #include <typeinfo> * fix posix compile * update samples VS projects * fix g++ test compile error
2017-09-21 05:13:19 +02:00
2016-03-07 07:25:13 +01:00
after_test:
2016-03-07 07:25:13 +01:00
test_script:
- ps: |
$runs=0;$fails=0;$failedTests='';$status=0;$tab="`t";
$line='-------------------------------------------------------------------------------------';
if ($env:configuration -eq "release")
{
if ($env:builder -eq "cygwin")
{
$LastExitCode=0;
if ($env:platform -eq "Win32")
{
$cmd = 'C:\cygwin\usr\sbin\cygserver.exe "&"';iex "& $cmd"
}
if ($env:platform -eq "x64")
{
$cmd = 'C:\cygwin64\usr\sbin\cygserver.exe "&"';iex "& $cmd"
}
$cmd = 'bash.exe -c "appveyor/Cygwin/runtests.sh"';iex "& $cmd";
Write-Host -ForegroundColor Yellow $cmd ': LastExitCode=' $lastExitCode;
}
2016-03-07 07:25:13 +01:00
if ($env:builder -eq "msbuild" -and $env:linkmode -eq "shared")
{
$suffix = '';
if ($env:platform -eq "Win32")
{
$env:PATH = "$env:POCO_BASE\bin;" + $env:PATH;$suffix = '';
$excluded = @('Data', 'Data/ODBC', 'Redis', 'PDF')
2016-03-07 07:25:13 +01:00
}
if ($env:platform -eq "x64")
{
$env:PATH = "$env:POCO_BASE\bin64;" + $env:PATH;$suffix = 64;
$excluded = @('Data', 'Data/ODBC', 'Redis', 'PDF')
2016-03-07 07:25:13 +01:00
}
Write-Host -ForegroundColor Yellow '>>> current directory is ' $(get-location).Path;
$components = gc $env:poco_base\components;
Write-Host components;
Write-Host -ForegroundColor Yellow $line;
$components;
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
Write-Host excluded;
Write-Host -ForegroundColor Yellow $line;
$excluded
Write-Host -ForegroundColor Yellow $line;
2017-10-20 22:37:19 +02:00
foreach ($component in $components) {
2016-03-07 07:25:13 +01:00
if ($excluded -notcontains $component) {
$path = "$env:poco_base\" + $component + "\testsuite\bin$suffix\TestSuite.exe";
if (Test-Path -Path $path) {
$runs += 1;
Add-AppveyorTest -Framework 'CppUnit' -Name $component -Outcome 'Running'
2017-10-20 22:37:19 +02:00
Write-Host -ForegroundColor Yellow $line;
Write-Host -ForegroundColor Yellow '|' $env:APPVEYOR_BUILD_VERSION $env:vs$vsver $env:Platform $env:Configuration $env:linkmode '|' $tab $tab $component;
Write-Host -ForegroundColor Yellow $line;
2016-03-07 07:25:13 +01:00
$started = Get-Date
$process = Start-Process -PassThru -nnw -Wait -FilePath "$path" -Args "-all" -RSO cout -RSE cerr;
$ended = Get-Date
$millisec = ($ended - $started).totalmilliseconds
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
gc cout; gc cerr;
if ($process.ExitCode -gt 0) {
$fails += 1;$failedTests += $component + ', ';
Add-AppveyorTest -Framework 'CppUnit' -Name $component -Outcome 'Failed' -Duration $millisec
} else {
Add-AppveyorTest -Framework 'CppUnit' -Name $component -Outcome 'Passed' -Duration $millisec
}
} else {
Add-AppveyorTest -Framework 'CppUnit' -Name $component -Outcome 'NotFound'
}
} else {
Add-AppveyorTest -Framework 'CppUnit' -Name $component -Outcome 'Skipped'
}
}
2017-10-20 22:37:19 +02:00
}
if ($env:builder -eq "cmake")
2016-03-07 07:25:13 +01:00
{
pushd cmake-build;
Write-Host -ForegroundColor Yellow $line;
ctest --config RelWithDebInfo -N
2016-03-07 07:25:13 +01:00
Write-Host -ForegroundColor Yellow $line;
Write-Host -ForegroundColor Yellow 'ctest -C Debug -VV -E Data*'
ctest -C Debug -VV -E Data*
2016-03-07 07:25:13 +01:00
popd
}
Write-Host $runs' runs, ' $fails' fails'
if ($fails -gt 0)
{
Write-Host 'Failed: ' $failedTests
$host.SetShouldExit($fails);
2017-10-20 22:37:19 +02:00
} else
2016-03-07 07:25:13 +01:00
{
$host.SetShouldExit(0);
}
}
2017-10-20 22:37:19 +02:00
on_success:
2016-03-07 07:25:13 +01:00
- echo success
on_failure:
- echo failure
on_finish:
- echo finish
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
notifications:
- provider: Email
on_build_success: false
on_build_failure: false
on_build_status_changed: false
2017-10-20 22:37:19 +02:00
2016-03-07 07:25:13 +01:00
- provider: Slack
incoming_webhook: https://hooks.slack.com/services/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
auth_token:
secure: Xsss/K3VV9wZI9Ffwvafa67kyohNA437xJ3WA9fVI4w=
channel: appveyor
on_build_success: false
on_build_failure: true
on_build_status_changed: true
2017-10-20 22:37:19 +02:00