2. Содержание
• Декомпозиция программы на несколько
файлов
• Структура компонента
• Библиотека
• Сборка программы
• Условная компиляция
• Header Include Guard
23.05.2019 0:36 Advanced 2
5. Структура компонента
#******************************************************************************
#***** (C) COPYRIGHT - All Rights Reserved *****
#******************************************************************************
# Set Project name for output file reference
set(publicHeader
${CMAKE_CURRENT_SOURCE_DIR}/api/Dio.h
)
set(inFiles
${publicHeader}
${CMAKE_CURRENT_SOURCE_DIR}/src/Dio_Prv_Reg.h
${CMAKE_CURRENT_SOURCE_DIR}/src/Dio.c
)
add_library( MCAL_DIO STATIC ${inFiles} )
#provide include search path
target_include_directories( MCAL_DIO PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/api/ )
target_include_directories( MCAL_DIO PUBLIC ${MCAL_ROOT}/mcal_rh850_cfg/Dio/cfg )
# "PUBLIC" path is only provided to this library.
#target_include_directories( MCAL_DIO PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/ )
#provide dependency information
# This software components needs public header from MCAL_DIO
#target_link_libraries( MCAL_SPI PUBLIC MCAL_DIO )
target_link_libraries( MCAL_DIO PRIVATE StandardCore)
5