diff options
author | Chris Wright <chris.wright@mqa.co.uk> | 2022-03-24 11:35:40 (GMT) |
---|---|---|
committer | Chris Wright <chris.wright@mqa.co.uk> | 2022-04-04 16:05:09 (GMT) |
commit | 87142bbd5f94de9591b0a5531e427a5f491f56fd (patch) | |
tree | 51605139a9795d58fadc2b2a2fe693795cebe41a /Modules/Platform/ADSP-Determine.cmake | |
parent | e9eabb0dcdb2fd8084135e02a1ad63047f8ae772 (diff) | |
download | CMake-87142bbd5f94de9591b0a5531e427a5f491f56fd.zip CMake-87142bbd5f94de9591b0a5531e427a5f491f56fd.tar.gz CMake-87142bbd5f94de9591b0a5531e427a5f491f56fd.tar.bz2 |
ADSP: Add dedicated platform module
Diffstat (limited to 'Modules/Platform/ADSP-Determine.cmake')
-rw-r--r-- | Modules/Platform/ADSP-Determine.cmake | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Modules/Platform/ADSP-Determine.cmake b/Modules/Platform/ADSP-Determine.cmake new file mode 100644 index 0000000..6ccf1ea --- /dev/null +++ b/Modules/Platform/ADSP-Determine.cmake @@ -0,0 +1,26 @@ +if(IS_DIRECTORY "$ENV{ADSP_ROOT}") + file(TO_CMAKE_PATH "$ENV{ADSP_ROOT}" CMAKE_ADSP_ROOT) +endif() + +macro(_find_adsp_root path_pattern) + set(CMAKE_ADSP_ROOT "") + set(_adsp_root_version "0") + file(GLOB _adsp_root_paths "${path_pattern}") + foreach(_current_adsp_root_path IN LISTS _adsp_root_paths) + string(REGEX MATCH "([0-9\\.]+)/?$" _current_adsp_root_version "${_current_adsp_root_path}") + if(_current_adsp_root_version VERSION_GREATER _adsp_root_version) + set(CMAKE_ADSP_ROOT "${_current_adsp_root_path}") + set(_adsp_root_version "${_current_adsp_root_version}") + endif() + endforeach() +endmacro() + +if(NOT CMAKE_ADSP_ROOT) + _find_adsp_root("C:/Analog Devices/CrossCore Embedded Studio *") +endif() +if(NOT CMAKE_ADSP_ROOT) + _find_adsp_root("C:/Program Files (x86)/Analog Devices/VisualDSP *") +endif() +if(NOT IS_DIRECTORY "${CMAKE_ADSP_ROOT}") + message(FATAL_ERROR "ADSP: could not find CCES/VDSP++ install directory ${CMAKE_ADSP_ROOT}") +endif() |