MCUXpresso_MIMXRT1021xxxxx/middleware/wireless/wpa_supplicant-rtos/middleware_wireless_wpa_sup...

279 lines
13 KiB
CMake

# Add set(CONFIG_USE_middleware_wireless_wpa_supplicant_rtos true) in config.cmake to use this component
include_guard(GLOBAL)
message("${CMAKE_CURRENT_LIST_FILE} component is included.")
if(CONFIG_USE_middleware_freertos-kernel AND CONFIG_USE_utility_debug_console AND CONFIG_USE_component_osa_free_rtos AND CONFIG_USE_middleware_wifi AND CONFIG_USE_middleware_lwip AND CONFIG_USE_middleware_mbedtls)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/src/common/wpa_common.c
${CMAKE_CURRENT_LIST_DIR}/src/common/ieee802_11_common.c
${CMAKE_CURRENT_LIST_DIR}/src/common/hw_features_common.c
${CMAKE_CURRENT_LIST_DIR}/src/common/wpa_ctrl.c
${CMAKE_CURRENT_LIST_DIR}/src/common/cli.c
${CMAKE_CURRENT_LIST_DIR}/src/drivers/driver_common.c
${CMAKE_CURRENT_LIST_DIR}/src/drivers/drivers.c
${CMAKE_CURRENT_LIST_DIR}/src/l2_packet/l2_packet_freertos.c
${CMAKE_CURRENT_LIST_DIR}/src/drivers/driver_freertos.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/base64.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/common.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/wpabuf.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/bitfield.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/os_freertos.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/crc32.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/ip_addr.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/block_alloc.c
${CMAKE_CURRENT_LIST_DIR}/freertos/src/wpa_cli.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/config.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/notify.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/bss.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/eap_register.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/op_classes.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/rrm.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/wmm_ac.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/config_none.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/sme.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/wpa_supplicant.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/events.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/bssid_ignore.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/wpas_glue.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/scan.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/robust_av.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/ctrl_iface.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/ctrl_iface_udp.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/mbo.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/wnm_sta.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/wpa_debug.c
${CMAKE_CURRENT_LIST_DIR}/freertos/src/supp_main.c
${CMAKE_CURRENT_LIST_DIR}/freertos/src/supp_api.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/ap.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ap_config.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ap_drv_ops.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ap_list.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ap_mlme.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/authsrv.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/beacon.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/bss_load.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/dfs.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/drv_callbacks.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/eap_user_db.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/hostapd.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/hw_features.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11_auth.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11_he.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11_ht.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11_shared.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_11_vht.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ieee802_1x.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/neighbor_db.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/p2p_hostapd.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/pmksa_cache_auth.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/preauth_auth.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/rrm.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/sta_info.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/tkip_countermeasures.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/utils.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wmm.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/ctrl_iface_ap.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/mbo_ap.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wpa_auth.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wpa_auth_ie.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wpa_auth_ft.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wpa_auth_glue.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/eap_common.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_identity.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_methods.c
${CMAKE_CURRENT_LIST_DIR}/src/eapol_auth/eapol_auth_sm.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-eax.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-encblock.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-ctr.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-cbc.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-siv.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-unwrap.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-wrap.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/des-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/dh_groups.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/rc4.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/md4-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/md5.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/md5-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha1-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/fips_prf_internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha256-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha1.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha256.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/tls_none.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/ms_funcs.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha1-tlsprf.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha1-prf.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha256-prf.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha1-pbkdf2.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-omac1.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-internal-enc.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-internal-dec.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/aes-internal.c
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp/wpa.c
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp/preauth.c
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp/pmksa_cache.c
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp/wpa_ie.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/crypto_mbedtls2.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/tls_mbedtls2.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha256-kdf.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha384-kdf.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/sha512-kdf.c
${CMAKE_CURRENT_LIST_DIR}/src/common/sae.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dragonfly.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/p2p_supplicant.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/p2p_supplicant_sd.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_utils.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_parse.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_build.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_go_neg.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_sd.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_pd.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_invitation.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_dev_disc.c
${CMAKE_CURRENT_LIST_DIR}/src/p2p/p2p_group.c
${CMAKE_CURRENT_LIST_DIR}/src/common/gas.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/gas_query.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/offchannel.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/wps_supplicant.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/uuid.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_wsc.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/eap_wsc_common.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wps_hostapd.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_common.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_attr_parse.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_attr_build.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_attr_process.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_dev_attr.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_enrollee.c
${CMAKE_CURRENT_LIST_DIR}/src/wps/wps_registrar.c
${CMAKE_CURRENT_LIST_DIR}/src/eapol_supp/eapol_supp_sm.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_methods.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_tls.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_tls_common.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_peap.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/eap_peap_common.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_ttls.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_mschapv2.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/chap.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/mschapv2.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_fast.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_fast_pac.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_gtc.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/eap_fast_common.c
${CMAKE_CURRENT_LIST_DIR}/hostapd/hlr_auc_gw.c
${CMAKE_CURRENT_LIST_DIR}/hostapd/ctrl_iface.c
${CMAKE_CURRENT_LIST_DIR}/hostapd/eap_register.c
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp/wpa_ft.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/wnm_ap.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/eth_p_oui.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_wsc.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_tls.c
${CMAKE_CURRENT_LIST_DIR}/src/radius/radius_server.c
${CMAKE_CURRENT_LIST_DIR}/src/radius/radius_das.c
${CMAKE_CURRENT_LIST_DIR}/src/radius/radius_client.c
${CMAKE_CURRENT_LIST_DIR}/src/radius/radius.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_sim_db.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_common/eap_sim_common.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_ttls.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_tls_common.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_peap.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_mschapv2.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_md5.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_gtc.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_fast.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_sim.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_server/eap_server_aka.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/acs.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/eloop_freertos.c
${CMAKE_CURRENT_LIST_DIR}/src/crypto/milenage.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_sim.c
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer/eap_aka.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/dpp_supplicant.c
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant/interworking.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_auth.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_backup.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_crypto.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_pkex.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_reconfig.c
${CMAKE_CURRENT_LIST_DIR}/src/common/dpp_tcp.c
${CMAKE_CURRENT_LIST_DIR}/src/common/gas_server.c
${CMAKE_CURRENT_LIST_DIR}/src/utils/json.c
${CMAKE_CURRENT_LIST_DIR}/src/tls/asn1.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/dpp_hostapd.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/gas_query_ap.c
${CMAKE_CURRENT_LIST_DIR}/src/ap/gas_serv.c
)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/.
${CMAKE_CURRENT_LIST_DIR}/src
${CMAKE_CURRENT_LIST_DIR}/src/utils
${CMAKE_CURRENT_LIST_DIR}/src/common
${CMAKE_CURRENT_LIST_DIR}/src/crypto
${CMAKE_CURRENT_LIST_DIR}/src/ap
${CMAKE_CURRENT_LIST_DIR}/src/drivers
${CMAKE_CURRENT_LIST_DIR}/src/eap_common
${CMAKE_CURRENT_LIST_DIR}/src/eap_peer
${CMAKE_CURRENT_LIST_DIR}/src/eap_server
${CMAKE_CURRENT_LIST_DIR}/src/eapol_auth
${CMAKE_CURRENT_LIST_DIR}/src/eapol_supp
${CMAKE_CURRENT_LIST_DIR}/src/fst
${CMAKE_CURRENT_LIST_DIR}/src/l2_packet
${CMAKE_CURRENT_LIST_DIR}/src/p2p
${CMAKE_CURRENT_LIST_DIR}/src/pae
${CMAKE_CURRENT_LIST_DIR}/src/radius
${CMAKE_CURRENT_LIST_DIR}/src/rsn_supp
${CMAKE_CURRENT_LIST_DIR}/src/tls
${CMAKE_CURRENT_LIST_DIR}/src/wps
${CMAKE_CURRENT_LIST_DIR}/port/mbedtls
${CMAKE_CURRENT_LIST_DIR}/hostapd
${CMAKE_CURRENT_LIST_DIR}/wpa_supplicant
${CMAKE_CURRENT_LIST_DIR}/freertos
${CMAKE_CURRENT_LIST_DIR}/freertos/src
)
if(CONFIG_USE_COMPONENT_CONFIGURATION)
message("===>Import configuration from ${CMAKE_CURRENT_LIST_FILE}")
target_compile_definitions(${MCUX_SDK_PROJECT_NAME} PUBLIC
-DUSE_RTOS=1
-DSDK_OS_FREE_RTOS
-DFSL_OSA_TASK_ENABLE=1
-DPRINTF_ADVANCED_ENABLE=1
-DMBEDTLS_CONFIG_FILE="wpa_supp_mbedtls_config.h"
)
if(CONFIG_TOOLCHAIN STREQUAL iar)
target_compile_options(${MCUX_SDK_PROJECT_NAME} PUBLIC
--dlib_config full
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL armgcc)
target_compile_options(${MCUX_SDK_PROJECT_NAME} PUBLIC
-fomit-frame-pointer
-Wno-unused-function
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mcux)
target_compile_options(${MCUX_SDK_PROJECT_NAME} PUBLIC
-fomit-frame-pointer
)
endif()
endif()
else()
message(SEND_ERROR "middleware_wireless_wpa_supplicant_rtos dependency does not meet, please check ${CMAKE_CURRENT_LIST_FILE}.")
endif()