70 lines
2.0 KiB
CMake
70 lines
2.0 KiB
CMake
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/gcc-arm-none-eabi.cmake)
|
||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||
|
set(BUILD_TYPE Debug)
|
||
|
|
||
|
project(vn-interface)
|
||
|
|
||
|
include_directories(${CMAKE_SOURCE_DIR}/include)
|
||
|
|
||
|
# include for standard directories
|
||
|
include(GNUInstallDirs)
|
||
|
|
||
|
# include for creating config.cmake
|
||
|
include(CMakePackageConfigHelpers)
|
||
|
|
||
|
set(SOURCES src/helper.cpp)
|
||
|
|
||
|
set(CPU_PARAMETERS
|
||
|
-mcpu=cortex-m4
|
||
|
-mthumb
|
||
|
-mfpu=fpv4-sp-d16
|
||
|
-mfloat-abi=hard)
|
||
|
|
||
|
add_library(${PROJECT_NAME} STATIC ${SOURCES})
|
||
|
|
||
|
target_compile_options(${PROJECT_NAME} PRIVATE
|
||
|
${CPU_PARAMETERS}
|
||
|
-Wall
|
||
|
-Wextra
|
||
|
-Wpedantic
|
||
|
-Wno-unused-parameter
|
||
|
$<$<COMPILE_LANGUAGE:CXX>:
|
||
|
-Wno-volatile
|
||
|
-Wsuggest-override
|
||
|
-Wno-missing-field-initializers>
|
||
|
$<$<CONFIG:Debug>:-Og -g3 -ggdb>
|
||
|
$<$<CONFIG:Release>:-Og -g0>)
|
||
|
|
||
|
# Link the desire include directories of the library - different for build and install
|
||
|
target_include_directories(${PROJECT_NAME}
|
||
|
PUBLIC
|
||
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
||
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
||
|
)
|
||
|
|
||
|
install(TARGETS ${PROJECT_NAME}
|
||
|
EXPORT ${PROJECT_NAME}Targets
|
||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||
|
)
|
||
|
|
||
|
install(DIRECTORY include/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||
|
|
||
|
install(EXPORT ${PROJECT_NAME}Targets
|
||
|
FILE ${PROJECT_NAME}Targets.cmake
|
||
|
NAMESPACE vn-interface::
|
||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||
|
)
|
||
|
|
||
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||
|
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||
|
)
|
||
|
|
||
|
install(FILES
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||
|
)
|