Clion、Emscripten、Cmakeを横断する方法

この記事では、Emscriptenを使用してCMakeプロジェクトをコンパイルするようにCLionIDEを構成する方法の要点を説明します。この交差点をやっていたとき、私は1日か2日実験をしなければなりませんでした。そして、この投稿では、最終的に機能したいくつかの「ハウツー」をまとめます。

これらすべての人々は誰ですか?

Emscriptenは、C ++コードをAsm.js / WebAssemblyにコンパイルするためのツールのセットです。現在、WebAssemblyはすでに前面に出ています。

CMakeは、プロジェクトを構築するためのスクリプトを生成するためのシステムです。

CLionは、もともとCMakeをビルドツールとして使用して構築されたC / C ++プロジェクトの開発環境です。しかし、Emscriptenのバックアップは簡単ではありませんでした

前提条件

すべてをハーフキックから開始するための主な要件は、Python、できればバージョン3をすでにインストールしておくことが非常に重要です。また、pythonはコマンドラインから利用可能である必要があります\

CMakeには少なくともバージョン 3.13が必要です

そしてもちろん、Gitを忘れないでください

Emscriptenの設定

emsdkをダウンロードします。(https://github.com/emscripten-core/emsdk)

そして、コマンドラインから次の手順を実行します。

  1. Emscriptenの最新バージョンをダウンロードする

    ./emsdk install latest
  2. 最新バージョンを有効にします

    ./emsdk activate latest

. help emsdk , . IDE.

CLion

, . File -> Settings. Build, Execution, Deployment -> Toolchains.

CLion Windows, MSYS2 ( MinGW ). gcc ++ header' .

Linux , Toolchain Windows:

+ MinGW.

Environment MSYS2. MSYS2 e:\msys64

CMake (, CLion CMake ).

! C Compiler C++ Compiler .bat . Linux .bat . , Emscripten python , shell python .

CMake. target :

Toolchains toolchain

: CMake Options -DCMAKE_TOOLCHAIN_FILE= emsdk Emscripten.cmake.

Emscripten.cmake C Compiler C++ Compiler - .

CMake.

. Build->Build Project. , .

  1. , , .js

    set(CMAKE_EXECUTABLE_SUFFIX .js)
  2. Emscripten . , emcc .js . , 1 ,



    , linker', . :

    target_link_options(project PUBLIC "SHELL: --pre-js ${CMAKE_CURRENT_SOURCE_DIR}/prejs.js --js-library ${CMAKE_CURRENT_SOURCE_DIR}/jsLib.js")
    target_link_options(project PUBLIC "SHELL: -s USE_GLFW=3 --preload-file glsl -s ALLOW_MEMORY_GROWTH=1")

    target_link_options Cmake . --preload-file , glsl , bundle'. .

  3. , . emscripten .js nodejs. .js nodejs :



    target_link_options(glslangValidator PUBLIC -s NODERAWFS=1)

, CLion Emscripten.








All Articles