CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # Copyright (c) 2023 HPMicro
  2. # SPDX-License-Identifier: BSD-3-Clause
  3. cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
  4. if(NOT DEFINED UX_INCLUDE_USER_DEFINE_FILE)
  5. sdk_compile_definitions(-DUX_INCLUDE_USER_DEFINE_FILE=1)
  6. endif()
  7. if(NOT DEFINED THREADX_ARCH)
  8. message(FATAL_ERROR "Error: THREADX_ARCH not defined")
  9. endif()
  10. if(NOT DEFINED THREADX_TOOLCHAIN)
  11. message(FATAL_ERROR "Error: THREADX_TOOLCHAIN not defined")
  12. endif()
  13. # Pick up the port specific stuff first
  14. if(DEFINED USBX_CUSTOM_PORT)
  15. add_subdirectory(${USBX_CUSTOM_PORT} usbx_port)
  16. else()
  17. add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/ports/${THREADX_ARCH}/${THREADX_TOOLCHAIN})
  18. endif()
  19. add_subdirectory(ports/hpmicro)
  20. # Then the common files
  21. add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/common)
  22. # If the user provided an override, copy it to the custom directory
  23. if (NOT UX_USER_FILE)
  24. message(STATUS "Using default ux_user.h file")
  25. set(UX_USER_FILE ${CMAKE_CURRENT_LIST_DIR}/common/core/inc/ux_user_sample.h)
  26. else()
  27. message(STATUS "Using custom ux_user.h file from ${UX_USER_FILE}")
  28. endif()
  29. # set include file path to place configure file
  30. set(generated_file_path "${__build_dir}/generated")
  31. set(CUSTOM_INC_DIR ${generated_file_path}/include)
  32. message(STATUS "copy ux_user.h to " ${CUSTOM_INC_DIR})
  33. configure_file(${UX_USER_FILE} ${CUSTOM_INC_DIR}/ux_user.h COPYONLY)
  34. sdk_inc(${CUSTOM_INC_DIR})
  35. add_subdirectory_ifdef(CONFIG_ECLIPSE_THREADX_USBX_DEVICE hpmicro_device_controllers)
  36. sdk_compile_definitions(-DUX_DEVICE_BIDIRECTIONAL_ENDPOINT_SUPPORT=1)