mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
- Create `Include/` folder for all main projects - Fix some issues here and there (found while moving things) - All includes are now in `Tactility/` subfolder and must be included with that prefix. This fixes issues with clashing POSIX headers (e.g. `<semaphore.h>` versus Tactility's `Semaphore.h`)
42 lines
968 B
CMake
42 lines
968 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
if (DEFINED ENV{ESP_IDF_VERSION})
|
|
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
|
|
|
|
idf_component_register(
|
|
SRCS ${SOURCE_FILES}
|
|
INCLUDE_DIRS "Include/"
|
|
REQUIRES lvgl
|
|
PRIV_REQUIRES Tactility TactilityCore TactilityHeadless elf_loader
|
|
)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC -Wno-unused-variable)
|
|
endif()
|
|
else()
|
|
file(GLOB_RECURSE SOURCES "Source/*.c**")
|
|
|
|
add_library(TactilityC OBJECT)
|
|
|
|
target_sources(TactilityC
|
|
PRIVATE ${SOURCES}
|
|
)
|
|
|
|
target_include_directories(TactilityC
|
|
PUBLIC Include/
|
|
)
|
|
|
|
add_definitions(-D_Nullable=)
|
|
add_definitions(-D_Nonnull=)
|
|
target_link_libraries(TactilityC
|
|
PRIVATE Tactility
|
|
PRIVATE TactilityCore
|
|
PRIVATE TactilityHeadless
|
|
PUBLIC lvgl
|
|
)
|
|
endif()
|
|
|