diff --git a/ci/cmake.yml b/ci/cmake.yml index d521769..79686c4 100644 --- a/ci/cmake.yml +++ b/ci/cmake.yml @@ -17,30 +17,31 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{runner.workspace}}/build - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{runner.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE + # Build your program with the given configuration + run: cmake --build build --config ${{env.BUILD_TYPE}} - name: Test working-directory: ${{runner.workspace}}/build - shell: bash # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C $BUILD_TYPE + run: ctest -C ${{env.BUILD_TYPE}} + + - name: Install + # This step will install your cmake package to the `install` subdirectory. + # See https://cmake.org/cmake/help/latest/command/install.html + # You probably would want to also take a look at CPack https://cmake.org/cmake/help/latest/module/CPack.html + run: cmake --install build --prefix install + + - name: Upload artifact + # Upload the installed folder. On linux, you'll want to generate a .tar archive to keep permissions for executables. + # See https://github.com/actions/upload-artifact#maintaining-file-permissions-and-case-sensitive-files + uses: actions/upload-artifact@v2.2.1 + with: + path: install/* +