abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:33 | Zajímavý projekt

    Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.

    Ladislav Hagara | Komentářů: 1
    dnes 12:11 | Pozvánky

    Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 28
    3.5. 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 2
    2.5. 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 0
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 5
    2.5. 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 2
    2.5. 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 2
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 3
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 524 hlasů
     Komentářů: 22, poslední dnes 10:06
    Rozcestník

    Dotaz: CMake, pocet radku v souboru

    7.2.2017 23:05 Franta
    CMake, pocet radku v souboru
    Přečteno: 522×
    Existuje nejake lepsi reseni, jak v CMakeLists.txt spocitat pocet radku v souboru, nez toto? Nacteni souboru a pak ukladani matchu do pole jenom proto, abych mohl ziskat jejich pocet, mi neprijde nejlepsi. Bude se jednat o velky projekt s hodne soubory a nechci, aby beh cmake trval vecnost:
    file(READ ${source_file} source_file_contents)
    string(REGEX MATCHALL "\n" newline_matches "${source_file_contents}")
    list(LENGTH newline_matches newline_count)
    

    Řešení dotazu:


    Odpovědi

    8.2.2017 09:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    wc -l soubor

    8.2.2017 18:35 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ja se omlouvam, ale myslici clovek snad pozna, ze tohle mi je k nicemu. Pisu v CMakeLists.txt, jako priklad uvadim nejake prikazy cmake a vy mi sem date konzolovy prikaz.
    8.2.2017 18:46 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    A je problém ho použít že?

    Když ho použít nechceš nemusíš o tom to je napiš si počítání konců řádků podle sebe.
    8.2.2017 20:51 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ale vsak pisu, ze to potrebuju v cmake a ne ve shellu.
    8.2.2017 20:56 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Předpokládám, že cmake umí spouštět wc a shell k tomu není vůbec potřebný.

    BTW: K čemu je vlastně dobré znát počet řádek ve zdrojovém souboru?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 21:06 kamen
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    vy jste uplne ale uplne zaujaty tim wc.

    dotaz byl jak to udelat v cmake.

    ne na wc, ne v shelu,omv,aralu..

    8.2.2017 21:51 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Nejsem tím zaujatý pokud jsi si nevšiml další příspěvky nebyly moje.

    Ale když už jsme u toho proč bych spouštěl nějaký shell????

    cmake neumí spustit externí program.

    A jinak taky by mě zajímalo proč v programu počítat kolik má řádků?
    9.2.2017 08:17 kamen
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    muj omyl: sory; a ne jako, ale fakt. muj nehezky komentar patril predchozimu diskuteru.

    cmake ext. program: pokud vim, tak cmake pri generovani build systemu umi spustit ext. program. je to ale ve vetsine nevhodne, protoze to vytvari potrebu platformne zavisleho ext. programu.

    8.2.2017 22:07 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    O shellu přece vůbec nebyla řeč...

    Používám make, ve kterém zcela běžně volám externí programy (bez shellu) a předpokládal jsem, že to v cmake bude skoro stejné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 21:47 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Unity build. Ale protoze se jedna o velky projekt, chci limitovat celkovy pocet radku (tj. vsech includovanych cpp souboru) pro takto vygenerovany soubor, jinak by to sezralo vsechnu pamet a kompilator by umrel.
    8.2.2017 21:54 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Co je zase toto za blbost?

    Velké projekty se skládají z menších prvků které se teprve potom slinkují a né že se udělá jeden cpp soubor v kterém bude:
    <include> 1.cpp
    <include> 2.cpp
    .......
    <include> 10000.cpp
    8.2.2017 22:11 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To neni blbost. Prave, ze se sklada z mensich prvku, ty se skladaji z mraky cpp souboru a kdyz se kazdy kompiluje zvlast (i nekolik paralelne) tak to proste trva hodne dlouho. Unity build toto klidne dokaze zkratit na polovinu. Misto treba 200 cpp souboru kompilujete jen 20, ktere kazdy includuji 10 a samozrejme dale se to paralelizuje. Hlavni nevihodou je vetsi spotreba pameti pri kompilaci a proto se to snazim omezit celkovym poctem radku.
    10.2.2017 04:24 Sten
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    O ccache jste už slyšel? V porovnání s tím je Unity Build jen nepodařená hříčka.
    8.2.2017 22:11 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Includují se přece jen hlavičkové soubory, které bývají poměrně krátké. Nějaké překročení limitní délky vůbec nehrozí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:16 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    V tomto pripade includuji cpp soubory do jineho cpp souboru, ktery se kompiluje misto tech puvodnich. Jak pisu vyse, pokud bych do jednoho souboru naincludoval vsechny, nebude dostatek pameti pro kompilaci, je potreba to nejak rozdelit a omezit to poctem radku tech cpp souboru je +- autobus uzitecne reseni. Akorat se jeste snazim zkratit dobu behu cmake.
    8.2.2017 22:18 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Tohle řešení ve výsledku pouze prodlouží dobu kompilace, nehledě na hromadu dalších nevýhod.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:20 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Přesně blbost.

    Na začátku možná ušetříš při kompilaci jednoho velkého souboru než 1000 menších, ale pak při opravě jednoho řádku zase musíš přeložit jeden velký soubor než 1 malý.

    Takže za mě je to fakt blbost o to co se snažíš.....
    8.2.2017 22:33 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To je pro automatizovane buildy a ne pro vyvoj, kdy zmenim jednu radku a musim pak prekompilovat haldu souboru.
    8.2.2017 22:48 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Panebože takže vývoj máš dělaný jinak a finální překlady taky????

    Bral bych to kdyby se to pak překládalo pro 1000 různých platforem, ale pro těch pár co existují?

    Distribuji to pak jako binárku, a né že se to musí přeložit na každém stroji samostatně...

    By mě zajímalo pro jakou firmu pracuješ že máš tolik času se zabývat kravinama a podle mě to kravina je.
    9.2.2017 19:30 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To jsou automatizovane buildy pro ruzne vetve pro ucely automatickych testu. Nejsou to buildy pro finalni produkt. Tech vetvi neni malo a cim drive se to prelozi, tim drive se to otestuje, zjisti se pripadne chyby a opravi.
    8.2.2017 22:15 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ten článek je totální blud postavený na nesmyslech.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:17 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Zkousel jste to? Tak, jak je v clanku kod, tak je to samozrejme nepouzitelne na velky projekt, ale pri trose prizpusobeni se build da o dost zrychlit.
    8.2.2017 22:22 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Nezrychlí, ale zpomalí. Když udělám změnu v jednom zdrojáku, zkompiluje se jen ten jeden zdroják a slinkuje s ostatními 199 již zkompilovanými soubory.

    Podle toho článku když udělám změnu v jednom souboru, musím kompilovat všech 200 cpp souborů, což bude trvat mnohem déle.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:23 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Je to blbost.

    Protože při změně jednoho řádku musíš překompilovat jeden velký soubor než jeden malý a co bude rychlejší.......

    A při vývoji se pořád mění nějaké věci a proč překládat všechno v jednom velkém souboru?

    Možná při prvotním překladu ušetříš, ale při následných překladech budeš prodělávat....
    8.2.2017 22:37 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Viz vyse. Kazdopadne pojdme se vratit k puvodnimu dotazu. Jak to prostredky cmake udelat lepe, bez spousteni externich nastroju.
    8.2.2017 22:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Prostě musíš ty řádky spočítat.....

    Nevím co cmake umí a zjišťovat to nebudu, a nevím proč se bráníš používat externí programy.

    Koukni do wc jak to počítá a implementuj postup na to co umí cmake.
    8.2.2017 23:04 ssss
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Rekl bych, ze cmake nema zadny konkretni nastroj na pocitani radku...CMake/Language_Syntax tohle to celkem jasne objasnuje, ze i reseni, ktere jsi uvedl je v napsano jako script a nikoli funkce. cmake je nastroj na generovani souboru z jinych souboru, kontrolu zavislosti, substituce...

    Mas tak asi moznost bud pouzit tu uvedenou funkci nebo zavolat externi nastroj. Ani jedna moznost me neprijde spatna. Pouziti funkce je vic multiplatformni, naopak externi utilita bude vic flexibilni.

    Je treba si uvedomit, ze samotne cmake externi utility vola mnohokrat.. pri osahavani systemu na kterem bezi, u ruznych kompileru... testovani vlastnosti knihoven, prikazu...

    Dal bych mel upozornit, ze dokud si clovek skutecne neosaha konkretni reseni ohledne vykonu, tezko muze delat obecne zavery. Systemy typu make, cmake jsou vesmes interprety, tedy bezi vyraznejsi pomaleji nez kompilovane veci. Pokud skutecne narazis na problem s vykonem, zjevne bude potreba sahnout k C/C++, Fortranu, Ada, a apod.
    stativ avatar 9.2.2017 19:38 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Přidám se k názoru, že je to blbost. Pokud chcete zrychlit build, tak se doporučuji spíš podívat po ccache a pokud ještě nepoužíváte, tak zkusit precompiled headers.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    9.2.2017 20:08 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Myslím si, že další cache jsou již zbytečné a ke zrychlení buildu již nijak nepomohou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    13.2.2017 23:45 Ondra
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Článek je z roku 2009, kdy SSD byl přepychem horních deseti tisíc, případně předmětem vášnivých diskusí v anarchistických kroužcích. Místo podobných rovnáků na ohejbáky bych se raději soustředil na investici do rozumného disku (SSD), a do lepšího strukturování kódu, aby se při změně jednoho řádku nemuselo kompilovat tisíc souborů. Pak samozřejmě do paralelizace buildu; pokud byste chtěl hodně popustit uzdu fantazie, tak je možné rozdělit projekt do několika knihoven, které se budou buildit samostatně a na různých nodech, a finální produkt se jen poskládá z nich.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.