.[ ČeskéHry.cz ].
Custom build step/tool ve VS2010?

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Crypton



Založen: 14. 05. 2009
Příspěvky: 306
Bydliště: The Void

PříspěvekZaslal: 6. únor 2012, 21:12:46    Předmět: Custom build step/tool ve VS2010? Odpovědět s citátem

Zdravím ve spolek,

potřeboval bych před zahájením kompilace spustit svojí externí aplikaci (přes příkazový řádek) pro každý zdrojový soubor (tj. *.h;*.cpp) v projektu. [1]

Tato aplikace naparsuje tyto soubory a vygeneruje další zdrojové soubory, které se ale budou kompilovat namísto těch naparsovaných. [2]

Je to ve VS2010 možné? Všimul jsem si že tam něco takového je, ale moc jsem to nezkoumal, přišlo mi to trošku složité. Potřeboval bych alespoň bod 1, protože bod bych mohl vyřešit i za pomocí direkrivy #include.

Děkuju za jakoukoliv odpověď. Wink
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 6. únor 2012, 21:29:09    Předmět: Odpovědět s citátem

hmm bude to chtit trochu vic popsat asi Smile - ale urcite

1) *.cpp jdou udelat jako 'exclude from build' - tzn. se ti nutne nebuidnou ..
2) ta *.cpp co maji byt vygenerovana bych i tak dal do projektu - fake prazdne soubory

potom pre-build step naparsuje co je treba

a build zbuilduje to nagenerovane

takto by to slo?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Crypton



Založen: 14. 05. 2009
Příspěvky: 306
Bydliště: The Void

PříspěvekZaslal: 8. únor 2012, 16:15:03    Předmět: Odpovědět s citátem

Díky. Akorád že nevím jak ten "custom build step" přidat do toho projektu. Laughing

Vím že když otevřu "Property Pages" u svého projektu, tak tam je položka "Build Events" a "Custom Build Step". Zkoušel jsem obojí, ale vůbec se mi nepodařilo tu mojí aplikaci spustit pro každý .h a .cpp soubor v projektu. Nikde tam ani nevidím kolonku pro zadání přípony souboru.

Nikde jsem taky nenašel nějaký kompletní příklad, a tak jediné co jsem našel bylo jak přidat "Build Target", a to přes editaci .vcxproj v textovém editoru: http://stackoverflow.com/questions/3269575/how-do-i-add-a-custom-build-target-to-a-visual-c-2010-project

Taky bych potřeboval aby to spouštělo ten parser jen v případě kdy došlo ke změně obsahu toho vstupního souboru, a pokud jsem to pochopil správně, tak se ta kontrola automaticky provádí právě ve build targetu, a né custom build stepu.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
tommy



Založen: 04. 06. 2008
Příspěvky: 31
Bydliště: Praha

PříspěvekZaslal: 8. únor 2012, 21:08:17    Předmět: Odpovědět s citátem

Projdi si dostupne options pro msbuild, treba tam neco podobneho bude.

Jinak co ti brani si v Post-Build zavolat nejaky svuj bat nebo exe ktery to provede?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 9. únor 2012, 00:22:44    Předmět: Odpovědět s citátem

O změně kompilátoru neuvažuješ? Co takhle mingw + makefile? Makefile je přesně na tohle dělanej. Někde jsem četl, že i VS umí kompilovat pomocí makefile, ale nevim teda jak.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 9. únor 2012, 09:03:06    Předmět: Odpovědět s citátem

@Crypton - custom-build-step se pousti jednou - ne pro kazdej soubor extra -to bys pak musel asi jit na kazdej soubor v projektu a nejak u neho to nastavit ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1824

PříspěvekZaslal: 9. únor 2012, 09:32:19    Předmět: Odpovědět s citátem

Ano, pusta sa to len raz pre celu kompilaciu. V tom pripade si napis skript (bat, python, whatever), ktory bude tym custom step spusteny a skript samotny zavola tu ziadanu aplikaciu (custom preprocessor) na kazdy potrebny .h a .cpp... Komplikovane, zbytocne?

Osobne by som sa pozrel, ako to robi Nokia Qt, pretoze tam dochadza k preparsovaniu vsetkych vstupnych suborov, kde niektora z tried obsahuje direktivu Q_OBJECT, vygeneruju sa uplne nove subory a az tie sa poslu normalnemu kompilatoru (to je presne to, co chces ty). A je to aj zaintegrovane do VS, je to open-source. Takze tam by som hladal uplne konkretnu inspiraciu, v Qt.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kerekes



Založen: 29. 07. 2007
Příspěvky: 57

PříspěvekZaslal: 9. únor 2012, 09:35:07    Předmět: Odpovědět s citátem

V Qt existuje qmake.exe, ktory robi presne to co popisuje pcmaster (sprava sa ak onejaky pre prepocesor). Zrejme sa len spusti qmake.exe s nejakym -a parametrom co mu povie aby preliezol vsetky zdrojaky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 9. únor 2012, 10:30:55    Předmět: Odpovědět s citátem

no takze jsem kvuli vam pustil to C++ (coz delam ostatne 100x denne v praci) Smile

u kazdeho souboru (tedy ne per projekt) lze dat prave tlacitko -> properties -> a primo v 'General' nabidce vidime vpravo v gridu 2 polozky

1) Excluded from build
2) Item Type
-- u Item Type je moznost zvolit i Custom Build Tool

tak si pohledej jak to udelat a nastavit Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 9. únor 2012, 20:45:24    Předmět: Odpovědět s citátem

Jj, přesně jak píše rezna. Čili do projektu dát původní cpp a každému z nich nastavit custom build step a ten musí vygenerovat obj soubor z toho původního cpp. A jelikož se to asi bude opakovat u více souborů, je tam myslm někde i možnost nadefinovat vlastní build tool a pak ho jen vybírat z nabídky. (U assembleru jsme nicméně vždycky používali klasický obyčejný custom build step.)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna