Così ho elenco di file (o valori) come questoCMake regex partita directory nella lista
set(HEADER_FILES DirA/header1.h DirA/header2.hpp
DirB/header3.h DirB/stuff.hpp)
Poi come faccio a ottenere l'elenco dei file sub solo in DIRA? Sto usando CMake 2.8.x e mi stanco partita regex:
string(REGEX MATCHALL "DirA/(.+)" DirA_FILES ${HEADER_FILES})
Ma risultato è solo copia della stringa originale come: "Dira/header1.h Dira/header2.hpp DIRB/header3.h DIRB/stuff.hpp "o niente.
Bene ancora una volta, come sempre, durante la scrittura di questa domanda ho risolto:
set(SubListMatch)
foreach(ITR ${HEADER_FILES})
if(ITR MATCHES "(.*)DirA/(.*)")
list(APPEND SubListMatch ${ITR})
endif()
endforeach()
Ma CMake è abbastanza cosa nuova per me, così come faccio avvolgere il codice in funzione? Non ho mai scritto nessuna funzione di CMake finora.