.travis.yml 19 KB

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