diff options
author | Chris Wright <chris.wright@mqa.co.uk> | 2022-03-24 09:52:39 (GMT) |
---|---|---|
committer | Chris Wright <chris.wright@mqa.co.uk> | 2022-04-04 15:56:47 (GMT) |
commit | e9eabb0dcdb2fd8084135e02a1ad63047f8ae772 (patch) | |
tree | 89d5446f68cba13ab2eed308c21e6a493ddb95d7 /Modules/Compiler | |
parent | 88b38f531adb90af752eb5af0f90eab0ee4343ae (diff) | |
download | CMake-e9eabb0dcdb2fd8084135e02a1ad63047f8ae772.zip CMake-e9eabb0dcdb2fd8084135e02a1ad63047f8ae772.tar.gz CMake-e9eabb0dcdb2fd8084135e02a1ad63047f8ae772.tar.bz2 |
ADSP: Configure compiler in compiler module
Diffstat (limited to 'Modules/Compiler')
-rw-r--r-- | Modules/Compiler/ADSP-C.cmake | 11 | ||||
-rw-r--r-- | Modules/Compiler/ADSP-CXX.cmake | 16 | ||||
-rw-r--r-- | Modules/Compiler/ADSP.cmake | 26 |
3 files changed, 53 insertions, 0 deletions
diff --git a/Modules/Compiler/ADSP-C.cmake b/Modules/Compiler/ADSP-C.cmake new file mode 100644 index 0000000..cef3fb1 --- /dev/null +++ b/Modules/Compiler/ADSP-C.cmake @@ -0,0 +1,11 @@ +include(Compiler/CMakeCommonCompilerMacros) +include(Compiler/ADSP) + +__compiler_adsp(C) + +set(CMAKE_C90_STANDARD_COMPILE_OPTION -c89) +set(CMAKE_C90_STANDARD__HAS_FULL_SUPPORT ON) + +set(CMAKE_C99_STANDARD__HAS_FULL_SUPPORT ON) + +__compiler_check_default_language_standard(C 8.0.0.0 99) diff --git a/Modules/Compiler/ADSP-CXX.cmake b/Modules/Compiler/ADSP-CXX.cmake new file mode 100644 index 0000000..b01cab1 --- /dev/null +++ b/Modules/Compiler/ADSP-CXX.cmake @@ -0,0 +1,16 @@ +include(Compiler/CMakeCommonCompilerMacros) +include(Compiler/ADSP) + +__compiler_adsp(CXX) + +set(CMAKE_CXX98_STANDARD_COMPILE_OPTION -c++) +set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION -g++) +set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON) + +if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.3.0.0) + set(CMAKE_CXX11_STANDARD_COMPILE_OPTION -c++11) + set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION -c++11 -g++) + set(CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT ON) +endif() + +__compiler_check_default_language_standard(CXX 8.0.0.0 98) diff --git a/Modules/Compiler/ADSP.cmake b/Modules/Compiler/ADSP.cmake new file mode 100644 index 0000000..2633997 --- /dev/null +++ b/Modules/Compiler/ADSP.cmake @@ -0,0 +1,26 @@ +include_guard() + +set(CMAKE_EXECUTABLE_SUFFIX ".dxe") + +macro(__compiler_adsp lang) + set(CMAKE_${lang}_OUTPUT_EXTENSION ".doj") + + set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "-flags-link" " ") + set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP ",") + + set(_CMAKE_${lang}_ADSP_FLAGS "-proc=${CMAKE_SYSTEM_PROCESSOR}") + + set(CMAKE_${lang}_COMPILE_OBJECT + "<CMAKE_${lang}_COMPILER> ${_CMAKE_${lang}_ADSP_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>") + + set(CMAKE_${lang}_CREATE_STATIC_LIBRARY + "<CMAKE_${lang}_COMPILER> ${_CMAKE_${lang}_ADSP_FLAGS} -build-lib -o <TARGET> <CMAKE_${lang}_LINK_FLAGS> <OBJECTS>") + + set(CMAKE_${lang}_LINK_EXECUTABLE + "<CMAKE_${lang}_COMPILER> ${_CMAKE_${lang}_ADSP_FLAGS} <FLAGS> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") + + unset(_CMAKE_${lang}_ADSP_FLAGS) + + set(CMAKE_${lang}_CREATE_SHARED_LIBRARY) + set(CMAKE_${lang}_CREATE_MODULE_LIBRARY) +endmacro() |