Browse Source

Merge topic 'update_nvhpc_visibility_and_pie_flags'

ea6b29a367 NVHPC: Add support for 25.07 no-pie option
8ef90ffc52 NVHPC: Add support for COMPILE_OPTIONS_VISIBILITY

Acked-by: Kitware Robot <[email protected]>
Merge-request: !10867
Brad King 5 months ago
parent
commit
929c66c068

+ 1 - 0
Modules/Compiler/NVHPC-C.cmake

@@ -3,6 +3,7 @@ include(Compiler/NVHPC)
 
 # Needed so that we support `LANGUAGE` property correctly
 set(CMAKE_C_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c)
+set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
 
 if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11)
   set(CMAKE_C17_STANDARD_COMPILE_OPTION  -std=c17)

+ 2 - 0
Modules/Compiler/NVHPC-CXX.cmake

@@ -3,6 +3,8 @@ include(Compiler/NVHPC)
 
 # Needed so that we support `LANGUAGE` property correctly
 set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c++)
+set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
+set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
 
 if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11)
   set(CMAKE_CXX20_STANDARD_COMPILE_OPTION  -std=c++20)

+ 5 - 1
Modules/Platform/Linux-NVHPC.cmake

@@ -10,7 +10,11 @@ macro(__linux_compiler_nvhpc lang)
   set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
   set(_CMAKE_${lang}_PIE_MAY_BE_SUPPORTED_BY_LINKER YES)
   set(CMAKE_${lang}_LINK_OPTIONS_PIE "-fPIE")
-  set(CMAKE_${lang}_LINK_OPTIONS_NO_PIE "")
+  if(CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 25.07)
+    set(CMAKE_${lang}_LINK_OPTIONS_NO_PIE "-fno-pie")
+  else()
+    set(CMAKE_${lang}_LINK_OPTIONS_NO_PIE "")
+  endif()
   set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
   set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "")