2.6 KiB
2.6 KiB
Инструкция по сборке
Общее описание
Этот файл CMakeLists.txt настраивает сборку проекта jlv135_cli на языке C, с возможностью кросс-компиляции для прошивки JLV135.
Основные параметры
- Минимальная версия CMake: 3.0
- Язык проекта: C
- Имя проекта:
jlv135_cli
Опции сборки
BUILD_FOR_JLV135(по умолчанию ON) - включает настройки для кросс-компиляции под JLV135
Настройки кросс-компиляции
- Система: Linux
- Компилятор:
arm-uclinuxfdpiceabi-gcc - Утилита strip:
arm-uclinuxfdpiceabi-strip - Флаги компиляции:
-Os- оптимизация по размеру-fdata-sections -ffunction-sections- размещение каждой функции/данных в отдельной секции-mno-unaligned-access- запрет невыровненного доступа к памяти
- Флаги линковки:
-Wl,--gc-sections- удаление неиспользуемых секций
Структура проекта
- Исходные файлы:
src/jl_modbus/jl_modbus_config.csrc/jl_modbus/jl_config.csrc/jlv135_cli/main.c
- Заголовочные файлы: включаются из директории
inc
Библиотеки
- Проект линкуется с библиотекой
pthread
Дополнительные действия при сборке
- В режиме
Releaseвыполняется удаление debug-символов с помощьюstrip
Использование
- Создайте директорию для сборки:
mkdir build && cd build - Запустите CMake:
- Для сборки под JLV135 (по умолчанию):
cmake .. - Для сборки без кросс-компиляции:
cmake -DBUILD_FOR_JLV135=OFF ..
- Для сборки под JLV135 (по умолчанию):
- Соберите проект:
cmake --build . - (Опционально) Укажите тип сборки:
cmake -DCMAKE_BUILD_TYPE=Release ..cmake -DCMAKE_BUILD_TYPE=Debug ..
Примечания
- Для кросс-компиляции должны быть установлены соответствующие инструменты (arm-uclinuxfdpiceabi-gcc)
- Настройки оптимизации и удаления debug-символов применяются только при сборке для JLV135