Compilation batch de plusieurs projets PureBasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Compilation batch de plusieurs projets PureBasic

Message par cage »

Bonjour a tous,
C'est mon premier post sur le forum et je remercie par avance ceux qui prendrons le temps de me lire.
Je voudrais savoir s'il est possible de compiler plusieurs projets a partir des fichiers *.pbp pour pouvoir conserver toutes les informations contenues dans ces fichiers telles que:
Version du fichier
Nom du produit
Version du produit
..., visibles par clique droit sur l’exécutable, Propriétés->Détails
J'ai 25 fichiers a compiler en 32-bit et 64-bit et cela devient fastidieux de le faire a la main.
J'ai un répertoire par projet qui contient un fichier projet32.pbp et projet64.pbp qui me permet de compiler en 32 et 64-bit
J'ai un script pb pour updater mes fichiers *.pbp en fonction de la version de PB et de la date de compilation.
Il me manque la possibilité de compiler l'ensemble de mes projets par un simple Batch
Je ne sais pas si la question a déjà été posée.
Merci a vous,
Gérard
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Compilation batch de plusieurs projets PureBasic

Message par comtois »

La syntaxe en ligne de commande est la suivante :

PureBasic.exe /build "projet.pbp"

Je ne connais pas la syntaxe des fichiers bat ou cmd,site à étudier, ça pourra me servir.

Voir la doc pour plus d'options
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Compilation batch de plusieurs projets PureBasic

Message par cage »

Merci pour la réponse.
Je n'avais pas réalisé que c'était aussi simple que cela. J'avais mal lu ou mal compris la doc.
Je viens de faire l'essai avec le bout de code suivant et cela fonctionne parfaitement.

Code : Tout sélectionner

EnableExplicit

OnErrorGoto(?ErrorHandler)

Global PUREBASIC$ = "c:\program files\purebasic\purebasic.exe"

Global foldr$, old$

Global project$ , pbpfile$

NewList folders.s()

If ExamineDirectory(0, ".", "*.*")
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_Directory
      foldr$ = DirectoryEntryName(0)
      If foldr$ <> old$
        Select Left(LCase(foldr$), 12)
          Case ".", "..", "icones"
          Default
            AddElement(folders())
            folders() = foldr$
        EndSelect
      EndIf
      old$ = foldr$
    EndIf
  Wend
  FinishDirectory(0)
EndIf

SortList(folders(), #PB_Sort_Ascending | #PB_Sort_NoCase)

ForEach folders()
  foldr$ = folders()
  If ExamineDirectory(0, ".\" + foldr$, "*.pbp")
    While NextDirectoryEntry(0)
      If DirectoryEntryType(0) = #PB_DirectoryEntry_File
        project$ = DirectoryEntryName(0)
        pbpfile$ = ".\" + foldr$ + "\" + project$
        Debug pbpfile$
        RunProgram(PUREBASIC$, "/build " + pbpfile$, #Null$, #PB_Program_Wait)
      EndIf
    Wend
  EndIf
Next

ErrorHandler:

End
Il me reste a l'améliorer pour intercepter les erreurs et les afficher.
Quand je parlais de batch, je ne pensais pas forcément a du bat mais plutôt a une tache automatisé qui une fois lancée se déroule seule.
Encore merci,
Gérard

[Edit Ar-S] Bonjour Gerard, pense à mettre tes codes dans les balises 'Code' adéquates ;) j'ai corrigé[/edit]
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Compilation batch de plusieurs projets PureBasic

Message par cage »

Merci pour la correction.
Je vais faire attention, promis.
Voici l'équivalent en batch dos
Contenu du fichier compile++.cmd ou compile++.bat (aucune importance)

Code : Tout sélectionner

@echo off
:: Fichier compile++.cmd

setlocal enableextensions enabledelayedexpansion

dir /b /s *.pbp > compile++.txt

for /f "delims=" %%a in (compile++.txt) do (
set projet=%%a
echo !projet!
call "c:\program files\purebasic\purebasic.exe" /build !projet!
)

pause
exit
Gérard
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Répondre