diff --git a/README.md b/README.md index 4b40b46..150700f 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ make -j$(nproc) ## Building +### Linux / macOS ```bash git clone https://github.com/IMbackK/aceradio.git cd aceradio @@ -36,6 +37,29 @@ cmake .. make -j$(nproc) ``` +### Windows (Qt6 + CMake) + +To build on Windows, ensure you have **CMake** and **Qt6** installed. Run the following commands in **Command Prompt (cmd)** or **PowerShell**: + +1. **Configure and Build:** +```cmd +git clone https://github.com/IMbackK/aceradio.git +cd aceradio +mkdir build +cmake -B build -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvc2019_64" + +# Use --parallel to build using all CPU cores +# Or use -j N (e.g., -j 4) to limit the number of threads +cmake --build build --config Release --parallel +``` +Note: Replace C:/Qt/6.x.x/msvc2019_64 with your actual Qt installation path. + +2. **Deploy Dependencies:** +Run windeployqt to copy necessary Qt libraries to the build folder: +```cmd +"C:\Qt\6.x.x\msvc2019_64\bin\windeployqt.exe" --no-translations build\Release\aceradio.exe +``` + ## Setup Paths: Go to settings->Ace Step->Model Paths and add the paths to the acestep.cpp binaries the models. diff --git a/src/AceStepWorker.cpp b/src/AceStepWorker.cpp index 6f4bbe8..6dce972 100644 --- a/src/AceStepWorker.cpp +++ b/src/AceStepWorker.cpp @@ -57,7 +57,7 @@ bool AceStep::requestGeneration(SongItem song, QString requestTemplate, QString request = {song, QRandomGenerator::global()->generate(), aceStepPath, textEncoderModelPath, ditModelPath, vaeModelPath}; - QString qwen3Binary = aceStepPath + "/ace-lm"; + QString qwen3Binary = aceStepPath + "/ace-lm" + EXE_EXT; QFileInfo qwen3Info(qwen3Binary); if (!qwen3Info.exists() || !qwen3Info.isExecutable()) { @@ -141,7 +141,7 @@ void AceStep::qwenProcFinished(int code, QProcess::ExitStatus status) return; } - QString ditVaeBinary = request.aceStepPath + "/ace-synth"; + QString ditVaeBinary = request.aceStepPath + "/ace-synth" + EXE_EXT; QFileInfo ditVaeInfo(ditVaeBinary); if (!ditVaeInfo.exists() || !ditVaeInfo.isExecutable()) { diff --git a/src/AceStepWorker.h b/src/AceStepWorker.h index bcdf6b5..17962f8 100644 --- a/src/AceStepWorker.h +++ b/src/AceStepWorker.h @@ -13,6 +13,12 @@ #include "SongItem.h" +#ifdef Q_OS_WIN +inline const QString EXE_EXT = ".exe"; +#else +inline const QString EXE_EXT = ""; +#endif + class AceStep : public QObject { Q_OBJECT