我有一個C程序,由一名離開的開發人員傳給我。我正在試圖弄清楚他究竟在幹什麼,並將軟件重新安排成更合乎邏輯的東西,這樣我可以更輕鬆地構建它。我使用CMake來構建,而他正在使用Make。構建C程序(用於CMake構建)的最佳實踐
有一個src /文件夾中有幾個源文件,其中有4個main()方法。帶有main()方法的文件位於更多的文件中,就好像它們是實用程序或工具一樣。這種打擊讓我覺得很奇怪,因爲他還有一個lib文件夾,裏面還有一些其他東西,它們的構建和看起來更像庫。我是否應該將這些主要方法分解爲「驅動程序」源文件,並將這些文件中定義的方法設置爲其他庫?如果我這樣做,我知道如何讓CMake去尋找一個庫,並建立並鏈接到驅動程序執行。
如果在src文件夾中建立這些「庫」源文件是可以接受的,我應該只設置CMake來一次性構建該文件夾中的所有內容,還是應該爲at創建一個目錄結構至少有一些邏輯分離?
就像一個想法,這裏是當前目錄結構
project
.../src
......file1.c
......file2.c <-has a main() as well as other methods
......file3.c
......file4.c <- has a main() as well as other methods
......file5.c
.../lib
....../lib1
........./file1.c <-references top level include folder files
........./file2.c
....../lib2
........./file1.c <-refs top level and local include files
........./file2.c
........./file2.h
.../scripts
.../include
.
.
.
關於在重組的CMake此版本或配置最佳作法的任何建議表示讚賞。