33 lines
1.1 KiB
CMake
33 lines
1.1 KiB
CMake
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 $<TARGET_FILE:${CMAKE_PROJECT_NAME}>
|
|
COMMENT "Stripping debug symbols (Release only)"
|
|
)
|
|
endif() |