fsfw/hal/CMakeLists.txt

49 lines
1.4 KiB
CMake
Raw Normal View History

2021-07-13 19:19:25 +02:00
cmake_minimum_required(VERSION 3.13)
# Can also be changed by upper CMakeLists.txt file
find_library(LIB_FSFW_NAME fsfw REQUIRED)
option(FSFW_HAL_ADD_LINUX "Add the Linux HAL to the sources. Required gpiod library" OFF)
option(FSFW_HAL_ADD_RASPBERRY_PI "Add Raspberry Pi specific code to the sources" OFF)
option(FSFW_HAL_ADD_STM32H7 "Add the STM32H7 HAL to the sources" OFF)
option(FSFW_HAL_WARNING_SHADOW_LOCAL_GCC "Enable -Wshadow=local warning in GCC" ON)
set(LIB_FSFW_HAL_NAME fsfw_hal)
set(LINUX_HAL_PATH_NAME linux)
set(STM32H7_PATH_NAME stm32h7)
if(NOT LIB_FSFW_NAME)
message(ERROR "LIB_FSFW_NAME needs to be set as a linkable target")
endif()
2021-07-15 18:53:59 +02:00
add_subdirectory(src)
add_subdirectory(inc)
2021-07-13 19:19:25 +02:00
foreach(INCLUDE_PATH ${FSFW_HAL_ADDITIONAL_INC_PATHS})
if(IS_ABSOLUTE ${INCLUDE_PATH})
set(CURR_ABS_INC_PATH "${INCLUDE_PATH}")
else()
get_filename_component(CURR_ABS_INC_PATH
${INCLUDE_PATH} REALPATH BASE_DIR ${CMAKE_SOURCE_DIR})
endif()
if(CMAKE_VERBOSE)
message(STATUS "FSFW include path: ${CURR_ABS_INC_PATH}")
endif()
list(APPEND FSFW_HAL_ADD_INC_PATHS_ABS ${CURR_ABS_INC_PATH})
endforeach()
2021-07-15 18:53:59 +02:00
target_include_directories(${LIB_FSFW_NAME} PRIVATE
2021-07-13 19:19:25 +02:00
${CMAKE_CURRENT_SOURCE_DIR}
${FSFW_HAL_ADD_INC_PATHS_ABS}
)
2021-07-15 18:53:59 +02:00
target_compile_definitions(${LIB_FSFW_NAME} PRIVATE
2021-07-13 19:19:25 +02:00
${FSFW_HAL_DEFINES}
)
2021-07-15 18:53:59 +02:00
target_link_libraries(${LIB_FSFW_NAME} PRIVATE
2021-07-13 19:19:25 +02:00
${FSFW_HAL_LINK_LIBS}
)