Created installer for windows, and app bundle for mac, both with icons. Also added the publishing back to the release workflow.
85
.github/workflows/publish.yml
vendored
@ -1,85 +0,0 @@
|
|||||||
name: Publish
|
|
||||||
|
|
||||||
on:
|
|
||||||
create:
|
|
||||||
tags:
|
|
||||||
- 'v*' # Version tag
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
#- name: Publish crate
|
|
||||||
#run: cargo publish --manifest-path kalk/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose
|
|
||||||
#- name: Publish CLI
|
|
||||||
#run: cargo publish --manifest-path kalk_cli/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose
|
|
||||||
|
|
||||||
release:
|
|
||||||
name: release ${{ matrix.target }}
|
|
||||||
runs-on: ${{ matrix.target }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
target: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
- uses: Swatinem/rust-cache@v1.0.1
|
|
||||||
- name: Compile
|
|
||||||
run: |
|
|
||||||
cargo build --release --verbose
|
|
||||||
cp target/release/kalk target/release/kalk-${{ runner.os }}
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: binaries
|
|
||||||
path: target/release/kalk-${{ runner.os }}
|
|
||||||
|
|
||||||
release_windows:
|
|
||||||
name: release windows
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
- uses: msys2/setup-msys2@v2
|
|
||||||
with:
|
|
||||||
update: true
|
|
||||||
install: >-
|
|
||||||
base-devel
|
|
||||||
pacman-mirrors
|
|
||||||
diffutils
|
|
||||||
m4
|
|
||||||
make
|
|
||||||
mingw-w64-x86_64-gcc
|
|
||||||
mingw-w64-x86_64-rust
|
|
||||||
|
|
||||||
- shell: msys2 {0}
|
|
||||||
run: |
|
|
||||||
cargo build --release --verbose
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: binaries
|
|
||||||
path: target/release/kalk.exe
|
|
||||||
|
|
||||||
create_release:
|
|
||||||
name: Create Release
|
|
||||||
needs: [release, release_windows]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Create Release
|
|
||||||
id: create_release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: ${{ github.ref }}
|
|
||||||
release_name: ${{ github.ref }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
- name: Download Artifact
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
with:
|
|
||||||
name: binaries
|
|
||||||
- name: Upload Linux Assets
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
with:
|
|
||||||
files: ./*
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
129
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
create:
|
||||||
|
tags:
|
||||||
|
- 'v*' # Version tag
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
publish:
|
||||||
|
- uses: Swatinem/rust-cache@v1.0.1
|
||||||
|
- name: Publish crate
|
||||||
|
continue-on-error: true
|
||||||
|
run: cargo publish --manifest-path kalk/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose
|
||||||
|
- name: Publish CLI
|
||||||
|
run: sleep 20 && cargo publish --manifest-path kalk_cli/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose
|
||||||
|
|
||||||
|
release_linux:
|
||||||
|
name: release linux
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
- uses: Swatinem/rust-cache@v1.0.1
|
||||||
|
- name: Compile
|
||||||
|
run: |
|
||||||
|
cargo build --release --verbose
|
||||||
|
cp target/release/kalk target/release/kalk-linux
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: binaries
|
||||||
|
path: target/release/kalk-linux
|
||||||
|
|
||||||
|
release_mac:
|
||||||
|
name: release mac
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/bin/cargo-bundle
|
||||||
|
~/.cargo/registry/index
|
||||||
|
~/.cargo/registry/cache
|
||||||
|
target
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
||||||
|
- name: Compile
|
||||||
|
run: |
|
||||||
|
[ ! -f ~/.cargo/bin/cargo-bundle ] && cargo install cargo-bundle
|
||||||
|
cd kalk_cli
|
||||||
|
~/.cargo/bin/cargo-bundle bundle --release --bin kalk
|
||||||
|
zip -r ../kalk-macOS.zip ../target/release/bundle/osx/kalk.app
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: binaries
|
||||||
|
path: kalk-macOS.zip
|
||||||
|
|
||||||
|
release_windows:
|
||||||
|
name: release windows
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
||||||
|
path: |
|
||||||
|
C:\Users\runneradmin\.cargo\bin\cargo-wix
|
||||||
|
C:\Users\runneradmin\.cargo\registry\index
|
||||||
|
C:\Users\runneradmin\.cargo\registry\cache
|
||||||
|
C:\Users\runneradmin\.cargo\registry\cache
|
||||||
|
D:\a\kalk\kalk\target
|
||||||
|
C:\msys64\home\paddi\kalk\target
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
update: true
|
||||||
|
install: >-
|
||||||
|
base-devel
|
||||||
|
pacman-mirrors
|
||||||
|
diffutils
|
||||||
|
m4
|
||||||
|
make
|
||||||
|
mingw-w64-x86_64-gcc
|
||||||
|
mingw-w64-x86_64-rust
|
||||||
|
- shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
cargo build --release --verbose
|
||||||
|
|
||||||
|
- uses: crazy-max/ghaction-chocolatey@v1
|
||||||
|
with:
|
||||||
|
args: install wixtoolset -y
|
||||||
|
- shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
[ ! -f /c/Users/runneradmin/.cargo/bin/cargo-wix.exe ] && cargo install cargo-wix
|
||||||
|
cd kalk_cli
|
||||||
|
cargo wix --no-build --nocapture
|
||||||
|
mv target/wix/*.msi target/wix/kalk-windows.msi
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: binaries
|
||||||
|
path: kalk_cli/target/wix/kalk-windows.msi
|
||||||
|
|
||||||
|
create_release:
|
||||||
|
name: Create Release
|
||||||
|
needs: [release_linux, release_mac, release_windows]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: ${{ github.ref }}
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
- name: Download Artifact
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: binaries
|
||||||
|
- name: Upload Assets
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
files: ./*
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
27
Cargo.lock
generated
@ -163,7 +163,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "kalk_cli"
|
name = "kalk_cli"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term",
|
"ansi_term",
|
||||||
"kalk",
|
"kalk",
|
||||||
@ -171,6 +171,7 @@ dependencies = [
|
|||||||
"regex",
|
"regex",
|
||||||
"rug",
|
"rug",
|
||||||
"rustyline",
|
"rustyline",
|
||||||
|
"winres",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -315,6 +316,12 @@ version = "1.1.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.118"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "1.0.54"
|
version = "1.0.54"
|
||||||
@ -347,6 +354,15 @@ dependencies = [
|
|||||||
"lazy_static",
|
"lazy_static",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "toml"
|
||||||
|
version = "0.5.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-segmentation"
|
name = "unicode-segmentation"
|
||||||
version = "1.7.1"
|
version = "1.7.1"
|
||||||
@ -404,3 +420,12 @@ name = "winapi-x86_64-pc-windows-gnu"
|
|||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winres"
|
||||||
|
version = "0.1.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ff4fb510bbfe5b8992ff15f77a2e6fe6cf062878f0eda00c0f44963a807ca5dc"
|
||||||
|
dependencies = [
|
||||||
|
"toml",
|
||||||
|
]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "kalk_cli"
|
name = "kalk_cli"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
authors = ["PaddiM8"]
|
authors = ["PaddiM8"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
readme = "../README.md"
|
readme = "../README.md"
|
||||||
@ -9,6 +9,7 @@ repository = "https://github.com/PaddiM8/kalk"
|
|||||||
license = "MIT"
|
license = "MIT"
|
||||||
keywords = ["math", "calculator", "cli", "command-line"]
|
keywords = ["math", "calculator", "cli", "command-line"]
|
||||||
categories = ["mathematics", "command-line-utilities"]
|
categories = ["mathematics", "command-line-utilities"]
|
||||||
|
build = "build.rs"
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
@ -21,3 +22,15 @@ ansi_term = "0.12"
|
|||||||
regex = "1"
|
regex = "1"
|
||||||
rug = { version = "1.11.0", features = ["float"] }
|
rug = { version = "1.11.0", features = ["float"] }
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
|
|
||||||
|
[target.'cfg(windows)'.build-dependencies]
|
||||||
|
winres = "0.1"
|
||||||
|
|
||||||
|
[package.metadata.bundle]
|
||||||
|
name = "kalk"
|
||||||
|
identifier = "net.strct.kalk"
|
||||||
|
icon = ["../res/icon*"]
|
||||||
|
short_description = "A calculator that supports user-defined functions, variables and units, and can handle fairly ambiguous syntax."
|
||||||
|
|
||||||
|
[package.metadata.bundle.bin.kalk]
|
||||||
|
name = "kalk"
|
||||||
|
12
kalk_cli/build.rs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#[cfg(windows)]
|
||||||
|
use winres;
|
||||||
|
|
||||||
|
#[cfg(windows)]
|
||||||
|
fn main() {
|
||||||
|
let mut res = winres::WindowsResource::new();
|
||||||
|
res.set_icon("kalk.ico");
|
||||||
|
res.compile().unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(unix)]
|
||||||
|
fn main() {}
|
BIN
kalk_cli/kalk.ico
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
res/icon1024x1024.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
res/icon1024x1024@2.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
res/icon128x128.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
res/icon128x128@2.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
res/icon16x16.png
Normal file
After Width: | Height: | Size: 616 B |
BIN
res/icon16x16@2.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/icon256x256.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
res/icon256x256@2.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
res/icon32x32.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/icon32x32@2.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
res/icon512x512.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
res/icon512x512@2.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
res/icon64x64.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
res/icon64x64@2.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
40
res/logo.svg
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<svg width="230" height="227" viewBox="0 0 230 227" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g filter="url(#filter0_d)">
|
||||||
|
<circle cx="113.5" cy="113.5" r="111.5" fill="#F5F5F5"/>
|
||||||
|
</g>
|
||||||
|
<g filter="url(#filter1_d)">
|
||||||
|
<path d="M33 117H62L89 176L94.5 121.5L100 67H140H180" stroke="#2274D5" stroke-width="18" stroke-miterlimit="2.55039" stroke-linecap="square"/>
|
||||||
|
</g>
|
||||||
|
<g filter="url(#filter2_d)">
|
||||||
|
<path d="M121.973 172V85.457H138.174V130.984L157.144 110.271H177.344L154.17 135.599L178.164 172H159.194L143.608 147.083L138.174 153.03V172H121.973Z" fill="black"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<filter id="filter0_d" x="0" y="0" width="227" height="227" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
|
||||||
|
<feOffset/>
|
||||||
|
<feGaussianBlur stdDeviation="1"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="filter1_d" x="22" y="57" width="169" height="125.745" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
|
||||||
|
<feOffset dy="1"/>
|
||||||
|
<feGaussianBlur stdDeviation="1"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="filter2_d" x="120.973" y="85.457" width="58.1914" height="88.543" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
|
||||||
|
<feOffset dy="1"/>
|
||||||
|
<feGaussianBlur stdDeviation="0.5"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
BIN
wix/License.rtf
Normal file
64
wix/main.wxs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="windows-1252"?>
|
||||||
|
<!--
|
||||||
|
Please do not remove these pre-processor If-Else blocks. These are used with
|
||||||
|
the `cargo wix` subcommand to automatically determine the installation
|
||||||
|
destination for 32-bit versus 64-bit installers. Removal of these lines will
|
||||||
|
cause installation errors.
|
||||||
|
-->
|
||||||
|
<?if $(var.Platform) = x64 ?>
|
||||||
|
<?define Win64 = "yes" ?>
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
|
||||||
|
<?else ?>
|
||||||
|
<?define Win64 = "no" ?>
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
|
||||||
|
<?endif ?>
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||||
|
<Product Name="Kalk" Id="*" UpgradeCode="F9D116C9-E90A-4956-803E-D8A7D324D434" Language="1033" Codepage="1252" Version="$(var.Version)" Manufacturer="Kalk">
|
||||||
|
<Package InstallerVersion="450" Compressed="yes" InstallScope="perMachine" Platform='$(var.Platform)'/>
|
||||||
|
<MajorUpgrade AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A newer version of [ProductName] is already installed."/>
|
||||||
|
<Icon Id="KalkIco" SourceFile=".\kalk.ico"/>
|
||||||
|
<WixVariable Id="WixUILicenseRtf" Value=".\wix/License.rtf"/>
|
||||||
|
<Property Id="ARPPRODUCTICON" Value="KalkIco"/>
|
||||||
|
<MediaTemplate EmbedCab="yes"/>
|
||||||
|
<UIRef Id="WixUI_Minimal"/>
|
||||||
|
|
||||||
|
<Feature Id="ProductFeature" Title="ConsoleApp" Level="1">
|
||||||
|
<ComponentRef Id="KalkExe"/>
|
||||||
|
<ComponentRef Id="KalkShortcut"/>
|
||||||
|
<ComponentRef Id="ModifyPathEnv"/>
|
||||||
|
</Feature>
|
||||||
|
|
||||||
|
<!-- Create directories -->
|
||||||
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
|
<Directory Id="$(var.PlatformProgramFilesFolder)">
|
||||||
|
<Directory Id="KalkProgramFiles" Name="Kalk"/>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="ProgramMenuFolder">
|
||||||
|
<Directory Id="KalkProgramMenu" Name="Kalk"/>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<!-- Application binaries -->
|
||||||
|
<DirectoryRef Id="KalkProgramFiles">
|
||||||
|
<Component Id="KalkExe" Guid="*" Win64='$(var.Win64)'>
|
||||||
|
<File Id="KalkExeFile" Source="..\target\release\kalk.exe" Name="kalk.exe" KeyPath="yes"/>
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
|
|
||||||
|
<DirectoryRef Id="KalkProgramMenu">
|
||||||
|
<!-- Application shortcut -->
|
||||||
|
<Component Id="KalkShortcut" Guid="aa36e61a-23cd-4383-b744-2f78e912f0dc" Win64='$(var.Win64)'>
|
||||||
|
<Shortcut Id="KalkShortcutFile" Name="Kalk" Description="A calculator" Target="[KalkProgramFiles]kalk.exe"/>
|
||||||
|
<RemoveFolder Id="KalkProgramMenu" On="uninstall"/>
|
||||||
|
<RegistryValue Root="HKCU" Key="Software\Microsoft\kalk" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
|
|
||||||
|
<DirectoryRef Id="KalkProgramFiles">
|
||||||
|
<!-- Add to PATH -->
|
||||||
|
<Component Id="ModifyPathEnv" Guid="edf0b679-9eb6-46f7-a5d1-5160f30acb34" KeyPath="yes" Win64='$(var.Win64)'>
|
||||||
|
<Environment Id="PathEnv" Value="[KalkProgramFiles]" Name="PATH" Permanent="no" Part="first" Action="set" System="yes"/>
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
|
</Product>
|
||||||
|
</Wix>
|