Как использовать набор инструментов Emscripten с биокодом?

Как я могу добавить цель компиляции Emscripten для моей программы, используя biicode. Я хотел бы сделать «bii cpp: configure» или сборку с параметрами, которая создаст мой исходный код C / C ++ с использованием загруженного Emscripten SDK (emsdk) или установленного Emscripten (из диспетчера пакетов).

2

Решение

Итак, вы хотите #include заголовок emscripten в вашем коде и получить библиотеку? Я бы предложил написать блок, который будет действовать как прокси и сможет загружать и устанавливать предварительно собранные пакеты, поскольку они кажутся довольно хорошими. Это можно сделать несколькими способами:

  1. Напишите блок с крючком, который является скриптом на python. Например, у вас есть OpenCV: http://www.biicode.com/diego/opencv . Это установит его в предопределенное местоположение биокода, к которому можно получить доступ в CMakeLists.txt через переменную cmake $ {BIICODE_ENV_DIR}. Вы можете использовать эту переменную для определения и связывания библиотек.
    Вы должны добавить заголовки, которые вы хотите включить в свой блок, чтобы вы могли на самом деле #include вещи и иметь биокод извлечения вещей. Не забудьте добавить хук в раздел biicode.conf [хуки]

  2. Напишите блок с помощью скрипта cmake. В CMake также есть возможность извлекать и устанавливать файлы. В этом случае вы можете просто написать и ВКЛЮЧИТЬ (youruser / yourblock / yourcmakescript) в CMakeLists.txt блока, который хочет «потреблять» и использовать emscripten. Этот файл будет обрабатываться точно так же, как и файлы C / C ++, первоначально он будет выглядеть как неразрешенный в «bii deps» и может быть решен с помощью «bii find» или добавлением блока в раздел [требования].

Первоначально я рекомендую это, так как библиотека кажется немного сложной для сборки, она не имеет стандартного CMakeLists.txt, но настраивается индивидуально.

РЕДАКТИРОВАТЬ: Теперь я вижу с вашими комментариями, что это не то, что вы на самом деле хотите, а использовать собственную цепочку инструментов компиляции (кросс-компиляция в js). На самом деле это можно сделать с помощью пользовательских наборов инструментов: http://docs.biicode.com/c++/building.html#using-a-custom-tool-chain
Это может потребовать некоторого мастерства как CMake, так и набора инструментов emscripten. Интеграция этих наборов инструментов сейчас немного сложна, она обновляется и будет выпущена через несколько недель.
Обратите внимание, что остальная часть ответа остается в силе, вы можете легко написать блок с помощью ловушки, которой удастся установить инструмент emscripten из двоичных файлов.

1

Другие решения