Je dispose d'un fichier CMakeLists.txt qui ressemble à ceci:Comment créer des fichiers objet une seule fois avec 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)
Les fichiers source1.o source2.o source3.o prennent vraiment beaucoup de temps à construire, et comme ils sont communs à tous les executables, Je veux que chacun d'eux ne soit construit qu'une seule fois. Le comportement actuel de cmake, cependant, est de les reconstruire séparément pour chaque cible exec, ce qui est une duplication inutile de l'effort.
Existe-t-il un moyen de dire à cmake de ne créer des fichiers objets qu'une seule fois?
Faites attention avec cette approche. Les bibliothèques partagées peuvent être plus conviviales s'il y a beaucoup d'exes impliqués http://blog.flameeyes.eu/2008/01/21/what-to-do-with-shared-code – richq
Oui, bien sûr. Je pense que j'ai juste supposé que l'OP voulait que le code soit dupliqué dans chacun des exécutables. – JesperE