cmake_minimum_required(VERSION 3.0) project(jlv135_cli C) # Настройка кросс-компиляции set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_C_COMPILER arm-uclinuxfdpiceabi-gcc) set(CMAKE_STRIP arm-uclinuxfdpiceabi-strip) # Настройки компиляции set(CMAKE_C_FLAGS "-Os -fdata-sections -ffunction-sections -mno-unaligned-access") set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections") # Создание исполняемого файла add_executable(${PROJECT_NAME} src/jl_modbus/jl_modbus_config.c src/jl_modbus/jl_config.c src/jlv135_cli/main.c) # Настройка библиотек target_link_libraries(${CMAKE_PROJECT_NAME} pthread) # Добавление каталогов для поиска заголовков target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE inc) # Опция strip if(CMAKE_BUILD_TYPE STREQUAL "Release") add_custom_command( TARGET ${CMAKE_PROJECT_NAME} POST_BUILD COMMAND strip $ COMMENT "Stripping debug symbols (Release only)" ) endif()