66 lines
2.0 KiB
Batchfile
66 lines
2.0 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
set TARGET=x64Clang-Release
|
|
|
|
REM Chemin relatif vers JulietShaderCompiler.exe
|
|
set COMPILER_PATH=bin\%TARGET%\JulietShaderCompiler.exe
|
|
echo Compiler Path: !COMPILER_PATH!
|
|
|
|
REM --- GESTION D'ERREUR : Vérification du compilateur ---
|
|
if not exist "!COMPILER_PATH!" (
|
|
echo.
|
|
echo ERREUR : Le compilateur est introuvable au chemin : !COMPILER_PATH!
|
|
echo Assurez-vous d'avoir bien bati le projet JulietShaderCompiler.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
REM Dossier source contenant les fichiers .frag.hlsl et .vert.hlsl
|
|
set SOURCE_DIR=Assets\source
|
|
echo Source Dir: !SOURCE_DIR!
|
|
|
|
REM --- GESTION D'ERREUR : Vérification du dossier source ---
|
|
if not exist "!SOURCE_DIR!" (
|
|
echo.
|
|
echo ERREUR : Le dossier source est introuvable : !SOURCE_DIR!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
REM Dossier de sortie pour les fichiers compilés
|
|
set OUTPUT_DIR=Assets\compiled
|
|
echo Output Dir: !OUTPUT_DIR!
|
|
|
|
REM Créer le dossier de sortie s'il n'existe pas
|
|
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
|
|
|
|
REM Parcourir tous les fichiers .frag.hlsl et .vert.hlsl dans le dossier source
|
|
for %%F in ("%SOURCE_DIR%\*.frag.hlsl" "%SOURCE_DIR%\*.vert.hlsl") do (
|
|
REM Extraire le nom du fichier sans l'extension
|
|
set "FILENAME=%%~nF"
|
|
REM Extraire l'extension du fichier
|
|
set "EXTENSION=%%~xF"
|
|
REM Remplacer .frag.hlsl par frag et .vert.hlsl par vert
|
|
if "%%~xF"==".frag.hlsl" (
|
|
set "SHORT_EXTENSION=frag"
|
|
) else if "%%~xF"==".vert.hlsl" (
|
|
set "SHORT_EXTENSION=vert"
|
|
)
|
|
REM Construire la ligne de commande
|
|
set "COMMAND=%COMPILER_PATH% %SOURCE_DIR%\!FILENAME!!EXTENSION! -o %OUTPUT_DIR%\!FILENAME!!SHORT_EXTENSION!.dxil"
|
|
echo !COMMAND!
|
|
REM Afficher la ligne de commande pour le débogage
|
|
echo Compiling: !FILENAME!!EXTENSION!
|
|
REM Appeler JulietShaderCompiler.exe avec les arguments spécifiés
|
|
!COMMAND!
|
|
|
|
if !ERRORLEVEL! NEQ 0 (
|
|
echo ERREUR lors de la compilation de %%F
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo Operation terminee.
|
|
pause
|
|
endlocal |