commit f071180bd96d15591d0e6b00299bb67841932ea8
parent 3199d8b26439c778d6ae9b7320533fcfc3bbeb21
Author: Bharatvaj Hemanth <bharatvaj@getsh.org>
Date: Mon, 28 Nov 2022 09:17:49 +0530
Add default 'out' directory when there is no std
Add support for 'gn'
Diffstat:
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/README b/README
@@ -10,6 +10,8 @@ fmake refrains from reading the source files.
fmake "intelligently" knows what targets to build. These can be configured in the config.h file.
+Opinionates build directory as 'out' in case of no clear build 'out' directory standard. Avoids in-source builds.
+
USAGE
-----
To avoid complexity, fmake does not fork any process to run the commands. It just prints out the right command.
diff --git a/config.h b/config.h
@@ -8,6 +8,7 @@ typedef enum {
FMAKE_AUTOCONF,
FMAKE_CONFIGURE,
FMAKE_CMAKE,
+ FMAKE_GN,
FMAKE_NPM,
FMAKE_RUST,
FMAKE_PIP,
@@ -28,7 +29,8 @@ static const maker_config_t makers[] = {
{ "BSDMakefile", FMAKE_BSD_MAKEFILE, "bmake", "" },
{ "build.ninja", FMAKE_NINJA, "ninja", "" },
{ "configure", FMAKE_CONFIGURE, "sh", "configure" },
-{ "CMakeLists.txt", FMAKE_CMAKE, "cmake", "." },
+{ "CMakeLists.txt", FMAKE_CMAKE, "cmake", "-B out" },
+{ "BUILD.gn", FMAKE_GN, "gn", "gen out" },
{ "package.json", FMAKE_NPM, "npm", "install" },
{ "Cargo.toml", FMAKE_RUST, "cargo", "install" },
{ "setup.py", FMAKE_PIP, "pip", "install ." },