abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

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

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 4
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 567 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Cmake: zjednoduš si život

    8. 6. 2006 | Petr Vaněk | Programování | 13981×

    Každý, kdo kdy vyvíjel program, který se skládal z více než dvou souborů zdrojového kódu a používal alespoň jednu externí knihovnu, stál před otázkou: „jak to, sakra, vůbec sestavit?“ Navíc nedejbože na jiném, cizím, systému.

    Snad mezi námi není takový nešťastník, jenž by sobě bastlil vlastní Makefile na SUSE a posléze se jej snažil naroubovat na sousedovic Win32 nebo Blaženčino FreeBSD. V dávné historii tento problém řešila hromada lidí, až vykrystalizovala nejpoužívanější varianta – Autotools.

    Jenže Autotools jsou, politicky korektně řečeno, nepřehledné. Koncový uživatel, popř. distribuční balič, je s nimi spokojen, anžto ./configure;make;make install funguje perfektně, ale průměrný vývojář má z pekla jazyka m4 kořeněného shell skripty hlavu velikosti basketbalového míče hmotnosti balonu medicimbalového. A osudem zkroušený operátor Autotools skriptů raději bere již napsané cizích fragmenty souborů a lepí je, doufaje, že to bude tak nějak fungovat. Ano, zde se berou podivné hlášky ve výstupu configure „checking for audio.h“ jedné nejmenované grafické aplikace.

    Více lamentování v dobrém článku pana Radima Koláře.

    Neexistuje tedy jiné, elegantnější řešení? Samozřejmě. A můžeme si vybrat. Scons, qmake… a Cmake. A proč zvolit Cmake? Elegance, rychlost, ale třeba i to, že si jej vybralo KDE jakožto nový nástroj pro svou chystanou čtvrtou verzi. Právě podněty, které vývojáři KDE vznesli, byly rychlostí nenaložené vlaštovky zaneseny do aktuální verze Cmake, takže je práce s externími knihovnami a exotickými architekturami skutečně jednoduchá.

    Autotools schema
    Schema práce s Autotools

    Na rozdíl od Scons je Cmake svým principem Autotools podobné – v každém adresáři projektu je umístěn soubor CMakeLists.txt s popisem toho, co má být v daném adresáři vykonáno. Spuštěním příkazu cmake jsou pak vygenerovány požadované výstupy, a tyto výstupy nemusí být jenom Makefile, ale třeba projekt KDevelop anebo Microsoft Visual C++. Dále se budeme zabývat klasickými Makefile, protože jsme konzervativní, a protože jsou jejich příklady nejjednodušší.

    cmake schema
    Schema práce s Cmake

    Příklad, aneb: „zdař bůh světe!“

    Dosti teorie, „spějmež do ježdíku“ praxe. Následuje jednoduchá ukázka konfigurace a kompilace. Mějme tedy program, který vyžaduje ke svému běhu knihovnu Qt a volitelně libxml2. Zdrojový kód je silně vyumělkovaný, v podstatě zobrazí pouze dialog s informacemi o Qt a zkusí zavolat jednu z funkcí libxml2, pokud je knihovna v systému přítomna. Referenční program máte k dispozici.

    Rozbalíte-li si uvedený příklad, uvidíte v něm pár souborů. main.cpp je vlastní zdrojový kód, config.h.cmake šablona, ze které Cmake vygeneruje klasický config.h s nastavením preprocesoru C/C++, adresář cmake (o tom později) a nejdůležitější soubor: CMakeList.txt. V CMakeList.txt jsou popisy toho, co chci hledat, co chci nastavit a co použít. Nyní si prosvištíme některé zajímavé části konfigurace:

    CMAKE_MINIMUM_REQUIRED(VERSION 2.4.2)
    SET(CMAKE_COLOR_MAKEFILE ON)
    SET(CMAKE_VERBOSE_MAKEFILE ON)
    SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)

    Protože jsme průkopníci, ale hlavně protože využíváme nové vlastnosti, musíme vymezit minimální možnou verzi Cmake, také si pro potěšení nastavíme obarvený výpis a nebudeme potlačovat výpisy překladače.

    SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")

    Cmake vyhledává externí knihovny pomocí tzv. modulů. Distribuovaný balíček jich sám o sobě obsahuje celou řadu, takže např. konfiguraci Qt nijak specifikovat nemusím, protože je v systému /usr/share/CMake/Modules/FindQt3.cmake (stejně tak např. GTK+, Qt4, ale i Python atd.). Existují také ale knihovny, které Cmake modul nemají. Pak si jej musíme dopsat, anebo se porozhlédnout, jestli už ho pro nás někdo nenapsal – jako je tomu v případě libxml2. Tento, stejně tak i mnoho dalších, je připravený díky vývoji KDE4. Tyto moduly „navíc“ tímto zahrnu do svého projektu, přesněji řečeno nakopíruji do uvedeného adresáře, protože tam budou později nalezeny.

    SET (QT_MIN_VERSION "3.3.4")
    FIND_PACKAGE(Qt3 REQUIRED)
    IF (QT_FOUND)
      MESSAGE("Qt3 Found OK (${qt_version_str})")
      ADD_DEFINITIONS(${QT_DEFINITIONS})
    ELSE(QT_FOUND)
      MESSAGE(FATAL_ERROR "No Qt3")
    ENDIF(QT_FOUND)

    Snažím se zkonfigurovat Qt3. V případě, že není nalezena, konfigurace spadne s fatální chybou (volba REQUIRED).

    SET(LIBXML2_DIR ${CMAKE_MODULE_PATH})
    FIND_PACKAGE(LIBXML2)
    IF(LIBXML2_FOUND)
      SET(HAVE_XML 1)
      MESSAGE("LIBXML2 Library Found OK")
      ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
    ENDIF(LIBXML2_FOUND)

    Snažím se zkonfigurovat volitelnou knihovnu libxml2. Pokud ji nenaleznu, nic se neděje, Cmake předpokládá, jistě správně, že se s tím můj kód vyrovná.

    Nyní se na chvíli zastavme u výše zmíněné šablony config.h.cmake. Protože v systému nemusím libxml2 mít, měl bych to nějak dát vědět zdrojovému kódu. Poslední řádka CMakeList.txt zde proto bude obsahovat příkaz CONFIGURE_FILE, který vygeneruje céčkový config.h, tedy v tomto případě s jedinou direktivou #define HAVE_XML 1, pokud bude konfigurace v pořádku.

    INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${QT_INCLUDE_DIR}
                       ${QT_INCLUDE_PATH} ${LIBXML2_INCLUDE_DIR})
    LINK_LIBRARIES (${QT_QT_LIBRARY} ${LIBXML2_LIBRARIES})
    SET(EXAMPLE_SOURCES main.cpp)

    Naplníme seznam adresářů s hlavičkovými soubory, ukážeme překladači, jaké přepínače má použít a také vyjmenujeme, z jakých souborů se bude kompilovat.

    ADD_EXECUTABLE(example ${EXAMPLE_SOURCES})

    Určitě chceme, aby se naše binárka měla nějaké famozní jméno.

    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
                     ${CMAKE_CURRENT_BINARY_DIR}/config.h)

    A konečně vygenerujeme config.h. Zmiňovaný úkol by v tomto případě šel splnit pomocí nastavení ADD_DEFINITIONS(-D HAVE_XML), což by přidalo definici symbolické konstanty jako parametr překladače, ale řešení přes config.h je čistější. Třeba protože můžeme používat překladač, který parametru -D rozumí trochu jinak.

    Samotný překlad probíhá skoro stejně jako v případě Autotools, s jedinou výjimkou. Příkaz configure je nahrazen příkazem cmake. Rozdílné jsou také parametry. Například oblíbená volba ./configure --prefix=/foo/bar se zapisuje cmake . :-DCMAKE_INSTALL_PREFIX:PATH=/foo/bar. Poté, co konfigurační skript seběhne, máme k dispozici potřebné make soubory – v tomto případě. Jak je popsáno výše, může se jednat třeba o projekty jednotlivých IDE atd.

    Skutečné příběhy, aneb: „rytíři kompilátorů a svatý grál configure!“

    Dosti jalových slov, přejděme k udatným činům. Nepěl bych zde chválu, nemít své nadšení podložené fakty. Nejprve několik čísel. Běh konfigurační části kompilace programu Scribus (Intel 1.73GHz, 2GB RAM):

    timecmakeautotools
    Makefile.in atd.configure
    real0m1.234s0m44.966s0m20.943s
    user0m1.072s0m27.802s0m11.125s
    sys0m0.140s0m1.032s0m4.604s

    A na mnohem slabším stroji (Duron 1.4GHz, 1GB RAM). Věřte, že jsem u starších pleček za ušetřené minuty neskonale vděčen:

    timecmakeautotools
    Makefile.in atd.configure
    real0m4.594s1m22.680s2m19.591s
    user0m1.268s0m41.635s0m33.190s
    sys0m0.616s0m2.616s0m27.466s

    Nejen rychlost, ale i přehlednost (cmake vs. autotools) a velikost vygenerovaných Makefile se počítá.

    Samotná změna sestavovacího nástroje proběhla velmi rychle a bezbolestně. Respektive od prvního otevření dokumentace po první úspěšný build utekly asi tři odpoledne. V následujících dnech a týdnech už pouze správci exotických alternativních platforem (Win32, Mac) upravovali jednotlivé CMakeList.txt svým potřebám, např. detekci endianity atd. Více oslavných ód hledejte na obvyklém místě – 1. a 2.

    Rezolutní rozsudek, aneb: „jsme zvědaví na váš nádor“

    Pokud vás Cmake zaujalo, pokračujte třeba dalším doporučeným čtením na KDE wiki.

    Nebojím se říci, že já, stejně jako většina ze Scribus posádky, jsem z Cmake prozatím nadšen. Víceméně vymizely chyby při vkládání nových souborů do projektu, protože se nemusí zapisovat vždy na n+1 míst, než vývojář právě zapsal, ale, a to hlavně, spolupráce tvůrců Cmake s KDE je velmi plodná a zjednodušuje práci nám ostatním. Ne, že by byla nyní práce s konfiguračními skripty tuze zábavná, to zřejmě nebude nikdy, ale je snazší a rychlejší.

    Cmake pochopitelně není určeno pouze na C/C++ projekty, ale může se použít všude tam, kde najde uplatnění řešení závislostí ala make. Dovedu si představit snadnou správu LaTeX (FIND_PACKAGE(LATEX)) dokumentů, Docbook dokumentace anebo třeba exotickou přípravu webové galerie fotografií z adresářové struktury na lokálním disku (ano, někteří to tak používáme).

    Takže – užijte si to…

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    8.6.2006 00:19 Kero | skóre: 2
    Rozbalit Rozbalit vše Re: Proc ne Scons
    Scons je take docela hezky, ale ma jednu nevyhodu, zere nechutne pameti, KDE se na mem starsim stroji zkompilovalo v pohode, ale blender zkolaboval na nedostatku pameti(stroj byl v tu dobu bez swapu), samotny scons si zabral pres 150mega, coz mi neprijde zrovna malo.
    Samozrejme, jakykoliv normalni stroj to v pohode schrousta. PS: doufam, ze si to pamatuju spravne, abych nesiril nejake desive bludy.
    Jsem odpůrcem GPL, ale ne odpůrce svobodného softwaru. Jen software pod MIT licencí je opravdu svobodný.
    8.6.2006 22:26 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Proc ne Scons
    Souhlas, Ant taky někdy tímto trpí, ale vždy se to dalo nějak "ukočírovat" a donastavit.

    Výborný článek!
    8.6.2006 01:00 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Hm, moc se mi to stejně nezdá. Že je autoconf zrůdnost stvrdím třeba vlastní krví, ale funkční build se nakonec kopírováním z manuálů, jiných projektů a pomocí lehké černé magie splácat dá. Pak už lze jenom doufat, že ten obrovský a ošklivý configure je opravdu tak neprůstřelný jak je slíbeno a dá nějaké použitelné výsledky všude :-)

    Naopak Cmake se podle tohoto zdá být založen na své všudejsoucnousti a všeobsažnosti, což moc nehrozí, tak bych řekl, že to nakonec dopadne asi tak stejně…
    Copak toho není dost?
    8.6.2006 01:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    $ TIME=12PM autoconf --with-knife --with-bible --sacrifice-dog

    :-D :-D
    8.6.2006 01:15 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    No kdyby to tak fungovalo, bylo by to dobrý :-)
    Copak toho není dost?
    8.6.2006 10:09 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: Cmake: feature list
    Dobrý den,

    zajímalo by mě, do jaké míry Cmake splňuje požadavky, které jsme si před časem stanovili jako důležité v projektu OCERA. Požadavky se nacházení v následujícím v druhém odstavci souboru README.makerules

    Velice uvítám, pokud někdo provede porovnání třeba se Scons či dalšími make systémy podle těchto bodů.

    Soubor požadavků je částí projektu, kde jsme všechny tyto požadavky na sestavování programů potřebovali dát dohromady. Naše řešení zatím neobsahuje něco jako Autoconf, ale i tak umožňuje s minimálními úprvami kompilaci knihoven a aplikací pro Linux, MinGW a CygWin. Dále zvládá moduly pro jádra řad 2.4, 2.6, RT-Linux a embedded aplikace přímo na hadrware a do prostředí RT executivy RTEMS. Dokonce je to použitelné i pro SDCC a možná i Keil na 8051.

    Na druhou stranu má řešení i své nevýhody (rychlost, rekurzivnost) a znalost alternativ a možnost jejich využití nás tedy také zajímá.

    9.6.2006 10:03 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: Cmake: feature list
    vicemene splnuje. Ale projel jsem to velice rychle, navic nerozumim tem strasidelnym zkratkam, ktere pouzivate.

    Kazdopadne v cmake je "definicni" soubor v kazdem adresari, ale vetsinou obsahuje pouze seznam zdrojaku. Hlavni nastaveni je v rootu. Ty ../../../foo/ cesty tam muzou byt, ale nemusi. Jak si to kdo nastavi, takove to ma. Rebuild po zmene snad delaji vsechny systemy ;) Instalace probiha najednou pro cely projekt - pokud neni nastaveno jinak. Build v podadresari neni problem, casto to pouzivam...
    Kuolema Kaikille (Paitsi Meille).
    9.6.2006 12:09 Pavel Píša | skóre: 18 | blog: logic
    Rozbalit Rozbalit vše Re: Cmake: feature list
    Děkuji za odpověď. Co se týče zkratek, tak se v požadavcích nachází snad jen tři. CVS - správce verzí, OCERA - jméno projektu a CAN - Control Area Netvork, což je právě tak komunikace kterou jsme v rámci dané části projektu realizovali a je to tedy jen příklad, pro co makesystém potřebujeme.
    8.6.2006 10:26 Stanislav Bohm
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Trochu OT ale co se tyka Autotools tak jsem vcera objevil tuto prednasku: http://www-src.lip6.fr/homepages/Alexandre.Duret-Lutz/dl/autotools.pdf

    Je docela obsahla, zatim jsem ji precetl asi do pulky, ale je to poprve co se mi podarilo udelat funkcni configure :)
    8.6.2006 11:34 Daniel Tihelka | skóre: 4
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Diky za clanek

    CMake jsem taky objevil relativne nedavno a hodne se mi libi. Pred tim jsem zkousel proniknout do automake ale naprosto jsem selhal (netvrdim, ze je automake spatne, jenom jsem to jaksi nezvladl). Naproti tomu jsem CMake byl schopny pouzit po par prectenych radcich. Netvrdim, ze vzdycky uplne spravne, ale s prohlubujicimi se znalostmi CMake clovek zjistuje, ze vsechno (alespon vsechno co jsem zatim potreboval) jde udelat vlastne hrozne jednoduse. V soucasne dobe mam skutecne par jednoduchych CMAke konfiguraku, ktere vytvori v mem projektu knihovnu, pythonovsky wrapper (spojenim CMake + SWIG) a jednoduche testy. Chystam se ted zacit pronikat do unit testovani pomoci CMake + DART - mimochodem, pokud nekdo mate s timto skusenosti, napiste prosim clanecek, pokud ne pokusim se neco napsat, az to trochu ovladnu ...

    Dan
    8.6.2006 12:14 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Díky za článek, právě jsem ve fázi, kdy se musím naučit nějaký buildovací systém a už jsem se s těžkým srdcem rozhodoval učit automake+autotools. Cmake vypadá dobře, po státnicích ho zkusím otestovat na jednom projektu a uvidí se.
    When your hammer is C++, everything begins to look like a thumb.
    Mikos avatar 8.6.2006 12:39 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Hurá, že by těm děsným Autotools konečně zvonila hrana? Pokud by na Cmake časem přešly další velké projekty, bylo by to naprosto super a mohlo by to strhnout lavinu dalších a dalších :-) A pak bye bye autoconf, automake, etc. ;-)
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    8.6.2006 13:17 pzad | skóre: 30 | blog: pzad
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Pouzival som autotools, a nemal som s nim problem (kostru som si z template vytvoril behom par minut) a myslim ze pre vacsinu projektov je autotools dostatocne. KDE (a qt) aplikacie maju jeden problem a to je MOC. Pokial viem, ak som chcel pridat novy zdrojak (z ktoreho sa generoval moc subor) do buildu tak som musel zbehnut aj configure cast (a neviem, ci este tu cast pred configure) a to teda trvalo (u qt je to este horsie a pouzivat autotools s cisto qt applikaciami je biedne. Proste KDE musi byt vzdy extra.
    Mikos avatar 8.6.2006 13:24 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Já mam prostě k autotools silnou averzi ;-) Přijdou mi jako naprosto zbytečně neskutečně komplikované a ošklivé :-)
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    8.6.2006 23:27 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Zdánlivě možná. ale mně vždycky přišlo, že na osahávání hromady potenciálně problematických drobností v systému jsou neskutečně vymakaný. Dost možná by to dokázala hromada jiných nástrojů, ale někdo ty testy musí napsat/naportovat, že. :-) Možná to je svým způsobem pimitivní, ale Unix je taky primitivní a právě proto funguje tak dobře. :-) SCons se mi taky líbil, Rake je malá roztomilá věc, Ant s radostí přenechám něčemu, co bude generovat buildfile za mě (třeba vývojovým prostředím), protože XML nepovažuju za nástroj k ručnímu psaní. ;-)

    Osobně se nebráním ničemu, ale člověka strašně zmlsá asdf a hlavně asdf-install, to je pak šílená lenost... :-D
    8.6.2006 13:54 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Ne. Ve skutecnosti jediny problem s moc, ktery Qt a KDE kdy mely, jsou ty zastupy lidi, kteri tomu vubec nerozumi a vykladaji o tom nesmysly. Pri pridani .moc souboru staci, ze se zmeni Makefile.am a z nej se automaticky znovu jen vygeneruje Makefile.

    Mezi problemy autotools (krome te radky uz vsude zminovanych) patri treba i to, ze tak nejak treba nefunguji na Windows. Trochu problem, kdyz KDE4 ma fungovat i tam.
    8.6.2006 22:33 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Jak fungovat na Windows, můžu-li se ptát...
    8.6.2006 23:38 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    No proste ... fungovat na Windows. Nativne, bez Cygwin. Ne KDE jako prostredi, ale framework (tj. kdelibs) a aplikace. Asi takhle a fakt ted nemuzu najit zadny lepsi odkaz nez tenhle uz trochu obstarozni.
    9.6.2006 01:19 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Nevím, autoconf mám jako součást MinGW a funguje. Těžko bych bez něj bootstrapoval některý CVS checkouty... ;-)
    9.6.2006 08:16 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    "fungovat na Windows. Nativne" - Ne MinGW.
    9.6.2006 09:30 pzad | skóre: 30 | blog: pzad
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    MinGW je nativne, Cygwin nie je.
    9.6.2006 11:09 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Šmarjá, vysvětlíte mi už, co je víc nativní než binárky nad systémem? :-(
    pol128 avatar 30.6.2006 00:07 pol128 | skóre: 18
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Vo windows sú natívne len binárky z MSVC++. ;-) Iné binárky budú o chvíľu zakázané. ;-)
    8.6.2006 14:50 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Ac nejsem programator, tak me jima hruza ze dvou veci:

    1) Kdo si ma takove krypticke pismena a jine divne veci zapamatovat. Zapomenu tecku za cmake a mezeru a uz vidim jak to krici...

    Například oblíbená volba ./configure --prefix=/foo/bar se zapisuje cmake . -DCMAKE_INSTALL_PREFIX:PATH=/foo/bar.

    2) Zase si ten kram zavadi vlastni balickovaci system. No fuj. Takze mame hlavni balickovaci system co ma distribuce. Pak tu je pkgconfig (/usr/lib/pkgconfig) a ted jeste tohle.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    8.6.2006 14:56 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Rozhodně bych neřekl, že pkgconfig je balíčkovací systém a fakt by mě zajímalo, z kterého balíčkovacího systému bych získal flagy pro kompilátor, kdybych se náhodou po tvém rozhodl pkgconfig jako UniverzálníZlo™ nepoužít.
    Copak toho není dost?
    8.6.2006 15:34 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Dyt rikam ze nejsem programator. Jen me treba nastvalo ze jsem v suse nainstaloval nejaky balicek i s jeho -dev bratrickem a ten soubor pro pkgconfig tam chybel, takze jsem nemohl zkompilovat nejakej zdrojak. Vyresil jsem to tak ze jsem vzal jinej .pc soubor a upravil pro dotycny balicek. Fakt fajn prace...

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    8.6.2006 15:53 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    To je ideální případ, kdy je vhodno využít Susí bugzilly :-)
    Copak toho není dost?
    9.6.2006 06:27 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Vážený pane Literáku, protože se u vás stále nemohu radit lidem co mají problémy, poraďte p. Štěpánkovi, že ty balíčky se při ruční kompilaci vytváří obvykle v /usr/local/lib/pkgconfig/ a hledaji se v /usr/lib/pkgconfig/

    Děkuji Petr Mach
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    9.6.2006 11:14 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Mě by zajímalo, jestli si pan Mach je jistý, že Zdeněk instaloval ten závislý balíček ručně. :-) Protože jak to popisuje, na mě to dělá dojem, že .pc fajl by tam měl být z ditstribuce. (Hovoří o dev balíčku, nevím o tom, že by tarbally se zdrojáky měly dev verze. :-)) (Stále je možné, že mi něco nedochází, přiznávám...dokumentace k pkgsrc stojí ve frontě a bude se mi hodit. :-))
    9.6.2006 13:30 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Náš čtenář, náš pán :-D
    When your hammer is C++, everything begins to look like a thumb.
    9.6.2006 20:33 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Nejak jsem nepochopil tu narazku na me. Slo o to ze jsem kompiloval neco ze zdrojaku (primo od autora) a jako zavislost to melo neco co bylo v susim repozitari, tak jsem to nainstaloavl i s dev bratrickem, cili ty dva byly primo pro suse. Ted nevim zda primo od suse nebo treba z packmana nebo z guru. Kazdopadne je pravda ze je to vhodny pripad pro pouziti bugzilly.

    A prosim dotycneho ktery se zkryl pod Leose Literaka aby si uvedomil, ze ne vsichni jsou super hyper experti na Linux. Ackoli zacatecnik tedy rozhodne nejsem (rada konferenci a clanku jak na abciku, tak na rootu, linuxexpressu a vlaste jeden i jako reakce na FUD Tomase Pribyla mluvi za vse), nemuzu proste vedet vse. Zaroven se snazim aby Linux byl jednoduchy jak navenek, tak i uvnitr, k cemuz IMHO uvedeny problem s pkgconfig a vubec to na co tak rad velmi ostre narazim moc neprispiva.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    9.6.2006 22:32 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Leoš jenom postnul e-mail, který mu došel ;-)
    When your hammer is C++, everything begins to look like a thumb.
    14.6.2006 23:00 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    Nikde nemůžu najít, jak se přidá položka, která se má nainstalovat, nevěděl by někdo jak na to?

    Na konci buildu mám toto:

    ADD_LIBRARY(WPP SHARED ${WPP_SRCS})

    ale opravdu nevím co kde napsat aby se při make install nainstalovala?
    14.6.2006 23:05 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    No tak jsem právě něco našel INSTALL_TARGETS, ale stejně by mě zajímal přehledný postup
    26.6.2023 13:11 Adilkhatri
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    검증된 파워볼사이트 를 찾으신다면 eos파워볼사이트 가 있는 파워볼사이트추천 에서 파워볼 을 즐기시길 바랍니다. 5년 이상 운영된 메이저업체 이며 지금까지 많은분들께 사랑받은 안전한파워볼사이트 입니다. 안전한파워볼사이트
    29.6.2023 09:54 Adilkhatri
    Rozbalit Rozbalit vše Re: Cmake: zjednoduš si život
    On that site page, you'll see your depiction, for what reason not read through this. 먹튀검증

    Založit nové vláknoNahoru

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