.travis.yml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. ##############################################################################
  2. # Project specific settings
  3. ##############################################################################
  4. language: c
  5. cache:
  6. directories:
  7. - $HOME/third-party
  8. osx_image: xcode9
  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. pip install --user codecov;
  32. pip install --user coverage;
  33. fi
  34. before_script:
  35. # Add an IPv6 config - see the corresponding Travis issue
  36. # https://github.com/travis-ci/travis-ci/issues/8361
  37. - if [ "${ENABLE_IPV6}" == "YES" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  38. echo "Activating IPv6 on Travis";
  39. sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6';
  40. fi
  41. # Check some settings of the build server (operating system, IPv6 availability, directory)
  42. - uname -a
  43. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  44. lsb_release -a;
  45. cat /etc/network/interfaces || true;
  46. fi
  47. - ifconfig
  48. - pwd
  49. - ls -la
  50. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  51. apt-cache search gcc | grep "GNU C compiler";
  52. apt-cache search clang | grep compiler;
  53. fi
  54. - if [[ "${BUILD_TYPE}" == "OSX_OPENSSL_1_1" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl@1.1 ;fi
  55. # Generate the build scripts with CMake
  56. - mkdir output
  57. - openssl version
  58. - gcc --version
  59. - cmake --version
  60. - gcc unittest/cgi_test.c -o output/cgi_test.cgi
  61. - cd output
  62. - echo cmake
  63. -G "Unix Makefiles"
  64. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  65. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  66. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  67. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  68. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  69. -DCIVETWEB_DISABLE_CGI=${NO_CGI}
  70. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  71. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  72. -DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
  73. -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
  74. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  75. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  76. -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
  77. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  78. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  79. -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
  80. -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
  81. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  82. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  83. -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
  84. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  85. ${ADDITIONAL_CMAKE_ARGS}
  86. ..
  87. - cmake
  88. -G "Unix Makefiles"
  89. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  90. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  91. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  92. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  93. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  94. -DCIVETWEB_DISABLE_CGI=${NO_CGI}
  95. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  96. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  97. -DCIVETWEB_SSL_OPENSSL_API_1_0=${OPENSSL_1_0}
  98. -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
  99. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  100. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  101. -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
  102. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  103. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  104. -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
  105. -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
  106. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  107. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  108. -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
  109. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  110. ${ADDITIONAL_CMAKE_ARGS}
  111. ..
  112. - ls -la
  113. # Modifications due to Travis IPv6 issues:
  114. # https://github.com/travis-ci/travis-ci/issues/8711
  115. # https://github.com/travis-ci/travis-ci/issues/8361
  116. # DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6} or =NO
  117. script:
  118. - if [ "${MACOSX_PACKAGE}" == "1" ]; then
  119. cd "${TRAVIS_BUILD_DIR}";
  120. make -f Makefile.osx package;
  121. fi
  122. - if [ "${RUN_UNITTEST}" == "1" ]; then
  123. CTEST_OUTPUT_ON_FAILURE=1 make all test;
  124. fi
  125. - pwd
  126. - ls -la unittest
  127. - echo "Show all test logs:"
  128. - if [ "${RUN_UNITTEST}" == "1" ]; then
  129. for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
  130. for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
  131. fi
  132. - echo "Build and test script DONE"
  133. # Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
  134. after_success:
  135. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  136. echo "Preparing coverage tests";
  137. echo "Creating coveralls coverage report";
  138. coveralls --include src --exclude src/main.c --exclude src/third_party --include include --gcov-options '\-lp' --root .. --build-root .;
  139. echo "Creating codecov coverage report";
  140. bash <(curl -s https://codecov.io/bash);
  141. echo "All coverage reports created";
  142. fi
  143. conan-linux: &conan-linux
  144. os: linux
  145. dist: xenial
  146. language: python
  147. python: "3.7"
  148. services:
  149. - docker
  150. if: tag IS present
  151. before_install:
  152. - true
  153. install:
  154. - ./conan/travis/install.sh
  155. before_script:
  156. - true
  157. script:
  158. - ./conan/travis/build.sh
  159. after_success:
  160. - true
  161. conan-osx: &conan-osx
  162. os: osx
  163. language: generic
  164. if: tag IS present
  165. before_install:
  166. - true
  167. install:
  168. - ./conan/travis/install.sh
  169. before_script:
  170. - true
  171. script:
  172. - ./conan/travis/build.sh
  173. after_success:
  174. - true
  175. #########################################################################################
  176. #########################################################################################
  177. ##### START OF BUILD MATRIX #########################################################
  178. #########################################################################################
  179. #########################################################################################
  180. matrix:
  181. fast_finish: true
  182. include:
  183. #########################################################################################
  184. ##### TRUSTY ########################################################################
  185. #########################################################################################
  186. - dist: trusty
  187. sudo: false
  188. os: linux
  189. compiler: clang
  190. addons:
  191. apt:
  192. sources:
  193. - ubuntu-toolchain-r-test
  194. - llvm-toolchain-precise-3.8
  195. packages:
  196. - clang-3.8
  197. env:
  198. idx=1
  199. N=Clang3.8-Linux-Minimal-Debug
  200. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  201. BUILD_TYPE=Debug
  202. ENABLE_SSL_DYNAMIC_LOADING=YES
  203. OPENSSL_1_0=NO
  204. OPENSSL_1_1=NO
  205. ENABLE_CXX=NO
  206. ENABLE_LUA_SHARED=NO
  207. C_STANDARD=auto
  208. CXX_STANDARD=auto
  209. BUILD_SHARED=NO
  210. NO_FILES=YES
  211. ENABLE_SSL=NO
  212. NO_CGI=YES
  213. ENABLE_IPV6=NO
  214. ENABLE_WEBSOCKETS=NO
  215. ENABLE_SERVER_STATS=NO
  216. ENABLE_LUA=NO
  217. ENABLE_DUKTAPE=NO
  218. NO_CACHING=NO
  219. ALLOW_WARNINGS=YES
  220. - dist: trusty
  221. sudo: false
  222. os: linux
  223. compiler: clang
  224. addons:
  225. apt:
  226. sources:
  227. - ubuntu-toolchain-r-test
  228. - llvm-toolchain-precise-3.8
  229. packages:
  230. - clang-3.8
  231. env:
  232. idx=3
  233. N=Clang3.8-Linux-Default-Release
  234. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  235. BUILD_TYPE=Release
  236. ENABLE_SSL_DYNAMIC_LOADING=YES
  237. OPENSSL_1_0=YES
  238. OPENSSL_1_1=NO
  239. ENABLE_CXX=NO
  240. ENABLE_LUA_SHARED=NO
  241. C_STANDARD=auto
  242. CXX_STANDARD=auto
  243. BUILD_SHARED=NO
  244. NO_FILES=NO
  245. ENABLE_SSL=YES
  246. NO_CGI=NO
  247. ENABLE_IPV6=NO
  248. ENABLE_WEBSOCKETS=NO
  249. ENABLE_SERVER_STATS=NO
  250. ENABLE_LUA=NO
  251. ENABLE_DUKTAPE=NO
  252. NO_CACHING=NO
  253. ALLOW_WARNINGS=YES
  254. - dist: trusty
  255. sudo: required
  256. os: linux
  257. compiler: gcc
  258. addons:
  259. apt:
  260. sources:
  261. - ubuntu-toolchain-r-test
  262. packages:
  263. - g++-5
  264. env:
  265. idx=5
  266. N=GCC5-Linux-Complete-NoLua-Release
  267. MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
  268. BUILD_TYPE=Release
  269. ENABLE_SSL_DYNAMIC_LOADING=YES
  270. OPENSSL_1_0=YES
  271. OPENSSL_1_1=NO
  272. ENABLE_CXX=NO
  273. ENABLE_LUA_SHARED=NO
  274. C_STANDARD=auto
  275. CXX_STANDARD=auto
  276. BUILD_SHARED=NO
  277. NO_FILES=NO
  278. ENABLE_SSL=YES
  279. NO_CGI=NO
  280. ENABLE_IPV6=YES
  281. ENABLE_WEBSOCKETS=YES
  282. ENABLE_SERVER_STATS=YES
  283. ENABLE_LUA=NO
  284. ENABLE_DUKTAPE=NO
  285. NO_CACHING=YES
  286. ALLOW_WARNINGS=YES
  287. RUN_UNITTEST=1
  288. #########################################################################################
  289. ##### COVERAGE ######################################################################
  290. #########################################################################################
  291. - os: linux
  292. sudo: required
  293. compiler: clang
  294. env:
  295. idx=6
  296. N=GCCAnyVersion-Linux-Coverage
  297. BUILD_TYPE=Coverage
  298. ENABLE_SSL_DYNAMIC_LOADING=YES
  299. OPENSSL_1_0=YES
  300. OPENSSL_1_1=NO
  301. ENABLE_CXX=NO
  302. ENABLE_LUA_SHARED=NO
  303. C_STANDARD=auto
  304. CXX_STANDARD=auto
  305. BUILD_SHARED=NO
  306. NO_FILES=NO
  307. ENABLE_SSL=YES
  308. NO_CGI=NO
  309. ENABLE_IPV6=YES
  310. ENABLE_WEBSOCKETS=YES
  311. ENABLE_SERVER_STATS=YES
  312. ENABLE_LUA=NO
  313. ENABLE_DUKTAPE=NO
  314. NO_CACHING=NO
  315. ALLOW_WARNINGS=YES
  316. RUN_UNITTEST=1
  317. #########################################################################################
  318. ##### SHARED ########################################################################
  319. #########################################################################################
  320. - sudo: false
  321. os: linux
  322. compiler: clang
  323. addons:
  324. apt:
  325. sources:
  326. - ubuntu-toolchain-r-test
  327. - llvm-toolchain-trusty-5.0
  328. packages:
  329. - clang-5.0
  330. env:
  331. idx=9
  332. N=Clang50-Linux-Default-Shared
  333. BUILD_TYPE=Debug
  334. ENABLE_SSL_DYNAMIC_LOADING=YES
  335. OPENSSL_1_0=YES
  336. OPENSSL_1_1=NO
  337. ENABLE_CXX=NO
  338. ENABLE_LUA_SHARED=NO
  339. C_STANDARD=auto
  340. CXX_STANDARD=auto
  341. BUILD_SHARED=YES
  342. NO_FILES=NO
  343. ENABLE_SSL=YES
  344. NO_CGI=NO
  345. ENABLE_IPV6=NO
  346. ENABLE_WEBSOCKETS=NO
  347. ENABLE_SERVER_STATS=NO
  348. ENABLE_LUA=NO
  349. ENABLE_DUKTAPE=NO
  350. NO_CACHING=NO
  351. ALLOW_WARNINGS=YES
  352. MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
  353. #########################################################################################
  354. ##### BUILD TYPES ###################################################################
  355. #########################################################################################
  356. # According to CMakeLists, options are:
  357. # None Debug Release RelWithDebInfo MinSizeRel Coverage
  358. -
  359. os: linux
  360. compiler: gcc
  361. env:
  362. idx=15
  363. N=GCCLinuxDefault_RelWithDebInfo
  364. BUILD_TYPE=RelWithDebInfo
  365. ENABLE_SSL_DYNAMIC_LOADING=YES
  366. OPENSSL_1_0=YES
  367. OPENSSL_1_1=NO
  368. ENABLE_CXX=NO
  369. ENABLE_LUA_SHARED=NO
  370. C_STANDARD=auto
  371. CXX_STANDARD=auto
  372. BUILD_SHARED=NO
  373. NO_FILES=NO
  374. ENABLE_SSL=YES
  375. NO_CGI=NO
  376. ENABLE_IPV6=NO
  377. ENABLE_WEBSOCKETS=NO
  378. ENABLE_LUA=NO
  379. ENABLE_DUKTAPE=NO
  380. NO_CACHING=NO
  381. ALLOW_WARNINGS=YES
  382. -
  383. os: linux
  384. compiler: gcc
  385. env:
  386. idx=16
  387. N=GCCLinuxDefault_MinSizeRel
  388. BUILD_TYPE=MinSizeRel
  389. ENABLE_SSL_DYNAMIC_LOADING=YES
  390. OPENSSL_1_0=YES
  391. OPENSSL_1_1=NO
  392. ENABLE_CXX=NO
  393. ENABLE_LUA_SHARED=NO
  394. C_STANDARD=auto
  395. CXX_STANDARD=auto
  396. BUILD_SHARED=NO
  397. NO_FILES=NO
  398. ENABLE_SSL=YES
  399. NO_CGI=NO
  400. ENABLE_IPV6=NO
  401. ENABLE_WEBSOCKETS=NO
  402. ENABLE_LUA=NO
  403. ENABLE_DUKTAPE=NO
  404. NO_CACHING=NO
  405. ALLOW_WARNINGS=YES
  406. -
  407. os: linux
  408. compiler: gcc
  409. env:
  410. idx=17
  411. N=GCCLinuxDefault_None
  412. BUILD_TYPE=None
  413. ENABLE_SSL_DYNAMIC_LOADING=YES
  414. OPENSSL_1_0=YES
  415. OPENSSL_1_1=NO
  416. ENABLE_CXX=NO
  417. ENABLE_LUA_SHARED=NO
  418. C_STANDARD=auto
  419. CXX_STANDARD=auto
  420. BUILD_SHARED=NO
  421. NO_FILES=NO
  422. ENABLE_SSL=YES
  423. NO_CGI=NO
  424. ENABLE_IPV6=NO
  425. ENABLE_WEBSOCKETS=NO
  426. ENABLE_LUA=NO
  427. ENABLE_DUKTAPE=NO
  428. NO_CACHING=NO
  429. ALLOW_WARNINGS=YES
  430. #########################################################################################
  431. ##### XENIAL, BIONIC, FOCAL #########################################################
  432. #########################################################################################
  433. -
  434. os: linux
  435. compiler: gcc
  436. dist: xenial
  437. env:
  438. idx=20
  439. N=GCCLinuxDefault_xenial
  440. BUILD_TYPE=Release
  441. ENABLE_SSL_DYNAMIC_LOADING=YES
  442. OPENSSL_1_0=YES
  443. OPENSSL_1_1=NO
  444. ENABLE_CXX=NO
  445. ENABLE_LUA_SHARED=NO
  446. C_STANDARD=auto
  447. CXX_STANDARD=auto
  448. BUILD_SHARED=NO
  449. NO_FILES=NO
  450. ENABLE_SSL=YES
  451. NO_CGI=NO
  452. ENABLE_IPV6=NO
  453. ENABLE_WEBSOCKETS=NO
  454. ENABLE_LUA=NO
  455. ENABLE_DUKTAPE=NO
  456. NO_CACHING=NO
  457. ALLOW_WARNINGS=YES
  458. -
  459. os: linux
  460. compiler: gcc
  461. dist: bionic
  462. env:
  463. idx=21
  464. N=GCCLinuxDefault_bionic
  465. BUILD_TYPE=Release
  466. ENABLE_SSL_DYNAMIC_LOADING=YES
  467. OPENSSL_1_0=NO
  468. OPENSSL_1_1=YES
  469. ENABLE_CXX=NO
  470. ENABLE_LUA_SHARED=NO
  471. C_STANDARD=auto
  472. CXX_STANDARD=auto
  473. BUILD_SHARED=NO
  474. NO_FILES=NO
  475. ENABLE_SSL=YES
  476. NO_CGI=NO
  477. ENABLE_IPV6=NO
  478. ENABLE_WEBSOCKETS=NO
  479. ENABLE_LUA=NO
  480. ENABLE_DUKTAPE=NO
  481. NO_CACHING=NO
  482. ALLOW_WARNINGS=YES
  483. -
  484. os: linux
  485. compiler: gcc
  486. dist: focal
  487. addons:
  488. apt:
  489. packages:
  490. - lsb-core
  491. env:
  492. idx=23
  493. N=GCCLinuxDefault_focal
  494. BUILD_TYPE=Release
  495. ENABLE_SSL_DYNAMIC_LOADING=YES
  496. OPENSSL_1_0=NO
  497. OPENSSL_1_1=YES
  498. ENABLE_CXX=NO
  499. ENABLE_LUA_SHARED=NO
  500. C_STANDARD=auto
  501. CXX_STANDARD=auto
  502. BUILD_SHARED=NO
  503. NO_FILES=NO
  504. ENABLE_SSL=YES
  505. NO_CGI=NO
  506. ENABLE_IPV6=NO
  507. ENABLE_WEBSOCKETS=NO
  508. ENABLE_LUA=NO
  509. ENABLE_DUKTAPE=NO
  510. NO_CACHING=NO
  511. ALLOW_WARNINGS=YES
  512. RUN_UNITTEST=1
  513. #########################################################################################
  514. ##### OSX BUILD #####################################################################
  515. #########################################################################################
  516. -
  517. os: osx
  518. sudo: required
  519. compiler: clang
  520. env:
  521. idx=8
  522. N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
  523. BUILD_TYPE=OSX_OPENSSL_1_1
  524. ENABLE_SSL_DYNAMIC_LOADING=NO
  525. OPENSSL_1_0=NO
  526. OPENSSL_1_1=YES
  527. ENABLE_CXX=NO
  528. ENABLE_LUA_SHARED=NO
  529. C_STANDARD=auto
  530. CXX_STANDARD=auto
  531. BUILD_SHARED=NO
  532. NO_FILES=NO
  533. ENABLE_SSL=YES
  534. NO_CGI=NO
  535. ENABLE_IPV6=YES
  536. ENABLE_WEBSOCKETS=YES
  537. ENABLE_SERVER_STATS=YES
  538. ENABLE_LUA=NO
  539. ENABLE_DUKTAPE=NO
  540. NO_CACHING=YES
  541. ALLOW_WARNINGS=YES
  542. OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
  543. LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
  544. CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
  545. ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
  546. PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
  547. DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
  548. RUN_UNITTEST=1
  549. -
  550. os: osx
  551. sudo: required
  552. compiler: clang
  553. env:
  554. idx=11
  555. N=OSX-Package
  556. BUILD_TYPE=Release
  557. ENABLE_SSL_DYNAMIC_LOADING=YES
  558. OPENSSL_1_0=YES
  559. OPENSSL_1_1=NO
  560. ENABLE_CXX=NO
  561. ENABLE_LUA_SHARED=NO
  562. C_STANDARD=auto
  563. CXX_STANDARD=auto
  564. BUILD_SHARED=NO
  565. NO_FILES=NO
  566. ENABLE_SSL=YES
  567. NO_CGI=NO
  568. ENABLE_IPV6=YES
  569. ENABLE_WEBSOCKETS=YES
  570. ENABLE_SERVER_STATS=NO
  571. ENABLE_LUA=NO
  572. ENABLE_DUKTAPE=NO
  573. NO_CACHING=NO
  574. ALLOW_WARNINGS=YES
  575. MACOSX_PACKAGE=1
  576. #########################################################################################
  577. #########################################################################################
  578. ##### END OF BUILD MATRIX ###########################################################
  579. #########################################################################################
  580. #########################################################################################
  581. - <<: *conan-linux
  582. env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_DOCKER_32_IMAGES=1
  583. - <<: *conan-linux
  584. env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 CONAN_DOCKER_32_IMAGES=1
  585. - <<: *conan-linux
  586. env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 CONAN_DOCKER_32_IMAGES=1
  587. - <<: *conan-linux
  588. env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 CONAN_DOCKER_32_IMAGES=1
  589. - <<: *conan-linux
  590. env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 CONAN_DOCKER_32_IMAGES=1
  591. - <<: *conan-linux
  592. env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 CONAN_DOCKER_32_IMAGES=1
  593. - <<: *conan-linux
  594. env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 CONAN_DOCKER_32_IMAGES=1
  595. - <<: *conan-linux
  596. env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 CONAN_DOCKER_32_IMAGES=1
  597. - <<: *conan-linux
  598. env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 CONAN_DOCKER_32_IMAGES=1
  599. - <<: *conan-osx
  600. osx_image: xcode8.3
  601. env: CONAN_APPLE_CLANG_VERSIONS=8.1
  602. - <<: *conan-osx
  603. osx_image: xcode9
  604. env: CONAN_APPLE_CLANG_VERSIONS=9.0
  605. - <<: *conan-osx
  606. osx_image: xcode9.4
  607. env: CONAN_APPLE_CLANG_VERSIONS=9.1
  608. - <<: *conan-osx
  609. osx_image: xcode10.1
  610. env: CONAN_APPLE_CLANG_VERSIONS=10.0
  611. # Remove Lua build, until someone knows how to fix the CMake files
  612. #
  613. # - dist: trusty
  614. # sudo: required
  615. # os: linux
  616. # compiler: clang
  617. # addons:
  618. # apt:
  619. # sources:
  620. # - ubuntu-toolchain-r-test
  621. # - llvm-toolchain-precise-3.8
  622. # packages:
  623. # - clang-3.8
  624. # - lua5.2
  625. # env:
  626. # idx=99
  627. # N=Clang3.8-Linux-Complete-WithLua-Debug
  628. # MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  629. # BUILD_TYPE=Debug
  630. # ENABLE_SSL_DYNAMIC_LOADING=YES
  631. # OPENSSL_1_0=NO
  632. # OPENSSL_1_1=YES
  633. # ENABLE_CXX=NO
  634. # ENABLE_LUA_SHARED=YES
  635. # C_STANDARD=auto
  636. # CXX_STANDARD=auto
  637. # BUILD_SHARED=NO
  638. # NO_FILES=NO
  639. # ENABLE_SSL=YES
  640. # NO_CGI=NO
  641. # ENABLE_IPV6=YES
  642. # ENABLE_WEBSOCKETS=YES
  643. # ENABLE_SERVER_STATS=YES
  644. # ENABLE_LUA=YES
  645. # ENABLE_LUA_SHARED=YES
  646. # ENABLE_DUKTAPE=NO
  647. # NO_CACHING=YES
  648. # ALLOW_WARNINGS=YES