48 lines
973 B
CMake
48 lines
973 B
CMake
|
# Ensure that CHIBIOS_ROOT is set
|
||
|
if(NOT UGFX_ROOT)
|
||
|
message(FATAL_ERROR "No UGFX_ROOT specified")
|
||
|
endif()
|
||
|
|
||
|
# Assemble list of components
|
||
|
list(APPEND ugfx_COMPONENTS
|
||
|
gadc
|
||
|
gaudio
|
||
|
gdisp
|
||
|
gdriver
|
||
|
gevent
|
||
|
gfile
|
||
|
ginput
|
||
|
gmisc
|
||
|
gos
|
||
|
gqueue
|
||
|
gtimer
|
||
|
gtrans
|
||
|
gwin
|
||
|
)
|
||
|
|
||
|
# Core sources
|
||
|
list(APPEND ugfx_SOURCES
|
||
|
${UGFX_ROOT}/src/gfx.c
|
||
|
)
|
||
|
|
||
|
# Core include directories
|
||
|
list(APPEND ugfx_INCLUDE_DIRS
|
||
|
${UGFX_ROOT}/src
|
||
|
)
|
||
|
|
||
|
# Include each component
|
||
|
foreach(component ${ugfx_COMPONENTS})
|
||
|
include(${UGFX_ROOT}/src/${component}/${component}.cmake)
|
||
|
endforeach()
|
||
|
|
||
|
# Include target setup for ease-of-use
|
||
|
include(${CMAKE_CURRENT_LIST_DIR}/target_setup.cmake)
|
||
|
|
||
|
# Remove duplicates from non-cached variables
|
||
|
list(REMOVE_DUPLICATES ugfx_SOURCES)
|
||
|
list(REMOVE_DUPLICATES ugfx_INCLUDE_DIRS)
|
||
|
|
||
|
# Outsource heavy-lifting to cmake
|
||
|
include(FindPackageHandleStandardArgs)
|
||
|
find_package_handle_standard_args(ugfx DEFAULT_MSG ugfx_SOURCES ugfx_INCLUDE_DIRS)
|