cronologic-de / xhptdc8_babel

Wrappers, Utilities and Examples for using the xHPTDC8 with various programming languages.
Mozilla Public License 2.0
0 stars 1 forks source link

Setup dummy library to compile as github action #3

Closed sulimma closed 3 years ago

sulimma commented 3 years ago

Reconfigure the dummy library project to compile from the command line. I am not an expert on this, but most people seem to use CMake for this, however using MSBuild directly without CMake also seems to be possible. The script should build both the x86 and x64 libraries. Once this is working locally, setup a github action that can be run manually to build the dll and .lib files and copy them to /lib/x86dummy/xhptdc8_driver.dll and /lib/x64dummy/xhptdc8_driver_64.dll. The *-libfiles go to the same directories.

These could be helpful links: https://www.codeproject.com/Articles/5265628/Writing-CI-Pipeline-using-GitHub-Actions-to-Build https://github.com/marketplace/actions/setup-msbuild

If you did not do this yet: Setting up a git workflow is relatively simple. Here is an example for a LaTeX workflow for the User Guide: https://github.com/cronologic-de/ug_xtdc_timetagger_xhptdc/blob/main/.github/workflows/create-all-pdfs.yml

Bassem-Ramzy commented 3 years ago

Using MSBuild on windows command line: MSBuild msvscpp.vcxproj Where: msvscpp.vcxproj: is found in project folder <xhptdc8_babel\dummy\msvscpp\msvscpp> MSBuild is found in folder <MSBuild\Current\Bin\MSBuild> of MS Visual Studio installation folder, e.g. <C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild> BTW, MSBuild can be installed without the full MS Visual Studio installation

Bassem-Ramzy commented 3 years ago

Action Dummy_MSBuild is added and tested Upon any change in sub files of ./dummy, the action does the following:

  1. Builds the Dummy Library Release x64 & x86 DLL & Lib, using MSBuild
  2. Copies the DLLs & Libs to the corresponding folders on ./lib repository folder, and commits
Bassem-Ramzy commented 3 years ago

Action is finalized