Ho un progetto in CMake con alcuni file generati con il generatore python da file XML. Non riesco a specificare tutti i file generati da questo generatore in CMakeLists.txt, quindi per questo utilizzo il globbing dei file.Come fare la riconfigurazione di CMake dipende dal file personalizzato?
Il problema è che quando aggiorno i miei file XML o sorgenti del generatore (che si trovano nello stesso repository) mi piacerebbe avere riconfigurato il mio sistema di build in modo che i file modificati vengano presi in considerazione durante la ricostruzione del codice (tramite make ad esempio).
E 'possibile fare in modo che CMake tratti alcuni file come quelli che trattano i file CMakeLists.txt e che faccia rigenerare il sistema di generazione quando questi file vengono modificati?
Fa riconfigurare il progetto ma c'è un altro problema. Sto usando add_custom_command e add_custom_target che attivano la rigenerazione dei file, ma questi obiettivi vengono eseguiti in un momento diverso da quello della riconfigurazione. Pensi che sia possibile eseguire la riconfigurazione subito dopo la creazione di tali target e quindi CMake potrebbe rilevare le modifiche? Sono sicuro al 99% che sia impossibile e penso che sarò costretto a usare execute_command invece di add_custom_command ma se si conosce la risposta l'apprezzerei. – Netrix
@Netrix Stai mescolando i tempi. I comandi di 'add_custom_target' e' add_custom_command' sono eseguiti in fase di compilazione (ad esempio quando si esegue 'make'). Questo non è affatto correlato al tempo di configurazione di CMake (quando CMake è in esecuzione). Una volta avviato il tempo di costruzione (ad esempio, i comandi personalizzati sono in esecuzione), CMake non è più presente nell'immagine: la sua esecuzione è già terminata. – Angew
Ho pensato così. Quindi suppongo che solo la soluzione sarà quella di generare tutti i file nel tempo di configurazione con execute_process e quindi file (GLOB) quei file e aggiungere alla destinazione. Ho ragione? – Netrix