0
我想你的幫助,因爲我是CMake的新手。假設我有一個可執行目標T,它取決於源文件A.c,B.cpp和c.cpp。我想用特定的標誌編譯A.c並創建目標文件A.o.爲了簡單起見,我們假設B和C將用g ++編譯成相同的一組標誌,並且相應的目標文件應該被創建爲B.o C.o.然後我可以鏈接這些對象文件並用gcc生成T。我知道我可以用普通的makefile在幾個步驟中完成它。基本上,我無法用特定標誌編譯A.c,而使用相同標誌編譯其餘的文件。我不知道CMake應該怎麼做?如何使用CMake爲單個目標編譯具有不同選項的不同源文件?
add_executable(T A.c B.cpp C.cpp)
我知道的CMake提供target_compile_options()
但我不如何使用它我的情況?我想它可以設置爲目標的全局標誌,但不是爲了我的目標!
我最終什麼事做的是創造了交流的另一個庫的目標,但是在[這裏](https://cmake.org/Wiki/CMake/Tutorials/描述的對象參數傳遞Object_Library)與所需的選項和標誌。對於實際的目標,我可以使用'add_executable(T B.cpp C.cpp $)'。因此,B和C將與其他選項一起編譯,然後將與A.o.鏈接。 –
Aref