aboutsummaryrefslogtreecommitdiff
path: root/lib/Utils.Cryptography
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Utils.Cryptography')
-rw-r--r--lib/Utils.Cryptography/argon2/Taskfile.yaml35
-rw-r--r--lib/Utils.Cryptography/monocypher/CMakeLists.txt2
-rw-r--r--lib/Utils.Cryptography/monocypher/Taskfile.yaml47
3 files changed, 60 insertions, 24 deletions
diff --git a/lib/Utils.Cryptography/argon2/Taskfile.yaml b/lib/Utils.Cryptography/argon2/Taskfile.yaml
index d08d3b6..72f543d 100644
--- a/lib/Utils.Cryptography/argon2/Taskfile.yaml
+++ b/lib/Utils.Cryptography/argon2/Taskfile.yaml
@@ -11,6 +11,8 @@ version: '3'
vars:
PROJECT_NAME: 'Argon2'
MODULE_NAME: 'vnlib.core'
+ BUILD_DIR: 'build/{{ OS }}'
+ BUILD_TYPE: '{{ .BUILD_TYPE | default "Release" }}'
tasks:
@@ -19,15 +21,21 @@ tasks:
cmds:
#build with defaults
- task: build
- - cmd: echo "Your Argon2 library file can be found in '{{ .USER_WORKING_DIR }}/build'"
+ - cmd: echo "Your {{ .PROJECT_NAME }} dll file can be found in '{{ .USER_WORKING_DIR }}/{{ .BUILD_DIR }}'"
silent: true
build:
cmds:
- #init cmake build with greedy enabled
- - cmake -B./build
- - cmake --build build/ --config debug
- - cmake --build build/ --config release
+ - cmd: echo Building {{ .PROJECT_NAME }} in {{ .BUILD_TYPE }} mode
+ silent: true
+
+ - cmake {{ .CLI_ARGS }}
+ -B./{{ .BUILD_DIR }}
+ -DCMAKE_BUILD_TYPE={{ .BUILD_TYPE }}
+
+ #compile
+ - cmd: cmake --build {{ .BUILD_DIR }}/ --config Debug
+ - cmd: cmake --build {{ .BUILD_DIR }}/ --config Release
postbuild_success:
@@ -61,9 +69,9 @@ tasks:
internal: true
deps:
- task: embed
- vars: { TARGET: './build/{{ .BUILD_MODE }}' }
+ vars: { TARGET: './{{ .BUILD_DIR }}/{{ .BUILD_MODE }}' }
cmds:
- - cmd: cd build/{{ .BUILD_MODE }} && tar -czf '../../bin/msvc-x64-{{ .BUILD_MODE }}-{{ .PROJECT_NAME }}.tgz' {{ .TAR_FILES }}
+ - cmd: cd {{ .BUILD_DIR }}/{{ .BUILD_MODE }} && tar -czf '../../bin/msvc-x64-{{ .BUILD_MODE }}-{{ .PROJECT_NAME }}.tgz' {{ .TAR_FILES }}
#add embeded resources to the binary output for distribution
embed:
@@ -95,8 +103,17 @@ tasks:
#just pack up current directory, excluding build, bin, and git directories
- tar {{ .EXCLUDES }} -czf 'bin/src.tgz' {{ .INCLUDES }}
+ dev-init:
+ desc: 'Configures the project for local development'
+ cmds:
+ - task: build
+ vars: { BUILD_TYPE: Debug }
+
+ - cmd: echo "dev init complete"
+ silent: true
+
clean:
ignore_error: true
- cmds:
+ cmds:
- for: [ bin/, build/ ]
- cmd: powershell -Command "Remove-Item -Recurse '{{ .ITEM }}'"
+ cmd: powershell rm -Recurse -Force '{{ .ITEM }}'
diff --git a/lib/Utils.Cryptography/monocypher/CMakeLists.txt b/lib/Utils.Cryptography/monocypher/CMakeLists.txt
index 8cec60b..73e5368 100644
--- a/lib/Utils.Cryptography/monocypher/CMakeLists.txt
+++ b/lib/Utils.Cryptography/monocypher/CMakeLists.txt
@@ -25,7 +25,7 @@ add_library(${CMAKE_PROJECT_NAME}_static STATIC ${VNLIB_MONOCYPHER_SOURCES} ${HE
#if on unix lib will be appended, so we can adjust
if(UNIX)
- set_target_properties(${CMAKE_PROJECT_NAME} ${CMAKE_PROJECT_NAME}_static PROPERTIES OUTPUT_NAME _vnmonocypher)
+ set_target_properties(${CMAKE_PROJECT_NAME} ${CMAKE_PROJECT_NAME}_static PROPERTIES OUTPUT_NAME vn_monocypher)
endif()
#Setup the compiler options
diff --git a/lib/Utils.Cryptography/monocypher/Taskfile.yaml b/lib/Utils.Cryptography/monocypher/Taskfile.yaml
index e736312..6eabe54 100644
--- a/lib/Utils.Cryptography/monocypher/Taskfile.yaml
+++ b/lib/Utils.Cryptography/monocypher/Taskfile.yaml
@@ -12,6 +12,8 @@ vars:
MS_ARGS: '/p:Platform=x64 /p:RunAnalyzersDuringBuild=false /p:BuildInParallel=true /p:MultiProcessorCompilation=true'
PROJECT_NAME: 'vnlib_monocypher'
MODULE_NAME: 'vnlib.core'
+ BUILD_DIR: 'build/{{ OS }}'
+ BUILD_TYPE: '{{ .BUILD_TYPE | default "Release" }}'
tasks:
@@ -20,15 +22,23 @@ tasks:
cmds:
#build with defaults
- task: build
- - cmd: echo "Your vnlib_monocypher dll file can be found in '{{.USER_WORKING_DIR}}/build'"
+ - cmd: echo "Your {{ .PROJECT_NAME }} dll file can be found in '{{ .USER_WORKING_DIR }}/{{ .BUILD_DIR }}'"
silent: true
build:
cmds:
- #init cmake build
- - cmake -B./build
- - cmake --build build/ --config Debug
- - cmake --build build/ --config Release
+ - cmd: echo Building {{ .PROJECT_NAME }} in {{ .BUILD_TYPE }} mode
+ silent: true
+
+ - cmake {{ .CLI_ARGS }}
+ -B./{{ .BUILD_DIR }}
+ -DCMAKE_BUILD_TYPE={{ .BUILD_TYPE }}
+
+ #compile
+ - cmd: cmake --build {{ .BUILD_DIR }}/ --config Debug
+ platforms: [ windows ] #debug builds only work on Windows
+
+ - cmake --build {{ .BUILD_DIR }}/ --config Release
postbuild_success:
vars:
@@ -43,22 +53,22 @@ tasks:
#get licenses for debug
- task: licenses
vars:
- TARGET: './build/Debug'
+ TARGET: '{{ .BUILD_DIR }}/Debug'
- task: licenses
vars:
- TARGET: './build/Release'
+ TARGET: './{{ .BUILD_DIR }}/Release'
#static debug lib
- - cd build/Debug && tar -czf '../../bin/msvc-x64-debug-{{.PROJECT_NAME}}-static.tgz' {{.PROJECT_NAME}}_static.lib {{.TAR_FILES}} {{.PROJECT_NAME}}_static.pdb
+ - cd {{ .BUILD_DIR }}/Debug && tar -czf '../../bin/msvc-x64-debug-{{.PROJECT_NAME}}-static.tgz' {{.PROJECT_NAME}}_static.lib {{.TAR_FILES}} {{.PROJECT_NAME}}_static.pdb
#dynamic debug lib
- - cd build/Debug && tar -czf '../../bin/msvc-x64-debug-{{.PROJECT_NAME}}.tgz' {{.PROJECT_NAME}}.dll {{.TAR_FILES}} {{.PROJECT_NAME}}.pdb
+ - cd {{ .BUILD_DIR }}/Debug && tar -czf '../../bin/msvc-x64-debug-{{.PROJECT_NAME}}.tgz' {{.PROJECT_NAME}}.dll {{.TAR_FILES}} {{.PROJECT_NAME}}.pdb
#release static lib
- - cd build/Release && tar -czf '../../bin/msvc-x64-release-{{.PROJECT_NAME}}-static.tgz' {{.PROJECT_NAME}}_static.lib {{.TAR_FILES}}
+ - cd {{ .BUILD_DIR }}/Release && tar -czf '../../bin/msvc-x64-release-{{.PROJECT_NAME}}-static.tgz' {{.PROJECT_NAME}}_static.lib {{.TAR_FILES}}
#release dll
- - cd build/Release && tar -czf '../../bin/msvc-x64-release-{{.PROJECT_NAME}}.tgz' {{.PROJECT_NAME}}.dll {{.TAR_FILES}}
+ - cd {{ .BUILD_DIR }}/Release && tar -czf '../../bin/msvc-x64-release-{{.PROJECT_NAME}}.tgz' {{.PROJECT_NAME}}.dll {{.TAR_FILES}}
#source code
- task: pack_source
@@ -78,8 +88,17 @@ tasks:
#pack monocypher source code and create the archive
- powershell -Command "tar --exclude build/* --exclude bin/* --exclude .git/* -czf 'bin/src.tgz' ."
+ dev-init:
+ desc: 'Configures the project for local development'
+ cmds:
+ - task: build
+ vars: { BUILD_TYPE: Debug }
+
+ - cmd: echo "dev init complete"
+ silent: true
+
clean:
ignore_error: true
- cmds:
- - cmd: powershell -Command "Remove-Item -Recurse './bin'"
- - cmd: powershell -Command "Remove-Item -Recurse './build'" \ No newline at end of file
+ cmds:
+ - for: [ bin/, build/ ]
+ cmd: powershell rm -Recurse -Force '{{ .ITEM }}' \ No newline at end of file