From 16eef27f85ea18898bec9f8318e62ce100a17e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ken=20A=2E=20Rederg=C3=A5rd?= <64542+kenr@users.noreply.github.com> Date: Wed, 23 Jan 2019 15:13:46 +0100 Subject: [PATCH] Fix/support install prefix take 2 (#190) * Add support for using project as a cmake module * Add support for using project as a vcpkg (through cmake module) * Renamed artifacts from pc-ble-driver to nrf-ble-driver * Add version numbers in shared library file names * Add support for CMAKE_INSTALL_PREFIX * Rearrange location of public include files, each SoftDevice API version has one folder with public interface --- CMakeLists.txt | 169 +++++++++++++----- cmake/install-target.cmake | 108 ++++++----- ...-ble-driver.cmake => nrf-ble-driver.cmake} | 39 ++-- examples/CMakeLists.txt | 10 +- include/README.md | 8 + include/common/sd_rpc.h | 2 +- include/common/sdk_compat/nrf_svc.h | 2 +- .../s132/headers => include/sd_api_v2}/ble.h | 2 +- .../headers => include/sd_api_v2}/ble_err.h | 0 .../headers => include/sd_api_v2}/ble_gap.h | 2 +- .../headers => include/sd_api_v2}/ble_gatt.h | 2 +- .../headers => include/sd_api_v2}/ble_gattc.h | 2 +- .../headers => include/sd_api_v2}/ble_gatts.h | 2 +- .../headers => include/sd_api_v2}/ble_hci.h | 0 .../headers => include/sd_api_v2}/ble_l2cap.h | 2 +- .../sd_api_v2}/ble_ranges.h | 0 .../headers => include/sd_api_v2}/ble_types.h | 0 .../headers => include/sd_api_v2}/nrf_error.h | 0 .../s132/headers => include/sd_api_v3}/ble.h | 0 .../headers => include/sd_api_v3}/ble_err.h | 0 .../headers => include/sd_api_v3}/ble_gap.h | 0 .../headers => include/sd_api_v3}/ble_gatt.h | 0 .../headers => include/sd_api_v3}/ble_gattc.h | 0 .../headers => include/sd_api_v3}/ble_gatts.h | 0 .../headers => include/sd_api_v3}/ble_hci.h | 0 .../headers => include/sd_api_v3}/ble_l2cap.h | 0 .../sd_api_v3}/ble_ranges.h | 0 .../headers => include/sd_api_v3}/ble_types.h | 0 .../headers => include/sd_api_v3}/nrf_error.h | 0 .../s132/headers => include/sd_api_v5}/ble.h | 0 .../headers => include/sd_api_v5}/ble_err.h | 0 .../headers => include/sd_api_v5}/ble_gap.h | 0 .../headers => include/sd_api_v5}/ble_gatt.h | 0 .../headers => include/sd_api_v5}/ble_gattc.h | 0 .../headers => include/sd_api_v5}/ble_gatts.h | 0 .../headers => include/sd_api_v5}/ble_hci.h | 0 .../headers => include/sd_api_v5}/ble_l2cap.h | 0 .../sd_api_v5}/ble_ranges.h | 0 .../headers => include/sd_api_v5}/ble_types.h | 0 .../headers => include/sd_api_v5}/nrf_error.h | 0 .../s140/headers => include/sd_api_v6}/ble.h | 0 .../headers => include/sd_api_v6}/ble_err.h | 0 .../headers => include/sd_api_v6}/ble_gap.h | 0 .../headers => include/sd_api_v6}/ble_gatt.h | 0 .../headers => include/sd_api_v6}/ble_gattc.h | 0 .../headers => include/sd_api_v6}/ble_gatts.h | 0 .../headers => include/sd_api_v6}/ble_hci.h | 0 .../headers => include/sd_api_v6}/ble_l2cap.h | 0 .../sd_api_v6}/ble_ranges.h | 0 .../headers => include/sd_api_v6}/ble_types.h | 0 .../headers => include/sd_api_v6}/nrf_error.h | 0 .../sdk/components/softdevice/README.md | 1 + .../sdk/components/softdevice/README.md | 1 + .../sdk/components/softdevice/README.md | 1 + .../sdk/components/softdevice/README.md | 1 + test/CMakeLists.txt | 9 +- 56 files changed, 224 insertions(+), 139 deletions(-) rename cmake/{pc-ble-driver.cmake => nrf-ble-driver.cmake} (74%) create mode 100644 include/README.md rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_err.h (100%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_gap.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_gatt.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_gattc.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_gatts.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_hci.h (100%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_l2cap.h (99%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_ranges.h (100%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/ble_types.h (100%) mode change 100755 => 100644 rename {src/sd_api_v2/sdk/components/softdevice/s132/headers => include/sd_api_v2}/nrf_error.h (100%) mode change 100755 => 100644 rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_err.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_gap.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_gatt.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_gattc.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_gatts.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_hci.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_l2cap.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_ranges.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/ble_types.h (100%) rename {src/sd_api_v3/sdk/components/softdevice/s132/headers => include/sd_api_v3}/nrf_error.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_err.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_gap.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_gatt.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_gattc.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_gatts.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_hci.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_l2cap.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_ranges.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/ble_types.h (100%) rename {src/sd_api_v5/sdk/components/softdevice/s132/headers => include/sd_api_v5}/nrf_error.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_err.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_gap.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_gatt.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_gattc.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_gatts.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_hci.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_l2cap.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_ranges.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/ble_types.h (100%) rename {src/sd_api_v6/sdk/components/softdevice/s140/headers => include/sd_api_v6}/nrf_error.h (100%) create mode 100644 src/sd_api_v2/sdk/components/softdevice/README.md create mode 100644 src/sd_api_v3/sdk/components/softdevice/README.md create mode 100644 src/sd_api_v5/sdk/components/softdevice/README.md create mode 100644 src/sd_api_v6/sdk/components/softdevice/README.md diff --git a/CMakeLists.txt b/CMakeLists.txt index bfbff7e9d..942dc42dd 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,18 @@ cmake_minimum_required(VERSION 3.11) -project(pc-ble-driver) -include(cmake/pc-ble-driver.cmake) +set(NRF_BLE_DRIVER_DEFAULT_VERSION "0.0.0") + +if(NOT DEFINED NRF_BLE_DRIVER_VERSION) + message(STATUS "NRF_BLE_DRIVER_VERSION not specified, setting it to ${NRF_BLE_DRIVER_DEFAULT_VERSION}") + set(NRF_BLE_DRIVER_VERSION "${NRF_BLE_DRIVER_DEFAULT_VERSION}") +endif() + +project( + nrf-ble-driver + VERSION ${NRF_BLE_DRIVER_VERSION} +) + +include(cmake/nrf-ble-driver.cmake) include(TestBigEndian) TEST_BIG_ENDIAN(IS_BIG_ENDIAN) @@ -28,22 +39,6 @@ else() file(GLOB LIB_PLATFORM_CPP_SRC_FILES "src/common/platform/linux/*.cpp") endif() -set(PC_BLE_DRIVER_DEFAULT_VERSION "4.0.0") -set(PC_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION "0.0.0") - -if(NOT DEFINED PC_BLE_DRIVER_VERSION) - message(STATUS "PC_BLE_DRIVER_VERSION not specified, setting it to ${PC_BLE_DRIVER_DEFAULT_VERSION}") - set(PC_BLE_DRIVER_VERSION "${PC_BLE_DRIVER_DEFAULT_VERSION}") -endif() - -# Add connectivity firmware building -if(NOT DEFINED CONNECTIVITY_VERSION) - message(STATUS "CONNECTIVITY_VERSION not specified, using ${PC_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION}") - set(CONNECTIVITY_VERSION "${PC_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION}" CACHE STRING "" FORCE) -else() - set(CONNECTIVITY_VERSION "${CONNECTIVITY_VERSION}" CACHE STRING "" FORCE) -endif() - # SDK source files, different per API version # Newer codecs from nRF5 SDK are backwards compatible to SoftDevice API v3 @@ -66,15 +61,11 @@ foreach(SD_API_VER ${SD_API_VERS}) list(APPEND LIB_${SD_API_VER}_C_SRC_FILES ${LIB_NEWER_SDK_API_COMMON_C_SRC_FILES}) endif() - #message(STATUS "SD: ${SD_API_VER}: C_SRC: ${LIB_${SD_API_VER}_C_SRC_FILES}") - set(LIB_${SD_API_VER}_CPP_SRC_FILES ${LIB_BASE_CPP_SRC_FILES} ${LIB_SDK_${SD_API_VER}_CPP_SRC_FILES} ${LIB_TRANSPORT_CPP_SRC_FILES} ) - #message(STATUS "SD: ${SD_API_VER}: CPP_SRC: ${LIB_${SD_API_VER}_CPP_SRC_FILES}") - # Force .c files to be compiled with the C++ compiler if(NOT APPLE) set_source_files_properties( @@ -100,14 +91,88 @@ endif() # Add libraries foreach(SD_API_VER ${SD_API_VERS}) # Object library, from which both shared and static will be built - add_library(${PC_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} OBJECT ${LIB_${SD_API_VER}_C_SRC_FILES} ${LIB_${SD_API_VER}_CPP_SRC_FILES} ${LIB_PLATFORM_SRC_FILES}) + add_library(${NRF_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} OBJECT ${LIB_${SD_API_VER}_C_SRC_FILES} ${LIB_${SD_API_VER}_CPP_SRC_FILES} ${LIB_PLATFORM_SRC_FILES}) # shared libraries need PIC - set_property(TARGET ${PC_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) + set_property(TARGET ${NRF_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) # actual shared and static libraries built from the same object files - add_library(${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} SHARED $) - add_library(${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} STATIC $) + add_library(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} SHARED $) + add_library(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} STATIC $) + + string(TOLOWER ${SD_API_VER} SD_API_VER_L) + + target_include_directories( + ${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} INTERFACE + $ + ) + + target_include_directories( + ${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} INTERFACE + $ + ) + + set(${SD_API_VER}_PUBLIC_HEADERS + include/common/sd_rpc.h + include/common/sd_rpc_types.h + include/common/adapter.h + include/common/sdk_compat/nrf.h + include/common/sdk_compat/compiler_abstraction.h + include/common/sdk_compat/nrf_svc.h + include/common/config/platform.h + include/${SD_API_VER_L}/ble.h + include/${SD_API_VER_L}/ble_err.h + include/${SD_API_VER_L}/ble_gap.h + include/${SD_API_VER_L}/ble_gatt.h + include/${SD_API_VER_L}/ble_gattc.h + include/${SD_API_VER_L}/ble_gatts.h + include/${SD_API_VER_L}/ble_hci.h + include/${SD_API_VER_L}/ble_l2cap.h + include/${SD_API_VER_L}/ble_ranges.h + include/${SD_API_VER_L}/ble_types.h + include/${SD_API_VER_L}/nrf_error.h + ) + +if(WIN32) + set_target_properties( + ${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PROPERTIES + PUBLIC_HEADER "${${SD_API_VER}_PUBLIC_HEADERS}" + OUTPUT_NAME "nrf-ble-driver-${SD_API_VER_L}" + RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + MINSIZEREL_POSTFIX "${MSVC_TOOLSET}-mt-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-gd-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" + ) + + set_target_properties( + ${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PROPERTIES + PUBLIC_HEADER "${${SD_API_VER}_PUBLIC_HEADERS}" + OUTPUT_NAME "nrf-ble-driver-${SD_API_VER_L}" + RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-static-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-static-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + MINSIZEREL_POSTFIX "${MSVC_TOOLSET}-mt-static-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-static-gd-${PROJECT_VERSION_MAJOR}_${PROJECT_VERSION_MINOR}_${PROJECT_VERSION_PATCH}" + ) +else() + set_target_properties( + ${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PROPERTIES + COMPILE_DEFINITIONS "DLL_EXPORT" + PUBLIC_HEADER "${${SD_API_VER}_PUBLIC_HEADERS}" + OUTPUT_NAME "nrf-ble-driver-${SD_API_VER_L}" + VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}" + SOVERSION "${PROJECT_VERSION_MAJOR}" + PREFIX "lib" + ) + + set_target_properties( + ${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PROPERTIES + PUBLIC_HEADER "${${SD_API_VER}_PUBLIC_HEADERS}" + OUTPUT_NAME "nrf-ble-driver-${SD_API_VER_L}" + PREFIX "lib" + ) +endif() + endforeach(SD_API_VER) # Set common include directories @@ -115,6 +180,7 @@ find_path(ASIO_INCLUDE_DIR asio.hpp) include_directories( include/common + include/common/config include/common/sdk_compat include/common/internal include/common/internal/transport @@ -127,26 +193,23 @@ foreach(SD_API_VER ${SD_API_VERS}) # Newer codecs from nRF5 SDK are backwards compatible to SoftDevice API v3 if(SD_API_VER STRGREATER "SD_API_V2") - target_include_directories (${PC_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} SYSTEM PRIVATE + target_include_directories(${NRF_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} SYSTEM PRIVATE src/sd_api_common/sdk/components/libraries/util src/${SD_API_VER_L}/sdk/components/serialization/application/codecs/common src/${SD_API_VER_L}/sdk/components/serialization/application/codecs/s132/serializers src/${SD_API_VER_L}/sdk/components/serialization/application/codecs/ble/serializers src/sd_api_common/sdk/components/serialization/common src/sd_api_common/sdk/components/serialization/common/struct_ser/ble - src/${SD_API_VER_L}/sdk/components/softdevice/s132/headers - src/${SD_API_VER_L}/sdk/components/softdevice/s140/headers - src/${SD_API_VER_L} + include/${SD_API_VER_L} ) else() - target_include_directories (${PC_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} SYSTEM PRIVATE + target_include_directories(${NRF_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} SYSTEM PRIVATE src/${SD_API_VER_L}/sdk/components/libraries/util src/${SD_API_VER_L}/sdk/components/serialization/application/codecs/common src/${SD_API_VER_L}/sdk/components/serialization/application/codecs/s130/serializers src/${SD_API_VER_L}/sdk/components/serialization/common src/${SD_API_VER_L}/sdk/components/serialization/common/struct_ser/s130 - # S132 and S130 headers are the same - src/${SD_API_VER_L}/sdk/components/softdevice/s132/headers + include/${SD_API_VER_L} ) endif() @@ -154,38 +217,56 @@ foreach(SD_API_VER ${SD_API_VERS}) string(REGEX MATCH "[0-9]+$" _SD_API_VER_NUM "${SD_API_VER}") set(SD_API_VER_COMPILER_DEF_NUM "-D${SD_API_VER_COMPILER_DEF}=${_SD_API_VER_NUM}") #MESSAGE( STATUS "compiler def: " "${SD_API_VER_COMPILER_DEF_NUM}" ) - target_compile_definitions(${PC_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} PRIVATE "${SD_API_VER_COMPILER_DEF_NUM}") + target_compile_definitions(${NRF_BLE_DRIVER_${SD_API_VER}_OBJ_LIB} PRIVATE "${SD_API_VER_COMPILER_DEF_NUM}") endforeach(SD_API_VER) # Additional special linkage libraries foreach(SD_API_VER ${SD_API_VERS}) if(WIN32) elseif(APPLE) - target_link_libraries(${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") - target_link_libraries(${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") - set_property(TARGET ${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PROPERTY MACOSX_RPATH ON) - set_property(TARGET ${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PROPERTY MACOSX_RPATH ON) + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") + set_property(TARGET ${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PROPERTY MACOSX_RPATH ON) + set_property(TARGET ${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PROPERTY MACOSX_RPATH ON) else() # Assume Linux - target_link_libraries(${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "udev" "pthread") - target_link_libraries(${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "udev" "pthread") + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "udev" "pthread") + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "udev" "pthread") endif() # Specify libraries to link serialization library with - target_link_libraries (${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE ${Boost_LIBRARIES}) - target_link_libraries (${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE ${Boost_LIBRARIES}) + target_link_libraries (${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE ${Boost_LIBRARIES}) + target_link_libraries (${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE ${Boost_LIBRARIES}) endforeach(SD_API_VER) # Add tests -add_subdirectory(test) +if(NOT DEFINED DISABLE_TESTS) + add_subdirectory(test) +else() + message(STATUS "Disabling tests") +endif() # Add examples -add_subdirectory(examples) +if(NOT DEFINED DISABLE_EXAMPLES) + add_subdirectory(examples) +else() + message(STATUS "Disabling examples") +endif() # Add install target include(cmake/install-target.cmake) if(COMPILE_CONNECTIVITY) + set(NRF_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION "0.0.0") + + # Add connectivity firmware building + if(NOT DEFINED CONNECTIVITY_VERSION) + message(STATUS "CONNECTIVITY_VERSION not specified, using ${NRF_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION}") + set(CONNECTIVITY_VERSION "${NRF_BLE_DRIVER_CONNECTIVITY_DEFAULT_VERSION}" CACHE STRING "" FORCE) + else() + set(CONNECTIVITY_VERSION "${CONNECTIVITY_VERSION}" CACHE STRING "" FORCE) + endif() + add_subdirectory(hex) endif() diff --git a/cmake/install-target.cmake b/cmake/install-target.cmake index 1c95bdb31..c277cd5e0 100644 --- a/cmake/install-target.cmake +++ b/cmake/install-target.cmake @@ -1,63 +1,77 @@ #Create install target -if(NOT CMAKE_INSTALL_PREFIX) - set(NRF_BLE_DRIVER_INSTALL_ROOT ${CMAKE_BINARY_DIR}/artifacts/pc-ble-driver-${PC_BLE_DRIVER_VERSION}) -else() - set(NRF_BLE_DRIVER_INSTALL_ROOT ${CMAKE_INSTALL_PREFIX}) -endif() +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) -set(NRF_BLE_DRIVER_INCLUDE_PREFIX "${NRF_BLE_DRIVER_INSTALL_ROOT}/include/nrf/ble/driver") +install(FILES "LICENSE" DESTINATION share) -install( - DIRECTORY include/common DESTINATION ${NRF_BLE_DRIVER_INCLUDE_PREFIX} - PATTERN "internal" EXCLUDE - PATTERN "sdk_compat" EXCLUDE -) - -# Directory include/common/sdk_compat is included without sdk_compat -# in SoftDevice. Moving those header files to common remove an extra -# include to think about -install( - FILES - include/common/sdk_compat/nrf.h - include/common/sdk_compat/compiler_abstraction.h - include/common/sdk_compat/nrf_svc.h - DESTINATION ${NRF_BLE_DRIVER_INCLUDE_PREFIX}/common -) - -install(FILES "LICENSE" DESTINATION ${NRF_BLE_DRIVER_INSTALL_ROOT}) +message(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR} CMAKE_INSTALL_INCLUDEDIR: ${CMAKE_INSTALL_INCLUDEDIR}") foreach(SD_API_VER ${SD_API_VERS}) string(TOLOWER ${SD_API_VER} SD_API_VER_L) install( - TARGETS ${PC_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} - LIBRARY DESTINATION ${NRF_BLE_DRIVER_INSTALL_ROOT}/lib/shared - ARCHIVE DESTINATION ${NRF_BLE_DRIVER_INSTALL_ROOT}/lib/shared - RUNTIME DESTINATION ${NRF_BLE_DRIVER_INSTALL_ROOT}/lib/shared + TARGETS ${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} + EXPORT ${PROJECT_NAME}-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${SD_API_VER_L} COMPONENT SDK ) install( - TARGETS ${PC_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} - ARCHIVE DESTINATION ${NRF_BLE_DRIVER_INSTALL_ROOT}/lib/static + TARGETS ${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} + EXPORT ${PROJECT_NAME}-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${SD_API_VER_L} COMPONENT SDK ) +endforeach(SD_API_VER) + +set(NRF_BLE_DRIVER_CMAKECONFIG_INSTALL_DIR "share/${PROJECT_NAME}" CACHE STRING "install path for nrf-ble-driverConfig.cmake") + +# Create a template package config file +# This part is required because SoftDevice to compile is dynamic +set(CONFIG_TEMPLATE "@PACKAGE_INIT@\n\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake\")\n\n") +set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\n") + +foreach(SD_API_VER ${SD_API_VERS}) + string(TOLOWER ${SD_API_VER} SD_API_VER_L) - if(SD_API_VER STREQUAL "SD_API_V6") - install( - DIRECTORY - src/${SD_API_VER_L}/sdk/components/softdevice/s140/headers/ - DESTINATION ${NRF_BLE_DRIVER_INCLUDE_PREFIX}/${SD_API_VER_L} - COMPONENT SDK - ) - endif() - - if(NOT SD_API_VER STREQUAL "SD_API_V6") - install( - DIRECTORY - src/${SD_API_VER_L}/sdk/components/softdevice/s132/headers/ - DESTINATION ${NRF_BLE_DRIVER_INCLUDE_PREFIX}/${SD_API_VER_L} - COMPONENT SDK - ) - endif() + set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\n# ${SD_API_VER} related properties") + set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\nget_target_property(@PROJECT_NAME@_${SD_API_VER}_INCLUDE_DIR nrf::nrf_ble_driver_${SD_API_VER_L}_shared INTERFACE_INCLUDE_DIRECTORIES)") + set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\nget_target_property(@PROJECT_NAME@_${SD_API_VER}_LIBRARY nrf::nrf_ble_driver_${SD_API_VER_L}_shared LOCATION)") + set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\nget_target_property(@PROJECT_NAME@_${SD_API_VER}_STATIC_LIBRARY nrf::nrf_ble_driver_${SD_API_VER_L}_static LOCATION)") + set(CONFIG_TEMPLATE "${CONFIG_TEMPLATE}\n") endforeach(SD_API_VER) + +set(CONFIG_TEMPLATE_FILENAME "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake.in") +file(WRITE ${CONFIG_TEMPLATE_FILENAME} "${CONFIG_TEMPLATE}") + +configure_package_config_file( + ${CONFIG_TEMPLATE_FILENAME} + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + INSTALL_DESTINATION ${NRF_BLE_DRIVER_CMAKECONFIG_INSTALL_DIR} +) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + VERSION ${NRF_BLE_DRIVER_VERSION} + COMPATIBILITY AnyNewerVersion +) + +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION ${NRF_BLE_DRIVER_CMAKECONFIG_INSTALL_DIR} +) + +install( + EXPORT ${PROJECT_NAME}-targets + FILE ${PROJECT_NAME}Targets.cmake + NAMESPACE nrf:: + DESTINATION ${NRF_BLE_DRIVER_CMAKECONFIG_INSTALL_DIR} +) diff --git a/cmake/pc-ble-driver.cmake b/cmake/nrf-ble-driver.cmake similarity index 74% rename from cmake/pc-ble-driver.cmake rename to cmake/nrf-ble-driver.cmake index 041d15142..1b6bdd190 100644 --- a/cmake/pc-ble-driver.cmake +++ b/cmake/nrf-ble-driver.cmake @@ -1,8 +1,8 @@ # include guard -if(PC_BLE_DRIVER_CMAKE_INCLUDED) +if(NRF_BLE_DRIVER_CMAKE_INCLUDED) return() -endif(PC_BLE_DRIVER_CMAKE_INCLUDED) -set(PC_BLE_DRIVER_CMAKE_INCLUDED true) +endif(NRF_BLE_DRIVER_CMAKE_INCLUDED) +set(NRF_BLE_DRIVER_CMAKE_INCLUDED true) math(EXPR COMPILER_ARCH_BITS "8*${CMAKE_SIZEOF_VOID_P}") # Default to compiler architecture @@ -67,41 +67,26 @@ foreach(SD_API_VER_NUM ${SD_API_VER_NUMS}) # Append it to the list list(APPEND SD_API_VERS ${_SD_API_VER}) # Set project and variable names - set(PC_BLE_DRIVER_${_SD_API_VER}_PROJECT_NAME "pc_ble_driver_${_SD_API_VER_L}") - set(PC_BLE_DRIVER_${_SD_API_VER}_OBJ_LIB "pc_ble_driver_obj_${_SD_API_VER_L}") - set(PC_BLE_DRIVER_${_SD_API_VER}_STATIC_LIB "pc_ble_driver_static_${_SD_API_VER_L}") - set(PC_BLE_DRIVER_${_SD_API_VER}_SHARED_LIB "pc_ble_driver_shared_${_SD_API_VER_L}") + set(NRF_BLE_DRIVER_${_SD_API_VER}_PROJECT_NAME "nrf_ble_driver_${_SD_API_VER_L}") + set(NRF_BLE_DRIVER_${_SD_API_VER}_OBJ_LIB "nrf_ble_driver_obj_${_SD_API_VER_L}") + set(NRF_BLE_DRIVER_${_SD_API_VER}_STATIC_LIB "nrf_ble_driver_${_SD_API_VER_L}_static") + set(NRF_BLE_DRIVER_${_SD_API_VER}_SHARED_LIB "nrf_ble_driver_${_SD_API_VER_L}_shared") endforeach(SD_API_VER_NUM) set(SD_API_VER_COMPILER_DEF "NRF_SD_BLE_API_VERSION") -#MESSAGE( STATUS "list1: " "${SD_API_VER_NUMS}" ) -#MESSAGE( STATUS "list2: " "${SD_API_VERS}" ) -#MESSAGE( STATUS "proj2: " "${PC_BLE_DRIVER_SD_API_V2_PROJECT_NAME}" ) -#MESSAGE( STATUS "proj5: " "${PC_BLE_DRIVER_SD_API_V5_PROJECT_NAME}" ) - # pc-ble-driver root folder -set(PC_BLE_DRIVER_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) +set(NRF_BLE_DRIVER_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) # pc-ble-driver hex folder -set(PC_BLE_DRIVER_HEX_DIR ${PC_BLE_DRIVER_ROOT_DIR}/hex) +set(NRF_BLE_DRIVER_HEX_DIR ${NRF_BLE_DRIVER_ROOT_DIR}/hex) # pc-ble-driver include path -set(PC_BLE_DRIVER_INCLUDE_DIR ${PC_BLE_DRIVER_ROOT_DIR}/include) - -# Set public include folders -foreach(SD_API_VER ${SD_API_VERS}) - string(TOLOWER ${SD_API_VER} SD_API_VER_L) - set(PC_BLE_DRIVER_${SD_API_VER}_PUBLIC_INCLUDE_DIRS ${PC_BLE_DRIVER_ROOT_DIR}/include - ${PC_BLE_DRIVER_ROOT_DIR}/include/common - ${PC_BLE_DRIVER_ROOT_DIR}/include/common/sdk_compat - ${PC_BLE_DRIVER_ROOT_DIR}/src/${SD_API_VER_L}/sdk/components/softdevice/s132/headers) -endforeach(SD_API_VER) +set(NRF_BLE_DRIVER_INCLUDE_DIR ${NRF_BLE_DRIVER_ROOT_DIR}/include) find_package(Git REQUIRED) function(git_repo_metadata dir commit branch remotes) - # Get the latest abbreviated commit hash of the working branch execute_process( COMMAND ${GIT_EXECUTABLE} log -1 --format=%H @@ -131,11 +116,9 @@ function(git_repo_metadata dir commit branch remotes) ) set(${remotes} ${GIT_REMOTES} PARENT_SCOPE) - endfunction() function(build_metadata dir dst) - cmake_host_system_information(RESULT BUILD_MD_HOSTNAME QUERY HOSTNAME) string(TIMESTAMP BUILD_TIMESTAMP "%Y-%m-%d %H:%M:%S (YY-MM-DD HH:MM:SS, UTC)" UTC) @@ -155,6 +138,4 @@ function(build_metadata dir dst) string(CONCAT str ${str} "\n") set(${dst} ${str} PARENT_SCOPE) - - endfunction() diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 83142d0ed..7a342798c 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -8,17 +8,15 @@ function(setup_example example_directory) add_executable(${EXAMPLE_NAME} ${EXAMPLE_SOURCE_FILES}) target_compile_definitions(${EXAMPLE_NAME} PRIVATE -DNRF_SD_BLE_API=${SD_API_VER}) - target_include_directories(${EXAMPLE_NAME} PRIVATE ../src/sd_api_v${SD_API_VER}/sdk/components/softdevice/s130/headers) - target_include_directories(${EXAMPLE_NAME} PRIVATE ../src/sd_api_v${SD_API_VER}/sdk/components/softdevice/s132/headers) - target_include_directories(${EXAMPLE_NAME} PRIVATE ../src/sd_api_v${SD_API_VER}/sdk/components/softdevice/s140/headers) + target_include_directories(${EXAMPLE_NAME} PRIVATE ../include/sd_api_v${SD_API_VER}) if(WIN32) - target_link_libraries(${EXAMPLE_NAME} PRIVATE pc_ble_driver_static_sd_api_v${SD_API_VER}) + target_link_libraries(${EXAMPLE_NAME} PRIVATE nrf_ble_driver_sd_api_v${SD_API_VER}_static) elseif(APPLE) - target_link_libraries(${EXAMPLE_NAME} PRIVATE pc_ble_driver_static_sd_api_v${SD_API_VER}) + target_link_libraries(${EXAMPLE_NAME} PRIVATE nrf_ble_driver_sd_api_v${SD_API_VER}_static) else() # Assume Linux - target_link_libraries(${EXAMPLE_NAME} PRIVATE pc_ble_driver_static_sd_api_v${SD_API_VER} "pthread") + target_link_libraries(${EXAMPLE_NAME} PRIVATE nrf_ble_driver_sd_api_v${SD_API_VER}_static "pthread") endif() endforeach() endfunction(setup_example) diff --git a/include/README.md b/include/README.md new file mode 100644 index 000000000..57ea2fec4 --- /dev/null +++ b/include/README.md @@ -0,0 +1,8 @@ +The header files in the sd_api_vx directories are from their respective SoftDevice API version + +Source location of header files in this directory +================================================= +sd_api_v2: /components/softdevice/s132 +sd_api_v3: /components/softdevice/s132v3 +sd_api_v5: /components/softdevice/s132v5 +sd_api_v6: /components/softdevice/s140 diff --git a/include/common/sd_rpc.h b/include/common/sd_rpc.h index 47b554c5a..60481b2e3 100644 --- a/include/common/sd_rpc.h +++ b/include/common/sd_rpc.h @@ -43,7 +43,7 @@ #ifndef SD_RPC_H__ #define SD_RPC_H__ -#include "config/platform.h" +#include "platform.h" #include "sd_rpc_types.h" #include "adapter.h" diff --git a/include/common/sdk_compat/nrf_svc.h b/include/common/sdk_compat/nrf_svc.h index 4868c50d3..32fadd98f 100755 --- a/include/common/sdk_compat/nrf_svc.h +++ b/include/common/sdk_compat/nrf_svc.h @@ -38,7 +38,7 @@ #ifndef NRF_SVC_H__ #define NRF_SVC_H__ -#include "config/platform.h" +#include "platform.h" #define SVCALL(number, return_type, signature) SD_RPC_API return_type signature #include "adapter.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble.h b/include/sd_api_v2/ble.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble.h rename to include/sd_api_v2/ble.h index 257890295..da3b2e787 --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble.h +++ b/include/sd_api_v2/ble.h @@ -47,7 +47,7 @@ #ifndef BLE_H__ #define BLE_H__ -#include "config/platform.h" +#include "platform.h" #include "ble_ranges.h" #include "ble_types.h" #include "ble_gap.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_err.h b/include/sd_api_v2/ble_err.h old mode 100755 new mode 100644 similarity index 100% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_err.h rename to include/sd_api_v2/ble_err.h diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gap.h b/include/sd_api_v2/ble_gap.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gap.h rename to include/sd_api_v2/ble_gap.h index ef16cba20..777c96d44 --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gap.h +++ b/include/sd_api_v2/ble_gap.h @@ -45,7 +45,7 @@ #include "adapter.h" -#include "config/platform.h" +#include "platform.h" #include "ble_types.h" #include "ble_ranges.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatt.h b/include/sd_api_v2/ble_gatt.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatt.h rename to include/sd_api_v2/ble_gatt.h index a6dcae960..c59ad04c2 --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatt.h +++ b/include/sd_api_v2/ble_gatt.h @@ -43,7 +43,7 @@ #ifndef BLE_GATT_H__ #define BLE_GATT_H__ -#include "config/platform.h" +#include "platform.h" #include "ble_types.h" #include "ble_ranges.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gattc.h b/include/sd_api_v2/ble_gattc.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gattc.h rename to include/sd_api_v2/ble_gattc.h index 404cfeb63..a2616c39e --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gattc.h +++ b/include/sd_api_v2/ble_gattc.h @@ -45,7 +45,7 @@ #include "adapter.h" -#include "config/platform.h" +#include "platform.h" #include "ble_gatt.h" #include "ble_types.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatts.h b/include/sd_api_v2/ble_gatts.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatts.h rename to include/sd_api_v2/ble_gatts.h index 3404970f8..fcf80a385 --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_gatts.h +++ b/include/sd_api_v2/ble_gatts.h @@ -45,7 +45,7 @@ #include "adapter.h" -#include "config/platform.h" +#include "platform.h" #include "ble_types.h" #include "ble_ranges.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_hci.h b/include/sd_api_v2/ble_hci.h old mode 100755 new mode 100644 similarity index 100% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_hci.h rename to include/sd_api_v2/ble_hci.h diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_l2cap.h b/include/sd_api_v2/ble_l2cap.h old mode 100755 new mode 100644 similarity index 99% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_l2cap.h rename to include/sd_api_v2/ble_l2cap.h index af2b98501..3f69ab0bd --- a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_l2cap.h +++ b/include/sd_api_v2/ble_l2cap.h @@ -45,7 +45,7 @@ #include "adapter.h" -#include "config/platform.h" +#include "platform.h" #include "ble_types.h" #include "ble_ranges.h" diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_ranges.h b/include/sd_api_v2/ble_ranges.h old mode 100755 new mode 100644 similarity index 100% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_ranges.h rename to include/sd_api_v2/ble_ranges.h diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_types.h b/include/sd_api_v2/ble_types.h old mode 100755 new mode 100644 similarity index 100% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/ble_types.h rename to include/sd_api_v2/ble_types.h diff --git a/src/sd_api_v2/sdk/components/softdevice/s132/headers/nrf_error.h b/include/sd_api_v2/nrf_error.h old mode 100755 new mode 100644 similarity index 100% rename from src/sd_api_v2/sdk/components/softdevice/s132/headers/nrf_error.h rename to include/sd_api_v2/nrf_error.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble.h b/include/sd_api_v3/ble.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble.h rename to include/sd_api_v3/ble.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_err.h b/include/sd_api_v3/ble_err.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_err.h rename to include/sd_api_v3/ble_err.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gap.h b/include/sd_api_v3/ble_gap.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gap.h rename to include/sd_api_v3/ble_gap.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gatt.h b/include/sd_api_v3/ble_gatt.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gatt.h rename to include/sd_api_v3/ble_gatt.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gattc.h b/include/sd_api_v3/ble_gattc.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gattc.h rename to include/sd_api_v3/ble_gattc.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gatts.h b/include/sd_api_v3/ble_gatts.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_gatts.h rename to include/sd_api_v3/ble_gatts.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_hci.h b/include/sd_api_v3/ble_hci.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_hci.h rename to include/sd_api_v3/ble_hci.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_l2cap.h b/include/sd_api_v3/ble_l2cap.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_l2cap.h rename to include/sd_api_v3/ble_l2cap.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_ranges.h b/include/sd_api_v3/ble_ranges.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_ranges.h rename to include/sd_api_v3/ble_ranges.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_types.h b/include/sd_api_v3/ble_types.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/ble_types.h rename to include/sd_api_v3/ble_types.h diff --git a/src/sd_api_v3/sdk/components/softdevice/s132/headers/nrf_error.h b/include/sd_api_v3/nrf_error.h similarity index 100% rename from src/sd_api_v3/sdk/components/softdevice/s132/headers/nrf_error.h rename to include/sd_api_v3/nrf_error.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble.h b/include/sd_api_v5/ble.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble.h rename to include/sd_api_v5/ble.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_err.h b/include/sd_api_v5/ble_err.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_err.h rename to include/sd_api_v5/ble_err.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gap.h b/include/sd_api_v5/ble_gap.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gap.h rename to include/sd_api_v5/ble_gap.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gatt.h b/include/sd_api_v5/ble_gatt.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gatt.h rename to include/sd_api_v5/ble_gatt.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gattc.h b/include/sd_api_v5/ble_gattc.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gattc.h rename to include/sd_api_v5/ble_gattc.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gatts.h b/include/sd_api_v5/ble_gatts.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_gatts.h rename to include/sd_api_v5/ble_gatts.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_hci.h b/include/sd_api_v5/ble_hci.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_hci.h rename to include/sd_api_v5/ble_hci.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_l2cap.h b/include/sd_api_v5/ble_l2cap.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_l2cap.h rename to include/sd_api_v5/ble_l2cap.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_ranges.h b/include/sd_api_v5/ble_ranges.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_ranges.h rename to include/sd_api_v5/ble_ranges.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_types.h b/include/sd_api_v5/ble_types.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/ble_types.h rename to include/sd_api_v5/ble_types.h diff --git a/src/sd_api_v5/sdk/components/softdevice/s132/headers/nrf_error.h b/include/sd_api_v5/nrf_error.h similarity index 100% rename from src/sd_api_v5/sdk/components/softdevice/s132/headers/nrf_error.h rename to include/sd_api_v5/nrf_error.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble.h b/include/sd_api_v6/ble.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble.h rename to include/sd_api_v6/ble.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_err.h b/include/sd_api_v6/ble_err.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_err.h rename to include/sd_api_v6/ble_err.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gap.h b/include/sd_api_v6/ble_gap.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gap.h rename to include/sd_api_v6/ble_gap.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gatt.h b/include/sd_api_v6/ble_gatt.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gatt.h rename to include/sd_api_v6/ble_gatt.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gattc.h b/include/sd_api_v6/ble_gattc.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gattc.h rename to include/sd_api_v6/ble_gattc.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gatts.h b/include/sd_api_v6/ble_gatts.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_gatts.h rename to include/sd_api_v6/ble_gatts.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_hci.h b/include/sd_api_v6/ble_hci.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_hci.h rename to include/sd_api_v6/ble_hci.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_l2cap.h b/include/sd_api_v6/ble_l2cap.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_l2cap.h rename to include/sd_api_v6/ble_l2cap.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_ranges.h b/include/sd_api_v6/ble_ranges.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_ranges.h rename to include/sd_api_v6/ble_ranges.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_types.h b/include/sd_api_v6/ble_types.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/ble_types.h rename to include/sd_api_v6/ble_types.h diff --git a/src/sd_api_v6/sdk/components/softdevice/s140/headers/nrf_error.h b/include/sd_api_v6/nrf_error.h similarity index 100% rename from src/sd_api_v6/sdk/components/softdevice/s140/headers/nrf_error.h rename to include/sd_api_v6/nrf_error.h diff --git a/src/sd_api_v2/sdk/components/softdevice/README.md b/src/sd_api_v2/sdk/components/softdevice/README.md new file mode 100644 index 000000000..2ea7209cf --- /dev/null +++ b/src/sd_api_v2/sdk/components/softdevice/README.md @@ -0,0 +1 @@ +Header files for SoftDevice are located in /include/sd_api_v2 diff --git a/src/sd_api_v3/sdk/components/softdevice/README.md b/src/sd_api_v3/sdk/components/softdevice/README.md new file mode 100644 index 000000000..5f884e3b2 --- /dev/null +++ b/src/sd_api_v3/sdk/components/softdevice/README.md @@ -0,0 +1 @@ +Header files for SoftDevice are located in /include/sd_api_v3 diff --git a/src/sd_api_v5/sdk/components/softdevice/README.md b/src/sd_api_v5/sdk/components/softdevice/README.md new file mode 100644 index 000000000..251d616cd --- /dev/null +++ b/src/sd_api_v5/sdk/components/softdevice/README.md @@ -0,0 +1 @@ +Header files for SoftDevice are located in /include/sd_api_v5 diff --git a/src/sd_api_v6/sdk/components/softdevice/README.md b/src/sd_api_v6/sdk/components/softdevice/README.md new file mode 100644 index 000000000..fcfbb5a9e --- /dev/null +++ b/src/sd_api_v6/sdk/components/softdevice/README.md @@ -0,0 +1 @@ +Header files for SoftDevice are located in /include/sd_api_v6 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index dd7eac548..537aa0ca8 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -365,17 +365,16 @@ function(setup_test) add_executable(${test_name} ${source_file} ${source_testcases} ${test_util_src}) target_compile_definitions(${test_name} PRIVATE -DNRF_SD_BLE_API=${softdevice_api_ver}) - target_include_directories(${test_name} SYSTEM PRIVATE ../src/sd_api_v${softdevice_api_ver}/sdk/components/softdevice/s132/headers) - target_include_directories(${test_name} SYSTEM PRIVATE ../src/sd_api_v${softdevice_api_ver}/sdk/components/softdevice/s140/headers) + target_include_directories(${test_name} SYSTEM PRIVATE ../include/sd_api_v${softdevice_api_ver}) target_include_directories(${test_name} SYSTEM PRIVATE util/include) if(WIN32) - target_link_libraries(${test_name} PRIVATE pc_ble_driver_static_sd_api_v${softdevice_api_ver} Catch2::Catch2) + target_link_libraries(${test_name} PRIVATE nrf_ble_driver_sd_api_v${softdevice_api_ver}_static Catch2::Catch2) elseif(APPLE) - target_link_libraries(${test_name} PRIVATE pc_ble_driver_static_sd_api_v${softdevice_api_ver} Catch2::Catch2) + target_link_libraries(${test_name} PRIVATE nrf_ble_driver_sd_api_v${softdevice_api_ver}_static Catch2::Catch2) else() # Assume Linux - target_link_libraries(${test_name} PRIVATE pc_ble_driver_static_sd_api_v${softdevice_api_ver} "pthread" Catch2::Catch2) + target_link_libraries(${test_name} PRIVATE nrf_ble_driver_sd_api_v${softdevice_api_ver}_static "pthread" Catch2::Catch2) endif() if(NOT ${test_name} STREQUAL "test_uart_boost_v2")