.travis.yml 22 KB

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