我提名cmake,尤其是大寫版的。cmake雖然是個構建指令碼,但有函式、宏,if for while等語句,能寫出非常復雜的程式碼。程式碼像這樣:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(XXX)
SET(CMAKE_BUILD_TYPE Release)
SET(CMAKE_CXX_FLAGS "-std=c++11 -O2 -mfloat-abi=hard -mfpu=neon")
#micro
#ADD_DEFINITIONS( -DENABLE_OPENCV -D__SDK4__)
#include and libs path
SET(INCLUDE_PATH . ../ /usr/include/eigen3 /srv/boost_1_63_0 )
SET(LINK_PATH /srv/boost_1_63_0/stage/lib )
INCLUDE_DIRECTORIES(${INCLUDE_PATH})
LINK_DIRECTORIES(${LINK_PATH} )
#source files in dir
#dir CommonH
AUX_SOURCE_DIRECTORY(filepath name)
#execuable
ADD_EXECUTABLE(XX mainV2.cpp ${name} )
TARGET_LINK_LIBRARIES(XX libnames)
作為對比,我開發的C++構建指令碼fmake長這樣:
name = helloExe
summary = test exe
outType = exe
srcDirs = cpp/
incDir = cpp/
depends = helloLib 1.0.0