summaryrefslogtreecommitdiff
path: root/examples/device/hid_composite_freertos
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2023-04-24 16:43:40 +0700
committerGitHub <[email protected]>2023-04-24 16:43:40 +0700
commit8ede566c41ee0fc89929e7bc45cdbe31fe53bf0f (patch)
tree23156a728b847d46d4b8a973fbc431f6bb5079a0 /examples/device/hid_composite_freertos
parent0871238cacddb1802e5ce88a8e407d55a7fa34af (diff)
parenta4d5d515493187437731eae830cb4b173fd11c02 (diff)
Merge pull request #2039 from hathach/add-cmake-build
Add cmake build
Diffstat (limited to 'examples/device/hid_composite_freertos')
-rw-r--r--examples/device/hid_composite_freertos/CMakeLists.txt37
1 files changed, 32 insertions, 5 deletions
diff --git a/examples/device/hid_composite_freertos/CMakeLists.txt b/examples/device/hid_composite_freertos/CMakeLists.txt
index 714e5333b..9b0ffa4b6 100644
--- a/examples/device/hid_composite_freertos/CMakeLists.txt
+++ b/examples/device/hid_composite_freertos/CMakeLists.txt
@@ -1,16 +1,43 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.17)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
# gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
-project(${PROJECT})
+project(${PROJECT} C CXX ASM)
# Checks this example is valid for the family and initializes the project
family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR})
-# Check for -DFAMILY=
-if(NOT FAMILY STREQUAL "espressif")
- message(FATAL_ERROR "Invalid FAMILY specified: ${FAMILY}")
+# Espressif has its own cmake build system
+if(FAMILY STREQUAL "espressif")
+ return()
endif()
+
+add_executable(${PROJECT})
+
+# Example source
+target_sources(${PROJECT} PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/freertos_hook.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
+ )
+
+# Example include
+target_include_directories(${PROJECT} PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ )
+
+# Configure compilation flags and libraries for the example... see the corresponding function
+# in hw/bsp/FAMILY/family.cmake for details.
+family_configure_device_example(${PROJECT})
+
+if (NOT TARGET freertos_kernel)
+family_add_freertos_config(${PROJECT})
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../lib/FreeRTOS-Kernel lib/FreeRTOS-Kernel)
+endif()
+
+target_link_libraries(${PROJECT} PUBLIC
+ freertos_kernel
+ )