11name : ' Build, test, package'
22description : ' Build, test, and package distributions for an ITK external module.'
33inputs :
4- c-compiler :
5- required : true
6- cxx-compiler :
7- required : true
84 cmake-build-type :
95 required : false
106 default : ' MinSizeRel'
@@ -23,6 +19,30 @@ inputs:
2319runs :
2420 using : " composite"
2521 steps :
22+ - name : Define OS-dependent environment variables
23+ if : runner.os == 'Windows'
24+ shell : bash
25+ run : |
26+ echo "C_COMPILER=gcc" >> $GITHUB_ENV # defines env.C_COMPILER
27+ echo "CXX_COMPILER=g++" >> $GITHUB_ENV # defines env.CXX_COMPILER
28+ echo "Set env.C_COMPILER=${{ env.C_COMPILER}} and env.CXX_COMPILER=${{ env.CXX_COMPILER }}"
29+
30+ - name : Define OS-dependent environment variables
31+ if : runner.os == 'macOS'
32+ shell : bash
33+ run : |
34+ echo "C_COMPILER=clang" >> $GITHUB_ENV
35+ echo "CXX_COMPILER=clang++" >> $GITHUB_ENV
36+ echo "Set env.C_COMPILER=${{ env.C_COMPILER}} and env.CXX_COMPILER=${{ env.CXX_COMPILER }}"
37+
38+ - name : Define OS-dependent environment variables
39+ if : ${{ runner.os != 'Windows' && runner.os != 'macOS' }} # default to Linux
40+ shell : bash
41+ run : |
42+ echo "C_COMPILER=clang" >> $GITHUB_ENV
43+ echo "CXX_COMPILER=clang++" >> $GITHUB_ENV
44+ echo "Set env.C_COMPILER=${{ env.C_COMPILER}} and env.CXX_COMPILER=${{ env.CXX_COMPILER }}"
45+
2646 - name : Set up Python 3.8
2747 uses : actions/setup-python@v2
2848 with :
5474 cd ..
5575 mkdir ITK-build
5676 cd ITK-build
57- cmake -DCMAKE_C_COMPILER:FILEPATH="${{ inputs.c-compiler }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ inputs.cxx-compiler }}" -DCMAKE_BUILD_TYPE:STRING=${{ inputs.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF ${{ inputs.itk-cmake-options }} -GNinja ../ITK
77+ cmake -DCMAKE_C_COMPILER:FILEPATH="${{ env.C_COMPILER }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ env.CXX_COMPILER }}" -DCMAKE_BUILD_TYPE:STRING=${{ inputs.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF ${{ inputs.itk-cmake-options }} -GNinja ../ITK
5878 ninja
5979
6080 - name : Build ITK
6585 mkdir ITK-build
6686 cd ITK-build
6787 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
68- cmake -DCMAKE_C_COMPILER:FILEPATH="${{ inputs.c-compiler }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ inputs.cxx-compiler }}" -DCMAKE_BUILD_TYPE:STRING=${{ inputs.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF ${{ inputs.itk-cmake-options }} -GNinja ../ITK
88+ cmake -DCMAKE_C_COMPILER:FILEPATH="${{ env.C_COMPILER }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ env.CXX_COMPILER }}" -DCMAKE_BUILD_TYPE:STRING=${{ inputs.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF ${{ inputs.itk-cmake-options }} -GNinja ../ITK
6989 ninja
7090
7191 - name : Fetch CTest driver script
@@ -102,8 +122,8 @@ runs:
102122 "ld: warning: text-based stub file"
103123 )
104124 set(dashboard_no_clean 1)
105- set(ENV{CC} ${{ inputs.c-compiler }})
106- set(ENV{CXX} ${{ inputs.cxx-compiler }})
125+ set(ENV{CC} ${{ env.C_COMPILER }})
126+ set(ENV{CXX} ${{ env.CXX_COMPILER }})
107127 if(WIN32)
108128 set(ENV{PATH} "\${CTEST_DASHBOARD_ROOT}/ITK-build/bin;\$ENV{PATH}")
109129 endif()
0 commit comments