~aleteoryx/muditaos

ref: a405cad694b867fcd2498984830bd97d4b9bde2f muditaos/cmake/modules/Product.cmake -rw-r--r-- 814 bytes
a405cad6Aleteoryx trim readme 7 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
set(PRODUCT "PurePhone" CACHE STRING "The product to be configured and built.")

macro(validate_product_selection)
    # create list of valid products
    file(GLOB _PRODUCTS_CANDIDATES  "${CMAKE_SOURCE_DIR}/products/*")
    set(PRODUCTS "")
    foreach(_P in ${_PRODUCTS_CANDIDATES})
        if(IS_DIRECTORY ${_P})
            get_filename_component(_DIRNAME ${_P} NAME)
            list(APPEND PRODUCTS ${_DIRNAME})
        endif()
    endforeach()
    list(JOIN PRODUCTS ", " PRODUCTS_STRING)

    if("${PRODUCT}" STREQUAL "")
        message(FATAL_ERROR "Product not selected. Valid products: ${PRODUCTS_STRING}")
    endif()

    if(NOT ${PRODUCT} IN_LIST PRODUCTS)
        message(FATAL_ERROR "${PRODUCT} is not recognized as a valid product name. Valid products: ${PRODUCTS_STRING}")
    endif()
endmacro()