mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
Put generated files in build folder
This commit is contained in:
parent
6d54d98b5c
commit
ad19700806
1
Firmware/.gitignore
vendored
1
Firmware/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
Generated/
|
|
||||||
@ -14,16 +14,23 @@ endif ()
|
|||||||
|
|
||||||
set(DEVICETREE_LOCATION "${CMAKE_SOURCE_DIR}/Devices/${TACTILITY_DEVICE_ID}")
|
set(DEVICETREE_LOCATION "${CMAKE_SOURCE_DIR}/Devices/${TACTILITY_DEVICE_ID}")
|
||||||
|
|
||||||
|
set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/Generated")
|
||||||
|
# Ensure the directory is built in the correct CMake build phase
|
||||||
|
# If the check is not done, then another directory is created in the root of the build folder.
|
||||||
|
if (DEFINED ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
file(MAKE_DIRECTORY "${GENERATED_DIR}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (DEFINED ENV{ESP_IDF_VERSION})
|
if (DEFINED ENV{ESP_IDF_VERSION})
|
||||||
|
|
||||||
idf_component_register(
|
idf_component_register(
|
||||||
SRCS ${SOURCE_FILES} "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c"
|
SRCS ${SOURCE_FILES} "${GENERATED_DIR}/devicetree.c"
|
||||||
REQUIRES Tactility TactilityC TactilityKernel PlatformEsp32 ${TACTILITY_DEVICE_PROJECT}
|
REQUIRES Tactility TactilityC TactilityKernel PlatformEsp32 ${TACTILITY_DEVICE_PROJECT}
|
||||||
)
|
)
|
||||||
|
|
||||||
else ()
|
else ()
|
||||||
|
|
||||||
add_executable(FirmwareSim ${SOURCE_FILES} "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c")
|
add_executable(FirmwareSim ${SOURCE_FILES} "${GENERATED_DIR}/devicetree.c")
|
||||||
target_link_libraries(FirmwareSim PRIVATE
|
target_link_libraries(FirmwareSim PRIVATE
|
||||||
Tactility
|
Tactility
|
||||||
TactilityCore
|
TactilityCore
|
||||||
@ -38,22 +45,20 @@ else ()
|
|||||||
add_definitions(-D_Nonnull=)
|
add_definitions(-D_Nonnull=)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/Firmware/Generated")
|
|
||||||
|
|
||||||
add_custom_target(AlwaysRun)
|
add_custom_target(AlwaysRun)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c"
|
OUTPUT "${GENERATED_DIR}/devicetree.c"
|
||||||
"${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.h"
|
"${GENERATED_DIR}/devicetree.h"
|
||||||
COMMAND pip install lark pyyaml
|
COMMAND pip install lark pyyaml
|
||||||
COMMAND python "${CMAKE_SOURCE_DIR}/Buildscripts/DevicetreeCompiler/compile.py"
|
COMMAND python "${CMAKE_SOURCE_DIR}/Buildscripts/DevicetreeCompiler/compile.py"
|
||||||
"${DEVICETREE_LOCATION}" "Firmware/Generated"
|
"${DEVICETREE_LOCATION}" "${GENERATED_DIR}"
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||||
DEPENDS AlwaysRun "${DEVICETREE_LOCATION}/devicetree.yaml" # AlwaysRun ensures it always gets built
|
DEPENDS AlwaysRun "${DEVICETREE_LOCATION}/devicetree.yaml" # AlwaysRun ensures it always gets built
|
||||||
COMMENT "Generating devicetree source files..."
|
COMMENT "Generating devicetree source files..."
|
||||||
)
|
)
|
||||||
add_custom_target(Generated DEPENDS "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c")
|
add_custom_target(Generated DEPENDS "${GENERATED_DIR}/devicetree.c")
|
||||||
set_source_files_properties("${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c" PROPERTIES GENERATED TRUE)
|
set_source_files_properties("${GENERATED_DIR}/devicetree.c" PROPERTIES GENERATED TRUE)
|
||||||
set_source_files_properties("${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.h" PROPERTIES GENERATED TRUE)
|
set_source_files_properties("${GENERATED_DIR}/devicetree.h" PROPERTIES GENERATED TRUE)
|
||||||
# Update target for generated code
|
# Update target for generated code
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${CMAKE_SOURCE_DIR}/Firmware/Generated/devicetree.c")
|
target_sources(${COMPONENT_LIB} PRIVATE "${GENERATED_DIR}/devicetree.c")
|
||||||
target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_SOURCE_DIR}/Firmware/Generated")
|
target_include_directories(${COMPONENT_LIB} PRIVATE "${GENERATED_DIR}")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user