Saved working stuff
This commit is contained in:
66
vn-interface/CMakeLists.txt
Normal file
66
vn-interface/CMakeLists.txt
Normal file
@ -0,0 +1,66 @@
|
||||
project(vn-interface)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/include)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE gcc-arm-none-eabi.cmake)
|
||||
|
||||
# include for standard directories
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# include for creating config.cmake
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
set(SOURCES src/vn200.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}
|
||||
)
|
||||
Reference in New Issue
Block a user