1
2##############################################################################
3# Project specific settings
4##############################################################################
5
6language: c
7
8cache:
9  directories:
10  - $HOME/third-party
11
12osx_image: xcode8
13
14addons:
15  apt:
16    packages:
17      - cmake
18      - openssl
19      - libssl-dev
20    sources:
21      - kubuntu-backports
22
23
24before_install:
25  - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
26      mkdir $HOME/usr;
27      export PATH="$HOME/usr/bin:$PATH";
28      wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh --no-check-certificate;
29      chmod +x cmake-3.7.2-Linux-x86_64.sh;
30      ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license;
31    fi
32  - cmake --version
33
34
35install:
36  - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
37      PATH=~/.local/bin:${PATH};
38      pip install --user --upgrade pip;
39      pip install --user cpp-coveralls;
40    fi
41
42before_script:
43  # Add an IPv6 config - see the corresponding Travis issue
44  # https://github.com/travis-ci/travis-ci/issues/8361
45  - if [ "${ENABLE_IPV6}" == "YES" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
46      echo "Activating IPv6 on Travis";
47      sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6';
48    fi
49  # Check some settings of the build server (operating system, IPv6 availability, directory)
50  - uname -a
51  - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
52      lsb_release -a;
53      cat /etc/network/interfaces;
54    fi
55  - ifconfig
56  - pwd
57  - ls -la
58  - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
59      apt-cache search gcc | grep "GNU C compiler";
60      apt-cache search clang | grep compiler;
61    fi
62  - if [[ "${BUILD_TYPE}" == "OSX_OPENSSL_1_1" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl@1.1 ;fi
63  # Generate the build scripts with CMake
64  - mkdir output
65  - gcc unittest/cgi_test.c -o output/cgi_test.cgi
66  - cd output
67  - cmake --version
68  - cmake
69    -G "Unix Makefiles"
70    -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
71    -DBUILD_SHARED_LIBS=${BUILD_SHARED}
72    "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
73    -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
74    -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
75    -DCIVETWEB_DISABLE_CGI=${NO_CGI}
76    -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
77    -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
78    -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
79    -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
80    -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
81    -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
82    -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
83    -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
84    -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
85    -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
86    -DCIVETWEB_C_STANDARD=${C_STANDARD}
87    -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
88    -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
89    -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
90    ${ADDITIONAL_CMAKE_ARGS}
91    ..
92  - ls -la
93
94# Modifications due to Travis IPv6 issues:
95# https://github.com/travis-ci/travis-ci/issues/8711
96# https://github.com/travis-ci/travis-ci/issues/8361
97# DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6} or =NO
98
99script:
100  - if [ "${MACOSX_PACKAGE}" == "1" ]; then
101      cd "${TRAVIS_BUILD_DIR}";
102      make -f Makefile.osx package;
103    else
104      CTEST_OUTPUT_ON_FAILURE=1 make all test;
105    fi
106  - pwd
107  - ls -la unittest
108  - echo "Show all test logs:"
109  - if [ "${MACOSX_PACKAGE}" != "1" ]; then
110      for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
111      for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
112    fi
113  - echo "Build and test script DONE"
114
115# Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
116after_success:
117  - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
118      coveralls --include src --exclude src/main.c --exclude src/third_party --include include --gcov-options '\-lp' --root .. --build-root .;
119      bash <(curl -s https://codecov.io/bash);
120    fi
121
122conan-linux: &conan-linux
123    os: linux
124    dist: xenial
125    language: python
126    python: "3.7"
127    services:
128      - docker
129    if: tag IS present
130    before_install:
131      - true
132    install:
133      - ./conan/travis/install.sh
134    before_script:
135      - true
136    script:
137      - ./conan/travis/build.sh
138    after_success:
139      - true
140
141conan-osx: &conan-osx
142    os: osx
143    language: generic
144    if: tag IS present
145    before_install:
146      - true
147    install:
148      - ./conan/travis/install.sh
149    before_script:
150      - true
151    script:
152      - ./conan/travis/build.sh
153    after_success:
154      - true
155
156
157##############################################################################
158# build matrix
159##############################################################################
160
161
162matrix:
163  fast_finish: false
164  include:
165
166  - dist: trusty
167    sudo: false
168    os: linux
169    compiler: clang
170    addons:
171      apt:
172        sources:
173          - ubuntu-toolchain-r-test
174          - llvm-toolchain-precise-3.8
175        packages:
176          - clang-3.8
177    env:
178      idx=1
179      N=Clang3.8-Linux-Minimal-Debug
180      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
181      BUILD_TYPE=Debug
182      ENABLE_SSL_DYNAMIC_LOADING=YES
183      OPENSSL_1_1=NO
184      ENABLE_CXX=NO
185      ENABLE_LUA_SHARED=NO
186      C_STANDARD=auto
187      CXX_STANDARD=auto
188      BUILD_SHARED=NO
189      NO_FILES=YES
190      ENABLE_SSL=NO
191      NO_CGI=YES
192      ENABLE_IPV6=NO
193      ENABLE_WEBSOCKETS=NO
194      ENABLE_SERVER_STATS=NO
195      ENABLE_LUA=NO
196      ENABLE_DUKTAPE=NO
197      NO_CACHING=NO
198      ALLOW_WARNINGS=YES
199
200  - dist: trusty
201    sudo: false
202    os: linux
203    compiler: clang
204    addons:
205      apt:
206        sources:
207          - ubuntu-toolchain-r-test
208          - llvm-toolchain-precise-3.8
209        packages:
210          - clang-3.8
211    env:
212      idx=2
213      N=Clang3.8-Linux-Default-Release
214      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
215      BUILD_TYPE=Release
216      ENABLE_SSL_DYNAMIC_LOADING=YES
217      OPENSSL_1_1=NO
218      ENABLE_CXX=NO
219      ENABLE_LUA_SHARED=NO
220      C_STANDARD=auto
221      CXX_STANDARD=auto
222      BUILD_SHARED=NO
223      NO_FILES=NO
224      ENABLE_SSL=YES
225      NO_CGI=NO
226      ENABLE_IPV6=NO
227      ENABLE_WEBSOCKETS=NO
228      ENABLE_SERVER_STATS=NO
229      ENABLE_LUA=NO
230      ENABLE_DUKTAPE=NO
231      NO_CACHING=NO
232      NO_CACHING=NO
233      ALLOW_WARNINGS=YES
234
235  - dist: trusty
236    sudo: false
237    os: linux
238    compiler: clang
239    addons:
240      apt:
241        sources:
242          - ubuntu-toolchain-r-test
243          - llvm-toolchain-precise-3.8
244        packages:
245          - clang-3.8
246    env:
247      idx=3
248      N=Clang3.8-Linux-Default-Release
249      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
250      BUILD_TYPE=Release
251      ENABLE_SSL_DYNAMIC_LOADING=YES
252      OPENSSL_1_1=NO
253      ENABLE_CXX=NO
254      ENABLE_LUA_SHARED=NO
255      C_STANDARD=auto
256      CXX_STANDARD=auto
257      BUILD_SHARED=NO
258      NO_FILES=NO
259      ENABLE_SSL=YES
260      NO_CGI=NO
261      ENABLE_IPV6=NO
262      ENABLE_WEBSOCKETS=NO
263      ENABLE_SERVER_STATS=NO
264      ENABLE_LUA=NO
265      ENABLE_DUKTAPE=NO
266      NO_CACHING=NO
267      ALLOW_WARNINGS=YES
268
269  - dist: trusty
270    sudo: required
271    os: linux
272    compiler: clang
273    addons:
274      apt:
275        sources:
276          - ubuntu-toolchain-r-test
277          - llvm-toolchain-precise-3.8
278        packages:
279          - clang-3.8
280    env:
281      idx=4
282      N=Clang3.8-Linux-Complete-NoLua-Release
283      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
284      BUILD_TYPE=Release
285      ENABLE_SSL_DYNAMIC_LOADING=YES
286      OPENSSL_1_1=NO
287      ENABLE_CXX=NO
288      ENABLE_LUA_SHARED=NO
289      C_STANDARD=auto
290      CXX_STANDARD=auto
291      BUILD_SHARED=NO
292      NO_FILES=NO
293      ENABLE_SSL=YES
294      NO_CGI=NO
295      ENABLE_IPV6=YES
296      ENABLE_WEBSOCKETS=YES
297      ENABLE_SERVER_STATS=YES
298      ENABLE_LUA=NO
299      ENABLE_DUKTAPE=NO
300      NO_CACHING=YES
301      ALLOW_WARNINGS=YES
302
303
304  - dist: trusty
305    sudo: required
306    os: linux
307    compiler: gcc
308    addons:
309      apt:
310        sources:
311          - ubuntu-toolchain-r-test
312        packages:
313          - g++-5
314    env:
315      idx=5
316      N=GCC5-Linux-Complete-NoLua-Release
317      MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
318      BUILD_TYPE=Release
319      ENABLE_SSL_DYNAMIC_LOADING=YES
320      OPENSSL_1_1=NO
321      ENABLE_CXX=NO
322      ENABLE_LUA_SHARED=NO
323      C_STANDARD=auto
324      CXX_STANDARD=auto
325      BUILD_SHARED=NO
326      NO_FILES=NO
327      ENABLE_SSL=YES
328      NO_CGI=NO
329      ENABLE_IPV6=YES
330      ENABLE_WEBSOCKETS=YES
331      ENABLE_SERVER_STATS=YES
332      ENABLE_LUA=NO
333      ENABLE_DUKTAPE=NO
334      NO_CACHING=YES
335      ALLOW_WARNINGS=YES
336
337  - os: linux
338    sudo: required
339    compiler: gcc
340    env:
341      idx=6
342      N=GCCAnyVersion-Linux-Coverage
343      BUILD_TYPE=Coverage
344      ENABLE_SSL_DYNAMIC_LOADING=YES
345      OPENSSL_1_1=NO
346      ENABLE_CXX=NO
347      ENABLE_LUA_SHARED=NO
348      C_STANDARD=auto
349      CXX_STANDARD=auto
350      BUILD_SHARED=NO
351      NO_FILES=NO
352      ENABLE_SSL=YES
353      NO_CGI=NO
354      ENABLE_IPV6=YES
355      ENABLE_WEBSOCKETS=YES
356      ENABLE_SERVER_STATS=YES
357      ENABLE_LUA=NO
358      ENABLE_DUKTAPE=NO
359      NO_CACHING=NO
360      ALLOW_WARNINGS=YES
361
362  - os: osx
363    sudo: required
364    compiler: clang
365    env:
366      idx=7
367      N=Clang-OSX-Complete-NoLua-Release
368      BUILD_TYPE=Release
369      ENABLE_SSL_DYNAMIC_LOADING=YES
370      OPENSSL_1_1=NO
371      ENABLE_CXX=NO
372      ENABLE_LUA_SHARED=NO
373      C_STANDARD=auto
374      CXX_STANDARD=auto
375      BUILD_SHARED=NO
376      NO_FILES=NO
377      ENABLE_SSL=YES
378      NO_CGI=NO
379      ENABLE_IPV6=YES
380      ENABLE_WEBSOCKETS=YES
381      ENABLE_SERVER_STATS=YES
382      ENABLE_LUA=NO
383      ENABLE_DUKTAPE=NO
384      NO_CACHING=YES
385      ALLOW_WARNINGS=YES
386
387  -
388    os: osx
389    sudo: required
390    compiler: clang
391    env:
392      idx=8
393      N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
394      BUILD_TYPE=OSX_OPENSSL_1_1
395      ENABLE_SSL_DYNAMIC_LOADING=NO
396      OPENSSL_1_1=YES
397      ENABLE_CXX=NO
398      ENABLE_LUA_SHARED=NO
399      C_STANDARD=auto
400      CXX_STANDARD=auto
401      BUILD_SHARED=NO
402      NO_FILES=NO
403      ENABLE_SSL=YES
404      NO_CGI=NO
405      ENABLE_IPV6=YES
406      ENABLE_WEBSOCKETS=YES
407      ENABLE_SERVER_STATS=YES
408      ENABLE_LUA=NO
409      ENABLE_DUKTAPE=NO
410      NO_CACHING=YES
411      ALLOW_WARNINGS=YES
412      OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
413      LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
414      CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
415      ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
416      PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
417      DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
418
419  - dist: trusty
420    sudo: false
421    os: linux
422    compiler: clang
423    addons:
424      apt:
425        sources:
426          - ubuntu-toolchain-r-test
427          - llvm-toolchain-trusty-5.0
428        packages:
429          - clang-5.0
430    env:
431      idx=9
432      N=Clang50-Linux-Default-Shared
433      BUILD_TYPE=Debug
434      ENABLE_SSL_DYNAMIC_LOADING=YES
435      OPENSSL_1_1=NO
436      ENABLE_CXX=NO
437      ENABLE_LUA_SHARED=NO
438      C_STANDARD=auto
439      CXX_STANDARD=auto
440      BUILD_SHARED=YES
441      NO_FILES=NO
442      ENABLE_SSL=YES
443      NO_CGI=NO
444      ENABLE_IPV6=NO
445      ENABLE_WEBSOCKETS=NO
446      ENABLE_SERVER_STATS=NO
447      ENABLE_LUA=NO
448      ENABLE_DUKTAPE=NO
449      NO_CACHING=NO
450      ALLOW_WARNINGS=YES
451      MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
452
453  -
454    os: linux
455    dist: precise
456    sudo: required
457    compiler: clang
458    env:
459      idx=10
460      N=Precise-Clang-Linux-Default
461      BUILD_TYPE=Debug
462      ENABLE_SSL_DYNAMIC_LOADING=YES
463      OPENSSL_1_1=NO
464      ENABLE_CXX=NO
465      ENABLE_LUA_SHARED=NO
466      C_STANDARD=auto
467      CXX_STANDARD=auto
468      BUILD_SHARED=NO
469      NO_FILES=NO
470      ENABLE_SSL=YES
471      NO_CGI=NO
472      ENABLE_IPV6=NO
473      ENABLE_WEBSOCKETS=NO
474      ENABLE_SERVER_STATS=NO
475      ENABLE_LUA=NO
476      ENABLE_DUKTAPE=NO
477      NO_CACHING=NO
478      ALLOW_WARNINGS=YES
479
480  -
481    os: osx
482    sudo: required
483    compiler: clang
484    env:
485      idx=11
486      N=OSX-Package
487      BUILD_TYPE=Release
488      ENABLE_SSL_DYNAMIC_LOADING=YES
489      OPENSSL_1_1=NO
490      ENABLE_CXX=NO
491      ENABLE_LUA_SHARED=NO
492      C_STANDARD=auto
493      CXX_STANDARD=auto
494      BUILD_SHARED=NO
495      NO_FILES=NO
496      ENABLE_SSL=YES
497      NO_CGI=NO
498      ENABLE_IPV6=YES
499      ENABLE_WEBSOCKETS=YES
500      ENABLE_SERVER_STATS=NO
501      ENABLE_LUA=NO
502      ENABLE_DUKTAPE=NO
503      NO_CACHING=NO
504      ALLOW_WARNINGS=YES
505      MACOSX_PACKAGE=1
506
507  - dist: trusty
508    sudo: required
509    os: linux
510    compiler: clang
511    addons:
512      apt:
513        sources:
514          - ubuntu-toolchain-r-test
515          - llvm-toolchain-trusty-3.8
516        packages:
517          - clang-3.8
518    env:
519      idx=12
520      N=Clang-Linux-32bit-Complete-NoLua-Release
521      ARCH=x86
522      BUILD_TYPE=Release
523      ENABLE_SSL_DYNAMIC_LOADING=YES
524      OPENSSL_1_1=NO
525      ENABLE_CXX=NO
526      ENABLE_LUA_SHARED=NO
527      C_STANDARD=auto
528      CXX_STANDARD=auto
529      BUILD_SHARED=NO
530      NO_FILES=NO
531      ENABLE_SSL=YES
532      NO_CGI=NO
533      ENABLE_IPV6=YES
534      ENABLE_WEBSOCKETS=YES
535      ENABLE_SERVER_STATS=YES
536      ENABLE_LUA=NO
537      ENABLE_DUKTAPE=NO
538      NO_CACHING=YES
539      ALLOW_WARNINGS=YES
540      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
541
542
543### Test all build types:
544# According to CMakeLists, options are:
545# None Debug Release RelWithDebInfo MinSizeRel Coverage
546
547  -
548    os: linux
549    sudo: required
550    compiler: clang
551    env:
552      idx=13
553      N=NoSslDynamicLoading
554      BUILD_TYPE=Release
555      ENABLE_SSL_DYNAMIC_LOADING=NO
556      OPENSSL_1_1=NO
557      ENABLE_CXX=NO
558      C_STANDARD=auto
559      CXX_STANDARD=auto
560      ENABLE_LUA_SHARED=NO
561      BUILD_SHARED=NO
562      NO_FILES=NO
563      ENABLE_SSL=YES
564      NO_CGI=NO
565      ENABLE_IPV6=YES
566      ENABLE_WEBSOCKETS=YES
567      ENABLE_LUA=NO
568      ENABLE_DUKTAPE=NO
569      NO_CACHING=NO
570      ALLOW_WARNINGS=YES
571      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
572
573  -
574    os: linux
575    compiler: gcc
576    env:
577      idx=14
578      N=GCCLinuxDefault_Debug
579      BUILD_TYPE=Debug
580      ENABLE_SSL_DYNAMIC_LOADING=YES
581      OPENSSL_1_1=NO
582      ENABLE_CXX=NO
583      ENABLE_LUA_SHARED=NO
584      C_STANDARD=auto
585      CXX_STANDARD=auto
586      BUILD_SHARED=NO
587      NO_FILES=NO
588      ENABLE_SSL=YES
589      NO_CGI=NO
590      ENABLE_IPV6=NO
591      ENABLE_WEBSOCKETS=NO
592      ENABLE_LUA=NO
593      ENABLE_DUKTAPE=NO
594      NO_CACHING=NO
595      ALLOW_WARNINGS=YES
596
597  -
598    os: linux
599    compiler: gcc
600    env:
601      idx=15
602      N=GCCLinuxDefault_RelWithDebInfo
603      BUILD_TYPE=RelWithDebInfo
604      ENABLE_SSL_DYNAMIC_LOADING=YES
605      OPENSSL_1_1=NO
606      ENABLE_CXX=NO
607      ENABLE_LUA_SHARED=NO
608      C_STANDARD=auto
609      CXX_STANDARD=auto
610      BUILD_SHARED=NO
611      NO_FILES=NO
612      ENABLE_SSL=YES
613      NO_CGI=NO
614      ENABLE_IPV6=NO
615      ENABLE_WEBSOCKETS=NO
616      ENABLE_LUA=NO
617      ENABLE_DUKTAPE=NO
618      NO_CACHING=NO
619      ALLOW_WARNINGS=YES
620
621  -
622    os: linux
623    compiler: gcc
624    env:
625      idx=16
626      N=GCCLinuxDefault_MinSizeRel
627      BUILD_TYPE=MinSizeRel
628      ENABLE_SSL_DYNAMIC_LOADING=YES
629      OPENSSL_1_1=NO
630      ENABLE_CXX=NO
631      ENABLE_LUA_SHARED=NO
632      C_STANDARD=auto
633      CXX_STANDARD=auto
634      BUILD_SHARED=NO
635      NO_FILES=NO
636      ENABLE_SSL=YES
637      NO_CGI=NO
638      ENABLE_IPV6=NO
639      ENABLE_WEBSOCKETS=NO
640      ENABLE_LUA=NO
641      ENABLE_DUKTAPE=NO
642      NO_CACHING=NO
643      ALLOW_WARNINGS=YES
644
645  -
646    os: linux
647    compiler: gcc
648    env:
649      idx=17
650      N=GCCLinuxDefault_None
651      BUILD_TYPE=None
652      ENABLE_SSL_DYNAMIC_LOADING=YES
653      OPENSSL_1_1=NO
654      ENABLE_CXX=NO
655      ENABLE_LUA_SHARED=NO
656      C_STANDARD=auto
657      CXX_STANDARD=auto
658      BUILD_SHARED=NO
659      NO_FILES=NO
660      ENABLE_SSL=YES
661      NO_CGI=NO
662      ENABLE_IPV6=NO
663      ENABLE_WEBSOCKETS=NO
664      ENABLE_LUA=NO
665      ENABLE_DUKTAPE=NO
666      NO_CACHING=NO
667      ALLOW_WARNINGS=YES
668
669  -
670    os: linux
671    compiler: clang
672    env:
673      idx=18
674      N=Clang3.8-Linux-Complete-NoLua-Debug
675      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
676      BUILD_TYPE=Debug
677      ENABLE_SSL_DYNAMIC_LOADING=YES
678      OPENSSL_1_1=NO
679      ENABLE_CXX=NO
680      ENABLE_LUA_SHARED=YES
681      C_STANDARD=auto
682      CXX_STANDARD=auto
683      BUILD_SHARED=NO
684      NO_FILES=NO
685      ENABLE_SSL=YES
686      NO_CGI=NO
687      ENABLE_IPV6=YES
688      ENABLE_WEBSOCKETS=YES
689      ENABLE_SERVER_STATS=YES
690      ENABLE_LUA=NO
691      ENABLE_DUKTAPE=NO
692      NO_CACHING=YES
693      ALLOW_WARNINGS=YES
694
695  - dist: trusty
696    sudo: false
697    os: linux
698    compiler: clang
699    addons:
700      apt:
701        sources:
702          - ubuntu-toolchain-r-test
703          - llvm-toolchain-trusty-5.0
704        packages:
705          - clang-5.0
706    env:
707      idx=19
708      N=Clang5.0-Linux-Complete-CXX-NoLua-Release
709      MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
710      BUILD_TYPE=Release
711      ENABLE_SSL_DYNAMIC_LOADING=YES
712      OPENSSL_1_1=NO
713      ENABLE_CXX=YES
714      ENABLE_LUA_SHARED=YES
715      C_STANDARD=auto
716      CXX_STANDARD=auto
717      BUILD_SHARED=NO
718      NO_FILES=NO
719      ENABLE_SSL=YES
720      NO_CGI=NO
721      ENABLE_IPV6=YES
722      ENABLE_WEBSOCKETS=YES
723      ENABLE_SERVER_STATS=YES
724      ENABLE_LUA=NO
725      ENABLE_DUKTAPE=NO
726      NO_CACHING=NO
727      ALLOW_WARNINGS=YES
728
729  -
730    os: linux
731    compiler: gcc
732    dist: xenial
733    env:
734      idx=20
735      N=GCCLinuxDefault_xenial
736      BUILD_TYPE=Release
737      ENABLE_SSL_DYNAMIC_LOADING=YES
738      OPENSSL_1_1=NO
739      ENABLE_CXX=NO
740      ENABLE_LUA_SHARED=NO
741      C_STANDARD=auto
742      CXX_STANDARD=auto
743      BUILD_SHARED=NO
744      NO_FILES=NO
745      ENABLE_SSL=YES
746      NO_CGI=NO
747      ENABLE_IPV6=NO
748      ENABLE_WEBSOCKETS=NO
749      ENABLE_LUA=NO
750      ENABLE_DUKTAPE=NO
751      NO_CACHING=NO
752      ALLOW_WARNINGS=YES
753
754  - <<: *conan-linux
755    env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_DOCKER_32_IMAGES=1
756  - <<: *conan-linux
757    env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 CONAN_DOCKER_32_IMAGES=1
758  - <<: *conan-linux
759    env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 CONAN_DOCKER_32_IMAGES=1
760  - <<: *conan-linux
761    env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 CONAN_DOCKER_32_IMAGES=1
762  - <<: *conan-linux
763    env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 CONAN_DOCKER_32_IMAGES=1
764  - <<: *conan-linux
765    env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 CONAN_DOCKER_32_IMAGES=1
766  - <<: *conan-linux
767    env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 CONAN_DOCKER_32_IMAGES=1
768  - <<: *conan-linux
769    env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 CONAN_DOCKER_32_IMAGES=1
770  - <<: *conan-linux
771    env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 CONAN_DOCKER_32_IMAGES=1
772  - <<: *conan-osx
773    osx_image: xcode8.3
774    env: CONAN_APPLE_CLANG_VERSIONS=8.1
775  - <<: *conan-osx
776    osx_image: xcode9
777    env: CONAN_APPLE_CLANG_VERSIONS=9.0
778  - <<: *conan-osx
779    osx_image: xcode9.4
780    env: CONAN_APPLE_CLANG_VERSIONS=9.1
781  - <<: *conan-osx
782    osx_image: xcode10.1
783    env: CONAN_APPLE_CLANG_VERSIONS=10.0
784
785# Remove Lua build, until someone knows how to fix the CMake files
786#
787#  - dist: trusty
788#    sudo: required
789#    os: linux
790#    compiler: clang
791#    addons:
792#      apt:
793#        sources:
794#          - ubuntu-toolchain-r-test
795#          - llvm-toolchain-precise-3.8
796#        packages:
797#          - clang-3.8
798#          - lua5.2
799#    env:
800#      idx=21
801#      N=Clang3.8-Linux-Complete-WithLua-Debug
802#      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
803#      BUILD_TYPE=Debug
804#      ENABLE_SSL_DYNAMIC_LOADING=YES
805#      OPENSSL_1_1=NO
806#      ENABLE_CXX=NO
807#      ENABLE_LUA_SHARED=YES
808#      C_STANDARD=auto
809#      CXX_STANDARD=auto
810#      BUILD_SHARED=NO
811#      NO_FILES=NO
812#      ENABLE_SSL=YES
813#      NO_CGI=NO
814#      ENABLE_IPV6=YES
815#      ENABLE_WEBSOCKETS=YES
816#      ENABLE_SERVER_STATS=YES
817#      ENABLE_LUA=YES
818#      ENABLE_DUKTAPE=NO
819#      NO_CACHING=YES
820#      ALLOW_WARNINGS=YES
821
822
823