summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: f840f89d7d9f511f0c3e7245dfb236f5665411ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
sudo: false
group: travis_latest
language: cpp
os:
  - linux

compiler:
  - gcc

env:
  matrix:
    - FUZZ=1
    - CORBAEMICRO=1 ACEFORTAO=0 TAO=1
    - CORBAECOMPACT=1 ACEFORTAO=0 TAO=1
    - ACEFORTAO=1 TAO=1
    - ACETESTS=1 ACEFORTAO=0 ACE=1 TAO=0
    - USES_WCHAR=1 TAO=1
    - VERSIONED=1 TAO=1
    - ACETESTS=1 FACE=1 ACE=1 TAO=0
  global:
    - ACE_ROOT=$TRAVIS_BUILD_DIR/ACE
    - TAO_ROOT=$TRAVIS_BUILD_DIR/TAO
    - MPC_ROOT=$TRAVIS_BUILD_DIR/MPC
    - LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
    - COMPILER=g++-7

matrix:
  include:
    - compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-5.0
          packages:
            - libxerces-c-dev
            - libssl-dev
            - clang++-5.0
      env: COMPILER=clang++-5.0 VERSIONED=1 TAO=1 ACETESTS=1
    - os: osx
      env: COMPILER=clang++ VERSIONED=1 TAO=1 ACETESTS=1

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
    packages:
      - libssl-dev
      - libxerces-c-dev
      - g++-7

before_install:
  - git clone --depth 1 git://github.com/DOCGroup/MPC.git

branches:
  only:
    - master

before_script:
  - export
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo -e "#include \"ace/config-linux.h\"" >> $ACE_ROOT/ace/config.h; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then echo -e "#include \"ace/config-macosx.h\"" >> $ACE_ROOT/ace/config.h; fi
  - echo -e "workspace {\n" >> $TRAVIS_BUILD_DIR/travis.mwc
  - if [ "$TAO" == "1" ]; then echo -e "\$(TAO_ROOT)/TAO_ACE.mwc\n\$(TAO_ROOT)/tests/Hello\n" >> $TRAVIS_BUILD_DIR/travis.mwc; fi
  - if [ "$ACE" == "1" ]; then echo -e "\$(ACE_ROOT)/ace/ace.mwc\n" >> $TRAVIS_BUILD_DIR/travis.mwc; fi
  - if [ "$ACETESTS" == "1" ]; then echo -e "\$(ACE_ROOT)/tests\n" >> $TRAVIS_BUILD_DIR/travis.mwc; fi
  - echo -e "}\n" >> $TRAVIS_BUILD_DIR/travis.mwc
  - if [ "$FACE" == "1" ]; then echo -e "#define ACE_FACE_SAFETY_BASE" >> $ACE_ROOT/ace/config.h; fi
  - if [ "$CORBAEMICRO" == "1" ]; then echo -e "corba_e_micro=1" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - if [ "$CORBAEMICRO" == "1" ]; then echo -e "corba_e_micro=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$CORBAECOMPACT" == "1" ]; then echo -e "corba_e_compact=1" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - if [ "$CORBAECOMPACT" == "1" ]; then echo -e "corba_e_compact=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$ACEFORTAO" == "1" ]; then echo -e "ace_for_tao=1" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - if [ "$ACEFORTAO" == "1" ]; then echo -e "ace_for_tao=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$CCMLW" == "1" ]; then echo -e "ccm_lw=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$CCMNOEVENT" == "1" ]; then echo -e "ccm_noevent=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$USES_WCHAR" == "1" ]; then echo -e "uses_wchar=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$VERSIONED" == "1" ]; then echo -e "versioned_namespace=1" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo -e "xerces3=1\nssl=1\n" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - echo -e "inline=0\nipv6=1\n" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo -e "xerces3=1\nssl=1\n" >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features; fi
  - echo -e "TAO/tests/Hello/run_test.pl" >> $TAO_ROOT/bin/travis-ci.lst
  - if [ "$CXX" == "g++" ]; then echo -e "c++11=1\n" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then echo -e "include \$(ACE_ROOT)/include/makeinclude/platform_macosx.GNU" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU; fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then
      if [ "$CXX" == "g++" ]; then
        echo -e "include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU;
      else
        echo -e "include \$(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU;
      fi
    fi
  - cat $TRAVIS_BUILD_DIR/travis.mwc
  - cat $ACE_ROOT/bin/MakeProjectCreator/config/default.features
  - cat $ACE_ROOT/ace/config.h
  - cat $ACE_ROOT/include/makeinclude/platform_macros.GNU
  - if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi

script:
  - if [ "$FUZZ" == "1" ]; then exec perl $ACE_ROOT/bin/fuzz.pl; fi
  - perl $ACE_ROOT/bin/mwc.pl -type gnuace -workers 2 travis.mwc
  - make -j 6
  - perl $ACE_ROOT/bin/auto_run_tests.pl -l $TAO_ROOT/bin/travis-ci.lst