diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2024-03-15 16:36:35 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2024-03-15 18:04:10 +0200 |
commit | c273123ed0ebaebf49994057a7fe98aae7f42c40 (patch) | |
tree | 780b117f95bd0ca34fc76d0172bd228e28f99de2 | |
parent | Update THANKS. (diff) | |
download | xz-c273123ed0ebaebf49994057a7fe98aae7f42c40.tar.xz |
CMake: Use only the generic symbol versioning with NVIDIA HPC Compiler.
It doesn't support the __symver__ attribute or __asm__(".symver ...").
The generic symbol versioning can still be used since it only needs
linker support.
-rw-r--r-- | CMakeLists.txt | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index cc626b41..1f019167 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -343,7 +343,8 @@ if(NOT WIN32) set(SYMBOL_VERSIONING_DEFAULT OFF) if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND - CMAKE_SYSTEM_PROCESSOR MATCHES "[Mm]icro[Bb]laze") + (CMAKE_SYSTEM_PROCESSOR MATCHES "[Mm]icro[Bb]laze" OR + CMAKE_C_COMPILER_ID STREQUAL "NVHPC")) # As a special case, GNU/Linux on MicroBlaze gets the generic # symbol versioning because GCC 12 doesn't support the __symver__ # attribute on MicroBlaze. On Linux, CMAKE_SYSTEM_PROCESSOR comes @@ -351,6 +352,10 @@ if(NOT WIN32) # the CMake toolchain file (not perfectly standardized but it very # likely has "microblaze" in lower case or mixed case somewhere in # the string). + # + # NVIDIA HPC Compiler doesn't support symbol versioning but + # it uses the linked from the system so the linker script + # can still be used to get the generic symbol versioning. set(SYMBOL_VERSIONING_DEFAULT "generic") elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") |