Ho un file CMakeLists.txt che assomiglia a questo:Come creare file oggetto solo una volta con cmake?
add_executable(exec1 exec1.c source1.c source2.c source3.c)
add_executable(exec2 exec2.c source1.c source2.c source3.c)
add_executable(exec3 exec3.c source1.c source2.c source3.c)
Il source1.o source2.o source3.o file occupano un sacco di tempo per costruire, e dal momento che sono comuni a tutti gli eseguibili, Voglio che ognuno di loro venga costruito una sola volta. Il comportamento corrente per cmake, tuttavia, è di ricostruirli separatamente per ciascun obiettivo exec, il che rappresenta un'inutile duplicazione degli sforzi.
C'è un modo per dire a cmake di creare file oggetto solo una volta?
Prenditi cura di questo approccio. Le librerie condivise potrebbero essere più amichevoli se ci sono molti exe coinvolti http://blog.flameeyes.eu/2008/01/21/what-to-do-with-shared-code – richq
Sì, certo. Penso che ho appena pensato che l'OP voleva che il codice fosse duplicato in ognuno degli eseguibili. – JesperE