Files
jlv135_cli/CMakeLists.txt

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()