Я пытаюсь создать плагин для браузера Linux с помощью Firebreath, который работает на 32-битной и 64-битной Linux.
В моем X11/projectDef.cmake у меня есть
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
"${CMAKE_CURRENT_SOURCE_DIR}/lib/libOIS-1.4.0_32.so"
)
В настоящее время я просто вручную меняю эту строку, переключая 32 на 64, когда хочу сделать другую сборку, так что, вероятно, это неправильно. Но моя проблема в том, что даже когда я создаю 32-битную библиотеку и она успешно компилируется, я получаю следующую ошибку при попытке загрузить плагин в Firefox:
$ firefox
LoadPlugin: failed to initialize shared library /home/daniel/.mozilla/plugins/npBoomstickJavaScriptJoystickSupport.so [libOIS-1.4.0.so: wrong ELF class: ELFCLASS64]
Как настроить cmake для автоматического включения правильной библиотеки в зависимости от архитектуры? Есть ли способ одновременно собрать x86 и x86_64 на одной машине? Как мне заставить плагин загружаться правильно или есть способ отладить эту проблему?