# https://taskfile.dev #Called by the vnbuild system to produce builds for my website #https://www.vaughnnugent.com/resources/software #This taskfile is called in this directory and is specific to the phc-winner-argon2 project #that handles the MSBuild outside of the solution file version: '3' vars: PROJECT_NAME: 'Argon2' MODULE_NAME: 'vnlib.core' tasks: default: desc: "Builds the entire project from source code without using the VNBuild build system for target machines" cmds: #build with defaults - task: build - cmd: echo "Your Argon2 library file can be found in '{{ .USER_WORKING_DIR }}/build'" silent: true build: cmds: #init cmake build with greedy enabled - cmake -B./build - cmake --build build/ --config debug - cmake --build build/ --config release postbuild_success: cmds: #make bin dir - cmd: powershell mkdir -Force 'bin/' ignore_error: true - task: parallel_postbuild parallel_postbuild: internal: true vars: #required files to include in tar BIN_FILES: license.txt readme.txt argon2.h '{{ .PROJECT_NAME }}.dll' deps: - task: pack_source - task: pack_artifacts vars: { BUILD_MODE: 'debug', TAR_FILES: '{{ .BIN_FILES }} {{ .PROJECT_NAME }}.pdb' } - task: pack_artifacts vars: { BUILD_MODE: 'release', TAR_FILES: '{{ .BIN_FILES }}' } #packs up the binary artifacts for distribution pack_artifacts: internal: true deps: - task: embed vars: { TARGET: './build/{{ .BUILD_MODE }}' } cmds: - cmd: cd build/{{ .BUILD_MODE }} && tar -czf '../../bin/msvc-x64-{{ .BUILD_MODE }}-{{ .PROJECT_NAME }}.tgz' {{ .TAR_FILES }} #add embeded resources to the binary output for distribution embed: internal: true cmds: - powershell cp LICENSE '{{.TARGET}}/license.txt' - powershell cp build.readme.txt '{{.TARGET}}/readme.txt' - powershell cp include/argon2.h '{{.TARGET}}/argon2.h' #packages source code for distribution pack_source: internal: true vars: EXCLUDES: INCLUDES: src/* include/* CHANGELOG.md CMakeLists.txt README.md LICENSE Argon2.sln libargon2.pc.in Makefile Taskfile.yaml cmds: #just pack up current directory, excluding build, bin, and git directories - tar {{ .EXCLUDES }} -czf 'bin/src.tgz' {{ .INCLUDES }} clean: ignore_error: true cmds: - for: [ bin/, build/ ] cmd: powershell -Command "Remove-Item -Recurse '{{ .ITEM }}'"