.travis.yml 19 KB

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