Provide windows support for new feature
This commit is contained in:
parent
5c4092ff32
commit
d076e6b855
3 changed files with 32 additions and 9 deletions
26
Makefile
26
Makefile
|
@ -4,18 +4,36 @@ build: src/kanji_search.rs src/main.rs src/sentence_search.rs src/util.rs src/wo
|
||||||
release: src/kanji_search.rs src/main.rs src/sentence_search.rs src/util.rs src/word_search.rs
|
release: src/kanji_search.rs src/main.rs src/sentence_search.rs src/util.rs src/word_search.rs
|
||||||
cargo build --release
|
cargo build --release
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -r target/debug/
|
ifeq ($(OS),Windows_NT)
|
||||||
rm -r target/release/
|
powershell "if (Test-Path .\target\debug) { rm -r .\target\debug };\
|
||||||
|
if (Test-Path .\target\release) { rm -r .\target\release }"
|
||||||
|
else
|
||||||
|
rm -rf target/debug/
|
||||||
|
rm -rf target/release/
|
||||||
|
endif
|
||||||
|
|
||||||
install: target/release/ykdt
|
install: target/release/ykdt*
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
powershell "if (-Not (Test-Path $(DESTDIR)\"C:\Program Files\ykdt\")) { mkdir $(DESTDIR)\"C:\Program Files\ykdt\" };\
|
||||||
|
[Environment]::SetEnvironmentVariable(\"Path\", $$env:Path + \";C:\Program Files\ykdt\", \"Machine\");\
|
||||||
|
cp target\release\ykdt.exe $(DESTDIR)\"C:\Program Files\ykdt\";\
|
||||||
|
cp kanji_strokes $(DESTDIR)\"C:\Program Files\ykdt\""
|
||||||
|
else
|
||||||
mkdir -p $(DESTDIR)/usr/bin
|
mkdir -p $(DESTDIR)/usr/bin
|
||||||
mkdir -p $(DESTDIR)/usr/local/share/ykdt
|
mkdir -p $(DESTDIR)/usr/local/share/ykdt
|
||||||
cp target/release/ykdt $(DESTDIR)/usr/bin
|
cp target/release/ykdt $(DESTDIR)/usr/bin
|
||||||
cp kanji_strokes $(DESTDIR)/usr/local/share/ykdt
|
cp kanji_strokes $(DESTDIR)/usr/local/share/ykdt
|
||||||
|
endif
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
powershell $$path = "([System.Environment]::GetEnvironmentVariable(\"PATH\", \"Machine\").Split(\";\") | Where-Object { $$_ -ne \"C:\Program Files\ykdt\" }) -join \";\";\
|
||||||
|
[System.Environment]::SetEnvironmentVariable(\"PATH\",$$path,\"Machine\");\
|
||||||
|
if (Test-Path $(DESTDIR)\"C:\Program Files\ykdt\") { rm -r $(DESTDIR)\"C:\Program Files\ykdt\" }"
|
||||||
|
else
|
||||||
rm $(DESTDIR)/usr/bin/ykdt
|
rm $(DESTDIR)/usr/bin/ykdt
|
||||||
rm -r $(DESTDIR)/usr/local/share/ykdt
|
rm -r $(DESTDIR)/usr/local/share/ykdt
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: build release install uninstall clean
|
.PHONY: build release install uninstall clean
|
||||||
|
|
|
@ -148,10 +148,15 @@ fn search_by_strokes(query: &mut String, radk_list: &[radk::Membership], n: usiz
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_stroke_info() -> Result<Vec<String>, std::io::Error> {
|
pub fn get_stroke_info() -> Result<Vec<String>, std::io::Error> {
|
||||||
#[allow(deprecated)]
|
let file: String;
|
||||||
let file = fs::read_to_string("/usr/local/share/ykdt/kanji_strokes")?;
|
#[cfg(unix)]
|
||||||
|
{
|
||||||
|
file = fs::read_to_string("/usr/local/share/ykdt/kanji_strokes")?;
|
||||||
|
}
|
||||||
|
#[cfg(windows)]
|
||||||
|
{
|
||||||
|
file = fs::read_to_string("C:\\Program Files\\ykdt\\kanji_strokes")?;
|
||||||
|
}
|
||||||
let stroke_info: Vec<String> = Vec::from_iter(file.split('\n').map(|s| s.to_owned()));
|
let stroke_info: Vec<String> = Vec::from_iter(file.split('\n').map(|s| s.to_owned()));
|
||||||
|
|
||||||
Ok(stroke_info)
|
Ok(stroke_info)
|
||||||
}
|
}
|
||||||
|
|
|
@ -285,7 +285,7 @@ fn get_radkfile_path() -> Option<PathBuf> {
|
||||||
None => {
|
None => {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut path: Vec<u16> = Vec::with_capacity(MAX_PATH as usize);
|
let mut path: Vec<u16> = Vec::with_capacity(MAX_PATH as usize);
|
||||||
match SHGetFolderPathW(0, CSIDL_PROFILE as i32, 0, 0, path.as_mut_ptr()) {
|
match SHGetFolderPathW(std::ptr::null_mut(), CSIDL_PROFILE as i32, std::ptr::null_mut(), 0, path.as_mut_ptr()) {
|
||||||
S_OK => {
|
S_OK => {
|
||||||
let len = wcslen(path.as_ptr());
|
let len = wcslen(path.as_ptr());
|
||||||
path.set_len(len);
|
path.set_len(len);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue