diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 839cac9..5575fa6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -52,3 +52,21 @@ jobs: - name: Check if default build directory is not exist run: test ! -d build + + use-action-with-additional-args: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3.3.0 + + - name: Use this action with build txt enabled + uses: ./ + with: + source-dir: test + args: -D BUILD_TXT=ON + + - name: Run build result + run: build/hello_world + + - name: Check if the txt result exist + run: cat build/hello_world.txt diff --git a/action.yml b/action.yml index c01737c..4be2805 100644 --- a/action.yml +++ b/action.yml @@ -14,7 +14,10 @@ inputs: required: false default: build c-compiler: - description: Preferred executable for compiling C language files + description: The preferred executable for compiling C language files + required: false + args: + description: Additional arguments passed during CMake configuration required: false runs: using: composite @@ -27,6 +30,9 @@ runs: if [ -n '${{ inputs.c-compiler }}' ]; then CONFIGURE_ARGS="$CONFIGURE_ARGS -D CMAKE_C_COMPILER=${{ inputs.c-compiler }}" fi + if [ -n '${{ inputs.args }}' ]; then + CONFIGURE_ARGS="$CONFIGURE_ARGS ${{ inputs.args }}" + fi echo "CMAKE_CONFIGURE_ARGS=$CONFIGURE_ARGS" >> $GITHUB_ENV echo "CMAKE_BUILD_ARGS=$BUILD_ARGS" >> $GITHUB_ENV diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 71bf957..135aa7f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,3 +1,13 @@ cmake_minimum_required(VERSION 3.0) project(test) + +option(BUILD_TXT "build hello world txt file" OFF) + add_executable(hello_world hello_world.cpp) + +if(BUILD_TXT) + add_custom_target( + hello_world_txt ALL + COMMAND echo "Hello world!" >> ${CMAKE_CURRENT_BINARY_DIR}/hello_world.txt + ) +endif()