1
我剛開始使用CMake構建C項目。在CMake項目中指定項目依賴關係
我的項目目錄結構如下:
MainProject
module1/
src/
include/
CMakeLists.txt
module1/
src/
include/
CMakeLists.txt
....
moduleN/
src/
include/
CMakeLists.txt
目前,我在正確的建設我的模塊,但是,我現在希望能夠這樣,當我做一個模塊,指定模塊間的依賴關係,所有的依賴模塊都被重建(如果改變)。
我的CMakeLists.txt文件通常是這樣的:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(basetypes)
FIND_PACKAGE(Threads)
SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-pthread")
ADD_DEFINITIONS(-DE4C_THREADSAFE)
INCLUDE_DIRECTORIES ("include/")
SET(basetypes_SRCS
src/btypes_1.c
src/btypes_2.c
src/btypes_3.c
src/btypes_4.c
src/btypes_5.c
src/vfuncs.c
src/btypes_6.c
src/btypes_7.c
src/btypes_8.c
src/btypes_8.c
src/e4c.c)
ADD_LIBRARY(basetypes SHARED ${basetypes_SRCS})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "bin/")
如何修改這樣的CMakeLists文件來指定其他相關項目(S)?
此外,您訂購add_subdirectory調用的方式對於鏈接無關緊要。 target_link_libraries可以引用稍後將在其他子目錄中定義的庫。 – raek