Nastavení CLion a CMake pro WebAssembly

Intro

Skusím Vám nyní posat postup při rozchození webassembly projektu v CLion. Co víc, chtěl bych, aby měl 3 konfigurace, debug, debug-wasm a release-wasm, přepínal mezi nimi selectboxem v panelu nástrojů CLion.

Prerekvizity

  • CLIon získáte zde.
  • CMAKE získáte zde.

Nastavení Toolchainu

  1. Jděte na File > Settings > Toolchains. Uvidíe asi něco takového:

    Já mám jako defaultní C++ nastaven clang, protože CLang interně používá emscripten. Vyhnu se tak problémům s kompatibilitou jazyka. Nainstaluji ho jednoduše:

    sudo apt-get update
    sudo apt-get install clang

    Pak ho ještě musím aktivovat

    sudo update-alternatives --config c++

    A vyberu...


  2. Klikněte na "+" a vytvořte toolchain "Emscripten".

  3. Nyní je třeba vědět, kam jste nainstalovali emscripten z prerekvizit. Já třeba do <emsdk> = ˜/dev/emsdk. Cestu zvolte absolutně. Nastavíte cc na <emsdk>/upstream/emscripten/emcc a c++ na <emsdk>/upstream/emscripten/em++. Asi takto:

Nastavení CMake

  1. Jděte na File > Settings > CMake. Uvidíe asi něco takového:

  2. Vytvoříme nastavení pro překlad jako samostaný projekt. Všiměte si, že defaultní nastavení toolchainu jsme nepřemazali, ale vytvořili nové pro WebAsembly. Zvolíme tedy Toolchain Default, Nějaké inteligentní jméno a Build Type na Debug. Ostatní řádky nemusíme plnit, až na jeden. V nastavení se inspirujte oprázkem výše. Co je ale důležité, je nastavení řádku CMake options. Vložíme tam -DCMAKE_BUILD_TYPE=Debug, tím od sebe později různé konfigurace roslišíme.

  3. Nyní vytvoříme kofiguraci pro debug-wasm. Tlačítkem "+" Vytvoříte novou konfiguraci, pojmenujete ji a zvolíte nový Toolchain Emscripten. Řádek CMake options musíme upravit takto: -DCMAKE_BUILD_TYPE=debug-wasm abychom i tuto konfiguraci nějak pojmenovali, ale ještě je třeba přidat -DCMAKE_TOOLCHAIN_FILE=<emsdk>/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake. Nakonec nastavíte Environment na EMSCRIPTEN_ROOT=<emsdk>/upstream/emscripten.

  4. Obdobně vytvoříme kofiguraci pro release-wasm. Tlačítkem "+" Vytvoříte novou konfiguraci, pojmenujete ji a vlastně jediné, čím se bude lišit od předchozí je Build Type nasteveno na Release. v řádku CMake options nezapomňte upravit jméno konfugurace na release-wasm.

Hlavní CMakeLists.txt