¿Cómo puedo anteponer todos los nombres de archivos en la lista con un prefijo de ruta común automáticamente? Por ejemplo tener una lista de archivos en CMakeLists.txt:¿Cómo anteponer todos los nombres de archivo en la lista con una ruta común?
SET(SRC_FILES foo1.cpp foo2.cpp)
me gustaría obtener una lista que es equivalente a esto:
${CMAKE_CURRENT_SOURCE_DIR}/foo1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/foo2.cpp
necesito esto para usar los nombres de archivo en un contexto PARENT_SCOPE , p.ej
SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${SRC_FILES} PARENT_SCOPE)
para que un CMakeFiles.txt en otro directorio aún pueda encontrar estos archivos.
En esencia, yo esperaría algo como esto (pseudo-código):
SET(FILES_TO_TRANSLATE PREPEND_ALL_NAMES(${CMAKE_CURRENT_SOURCE_DIR} ${SRC_FILES}) PARENT_SCOPE)
es que esto es fácilmente factible, o tengo a usuarios de bucle "foreach" para crear nueva lista de archivos?
A pesar de que esto funciona, la declaración de función es engañosa, ya que sólo las listas de argumentos de la función 2 var, prefijo. Sin embargo, en la práctica, el usuario debe pasar $ {CMAKE_CURRENT_SOURCE_DIR} $ {SRC_FILES} como argumento de prefijo. – bergercookie
Es cierto que requiere el tercer parámetro. Sin embargo, debe agregar el tercer argumento al frente de la lista FOREACH. –
¿Qué es "FILES_TO_TRANSLATE"? – user1754322