Skip to content

Commit

Permalink
Create cmake.yml
Browse files Browse the repository at this point in the history
Update cmake.yml
Upload a Build Artifact
Create msbuild.yml
Update msbuild.yml
using build matrix
test
action-upterm
debug
debug
debug
debug
debug
debug
debug
debug
debug
debug
debug
debug
Artifact
test for macos-11
find /usr -name "libcrt0*"
sudo find /usr -name "libcrt0*"
-static
-static
-static
  • Loading branch information
gucong3000 committed May 25, 2023
1 parent 71a5155 commit c6e8b5a
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 4 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: CMake

on:
push:
branches: [ "*" ]
pull_request:
branches: [ "*" ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
CMAKE_BUILD_TYPE: Release

jobs:
build-binaries:
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-latest, windows-latest]

# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ${{ matrix.platform }}

steps:
- uses: actions/checkout@v3

- name: Configure CMake
# 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: |
mkdir build
cd build
cmake ..
- name: Build
# Build your program with the given configuration
run: |
cd build
cmake --build . --config ${{ env.CMAKE_BUILD_TYPE }}
ls
- name: Upload Posix Build Artifact
uses: actions/[email protected]
if: runner.os != 'Windows'
with:
# Artifact name
name: cgit_${{ runner.os }}
# A file, directory or wildcard pattern that describes what to upload
path: build/cgit
retention-days: 15

- name: Upload Windows Build Artifact
uses: actions/[email protected]
if: runner.os == 'Windows'
with:
# Artifact name
name: cgit_${{ runner.os }}
# A file, directory or wildcard pattern that describes what to upload
path: build/${{ env.CMAKE_BUILD_TYPE }}/cgit.exe
retention-days: 15
10 changes: 6 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ project(cgit CXX)

set(CMAKE_CXX_STANDARD 11)

IF (WIN32)
if (WIN32)
set(CMAKE_CXX_FLAGS_RELEASE "/MT ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "/MTd ${CMAKE_CXX_FLAGS}")
ELSE ()
set(CMAKE_CXX_FLAGS "-static ${CMAKE_CXX_FLAGS}")
ENDIF ()
elseif (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else ()
set(CMAKE_CXX_FLAGS "-static ${CMAKE_CXX_FLAGS}")
endif ()
add_executable(cgit src/main.cpp src/cgit.cpp src/string.hpp src/utils.hpp src/utils.cpp)

message(STATUS ${CMAKE_INSTALL_BINDIR})
Expand Down

0 comments on commit c6e8b5a

Please sign in to comment.