我提名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