using cmake causing rdynamic in link.txt

Can someone point out why cmake is introducing -rdynamic in linker file? link.txt.

This is causing nvcc linker to file. I know cmake is causing it because if I dont use cmake (shell script), it does not exhibit this problem…
Cmake usage option:

CMakeLists.:

set (proj_name ${CMAKE_PROJ_NAME})
project (${proj_name})

The version number.

#set (test_VERSION_MAJOR 1)
#set (test_VERSION_MINOR 0)

set (CMAKE_CXX_FLAGS "
-L/usr/lib64
-L/usr/lib64/openmpi/lib/
-lmpi_cxx -lnccl -lmpi
-I/usr/include/openmpi-x86_64/
-I/usr/local/cuda-12.6/targets/x86_64-linux/include/ ")

#set(CMAKE_CXX_LINK_FLAGS “${CMAKE_CXX_LINK_FLAGS} Xlinker --no-export-dynamic”)
#set(CMAKE_CUDA_FLAGS “${CMAKE_CUDA_FLAGS} -Xlinker --no-export-dynamic”)

set(CMAKE_CXX_COMPILER nvcc)
include_directories(“${PROJECT_BINARY_DIR}”)
add_executable(${proj_name} ${proj_name}.cpp)
#target_link_options(${proj_name} PRIVATE “Xlinker --no-export-dynamic”)

link.txt:

cat find . -name link.txt
nvcc -L/usr/lib64 -L/usr/lib64/openmpi/lib/ -lmpi_cxx -lnccl -lmpi -I/usr/include/openmpi-x86_64/ -I/usr/local/cuda-12.6/targets/x86_64-linux/include/ -rdynamic “CMakeFiles/ex-1-create-comm.dir/ex-1-create-comm.o” -o ex-1-create-comm

Shell script w/o using cmake (works):

set -x
FILENAME=ex-1-create-comm
EXT=cpp
COMPILER=/usr/lib64/openmpi/bin/mpicxx
COMPILER=nvcc
LOGDIR=log
mkdir -p $LOGDIR
rm -rf $FILENAME.out
$COMPILER
-L/usr/lib64 -L/usr/lib64/openmpi/lib/
-lmpi_cxx -lnccl -lmpi -I/usr/include/openmpi-x86_64/
$FILENAME.$EXT -o $FILENAME.out 2>&1 | tee $LOGDIR/$FILENAME.compile.log

if [[ -f $FILENAME.out ]] ; then
LD_LIBRARY_PATH=/usr/lib64/openmpi/lib/ OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
mpirun -np 2 ./$FILENAME.out -allow-run-as-root 2>&1 | tee $LOGDIR/$FILENAME.run.log
fi
root@ccs-aus-j08-01:~/extdir/gg/git/codelab/gpu/cuda/nccl/grok#

The definition of the compiler (i.e. setting the variable CMAKE_CXX_COMPILER) must be done before the project() command.