Xcode

Oficiálne IDE od firmy Apple. Najčastejšie sa využíva na vývoj aplikácii pre Apple výrobky. Má podporu pre jazyky ako Objective-C, Swift, avšak aj pre jazyky C a C++. Ak by ste raz chceli vyvíjať aplikácie práve pre firmu Apple, máte skvelú možnosť zoznámiť sa s ich IDE už teraz.

Instalace Xcode

  1. Zkontrolujte, že máte dostatečně aktuální verzi macOS (10.13 je dobrá) a alespoň 10GB volného místa na disku.

  2. Nainstalujte si Xcode 10 z Appstoru.

    appstore

Vytvoření nového projektu

  1. Vytvořte nový "projekt"

    new project
  2. V sekci macOS vyberte „Command line tool“

    cli
  3. V možnostech pojmenujte nový projekt a zvolte jazyk C.

    project
  4. Xcode vytvoří jednoduchý main.c,

    sample

    který můžete spustit:

    run

Vytvoření projektu s CMake

V předmětu budeme ke kompilaci používat nástroj cmake. Je to překvapivě mocný nástroj, který dokonce umí vytvořit Xcode projekt (vysvětleno v CMake Tutorial – Chapter 2: IDE Integration).

Použití

$ mkdir xcode           # nacházíme se ve složce hw01 s dodaným CMakeLists.txt
$ cd xcode              # přesuneme se do vytvořené složky `xcode`
$ cmake -G "Xcode" ..   # necháme cmake vytvořit xcode projekt

V Xcode pak zvolte Open another project a namiřte ho na hw01.xcodeproj ve složce xcode.

Vygenerovaný projekt vypadá takto:

cmake

Co to dělá?

  • ALL_BUILD toto skompiluje všechny cíle, v případě hw01 pouze jeden

  • ZERO_CHECK tento magický cíl znovu načte CMakeLists.txt a updatuje projekt

  • hw01 je naše spustitelná binárka, která je v CMakeLists.txt nastavena pomocí add_executable

Proč to chcete?

Všimněte si varování na řádku s main funkcí − díky nastavení flagů v CMakeLists.txt si Xcode uvědomil, že vám taková signatura funkce u kontru neprojde.

Pokud vás nezajímá s jakými parametry se hw01 spustí, tak tam nemá argc (počet argumentů) a argv (seznam textových argumentů) co dělat a musíte je nahradit.

int main(void) { /* ... */ }	// správný main nepoužívající parametry z příkazové řádky

Tento postup je považován za jednodušší než ruční nastavování Xcode.