この記事では、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)
そして、コマンドラインから次の手順を実行します。
Emscriptenの最新バージョンをダウンロードする
./emsdk install latest
最新バージョンを有効にします
./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. , .
, , .js
set(CMAKE_EXECUTABLE_SUFFIX .js)
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'. ., . emscripten .js nodejs. .js nodejs :
target_link_options(glslangValidator PUBLIC -s NODERAWFS=1)
, CLion Emscripten.