function(addPeripheral alias _currentPripheral) if(EXISTS ${CSL_SOURCES}/imp_${alias}.${PL}) # Checks if the desired peripheral is implemented for the desired CSL. message(" --> Peripheral: ${alias} = FOUND") message(" |-> Drirectory: ${CSL_SOURCES}/imp_${alias}.${PL}") if(EXISTS ${PERIFERALS_DIR}/${alias}.${PL}) # Cheks if generic funtions are awailable. this is useful for standars as SPI i2c etc... message(" --> Generic Library ${alias}.${PL} for imp_${alias}.${PL} = FOUND") message(" |-> DIRECTORY: ${PERIFERALS_DIR}/${alias}.${PL}") add_library(${alias}_submodule ${PERIFERALS_DIR}/${alias}.${PL} ${CSL_SOURCES}/imp_${alias}.${PL}) else() add_library(${alias}_submodule ${CSL_SOURCES}/imp_${alias}.${PL}) endif() target_compile_options(${alias}_submodule PRIVATE ${C_FLAGS}) target_compile_definitions(${alias}_submodule PRIVATE ${C_DEFS}) target_include_directories(${alias}_submodule PUBLIC ${PERIFERALS_DIR} ${CSL_INCLUDES}) add_library(sub::${alias} ALIAS ${alias}_submodule) set(${_currentPripheral} sub::${alias} PARENT_SCOPE) else () message("${BoldRed}") message(FATAL_ERROR "\nThe Included ${alias} peripheral was NOT found ### COMPILATION ABORTED ###\n") message("${ColourReset}") endif() endfunction()