${LIBNAME}_srcs
次のようにして、各値への絶対パスを挿入できます。
foreach(${LIBNAME}_src ${${LIBNAME}_srcs})
list(APPEND abs_${LIBNAME}_srcs ${CMAKE_SOURCE_DIR}/${${LIBNAME}_src})
endforeach()
add_executable(${TEST} ${abs_${LIBNAME}_srcs})
ここで結論を急ぐと、あなたがしていることは少し変わっているように見えます。
通常、add_executable
呼び出しは、ソース ファイルのリストが収集されている場所 (通常は同じディレクトリ) で行われます。
ソース変数${LIBNAME}_srcs
に名前を付けたという事実からすると、これらのソースから既にライブラリを作成していると思います。もしそうなら、すべてのライブラリのソースを実行可能ファイルに再コンパイルするよりも、そのライブラリを test サブディレクトリにリンクする方がよいでしょう。
何かのようなもの:
add_executable(${TEST} test_main.cpp)
target_link_libraries(${TEST} ${LIBNAME})