[CMake] Adding an individual define to each source file of a library

George PF george.p.f at mail.com
Thu Aug 23 06:57:16 EDT 2018


Hello,

following "modern cmake" conventions I want to create a library where every single file is compiled with an individual define (-D_fileX_, required for a macro which integrates code into every translation unit).

So following this

    add_library(mylib SHARED file1.c file2.c)
    target_link_libraries(mylib PUBLIC otherlib)

I'd like to iterate over all "mylib" source file targets and modify them so that the compiler is called like this:

    cc -c -o file1.o file1.cc -D_file1_define_
    cc -c -o file1.o file2.cc -D_file2_define_
    etc.

Is this possible?


Regards

GPF


More information about the CMake mailing list