CMAKE support has been submitted to master branch, Here is how to play with it.
Requirment: ubuntu 16.04 or above
1. sudo pip install --upgrade cmake
2. mkdir build && cd build
3. cmake ..
4. make
And Here’s an sample output
09:12:48 sunyc@wks-home build ±|v2018 ✗|→ make
FluffOS 2019.2018123101 (RelWithDebInfo)
C: '/usr/bin/cc'
C++: '/usr/bin/c++'
-- PACKAGE: compress ON
-- PACKAGE: contrib ON
-- PACKAGE: core ON
-- PACKAGE: crypto OFF
-- PACKAGE_DB USE_MYSQL: 1
-- You will link dynamically to the MySQL client library (set with -DMYSQLCLIENT_STATIC_LINKING=<bool>)
-- Searching for dynamic libraries with the base name(s) "mysqlclient_r mysqlclient"
-- mysql_config was found /usr/bin/mysql_config
-- MYSQL_LIB_DIR_LIST =
-- MySQL client environment/cmake variables set that the user can override
-- MYSQL_DIR :
-- MYSQL_INCLUDE_DIR : /usr/include/mysql
-- MYSQL_LIB_DIR : /usr/lib/x86_64-linux-gnu
-- MYSQL_CONFIG_EXECUTABLE : /usr/bin/mysql_config
-- MYSQL_CXX_LINKAGE : 1
-- MYSQL_CFLAGS : -I/usr/include/mysql
-- MYSQL_CXXFLAGS : -I/usr/include/mysql
-- MYSQLCLIENT_STATIC_LINKING :
-- MYSQLCLIENT_NO_THREADS :
-- MySQL client optional environment/cmake variables set by the user
-- MYSQL_EXTRA_LIBRARIES :
-- MYSQL_LINK_FLAGS :
-- MySQL client settings that the user can't override
-- MYSQL_VERSION : 5.7.24
-- MYSQL_VERSION_ID : 50724
-- MYSQL_LIB : /usr/lib/x86_64-linux-gnu/libmysqlclient.so
-- MYSQL_LIBRARIES : mysqlclient;pthread;z;m;rt;atomic;dl
-- PACKAGE: db ON
-- PACKAGE: develop ON
-- PACKAGE: math ON
-- PACKAGE: matrix ON
-- PACKAGE: mudlib_stats ON
-- PACKAGE: ops ON
-- PACKAGE: parser ON
-- PACKAGE: pcre ON
-- PACKAGE: sha1 ON
-- PACKAGE: sockets ON
-- PACKAGE: trim ON
-- PACKAGE: uids ON
-- ALL PACKAGES: package_compress;package_contrib;package_core;package_db;package_develop;package_math;package_matrix;package_mudlib_stats;package_ops;package_parser;package_pcre;package_sha1;package_sockets;package_trim;package_uids
-- Found Libevent: /usr/lib/x86_64-linux-gnu/libevent.so (found suitable version "2.1.8-stable", minimum required is "2.0") found components: libevent
Final Compile Flags:
Configuration for target driver
-- SOURCE_DIR = /mnt/e/src/fluffos/src
-- BINARY_DIR = /mnt/e/src/fluffos/build/src
-- INCLUDE_DIRECTORIES = /mnt/e/src/fluffos/build/src;/mnt/e/src/fluffos/src;/usr/include
-- LINK_LIBRARIES = libdriver;common;/usr/lib/x86_64-linux-gnu/libevent.so
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/e/src/fluffos/build
[ 2%] Built target portbind
[ 4%] Built target libtelnet
[ 7%] Built target make_func
[ 8%] Built target build_applies
[ 52%] Built target libdriver
[ 54%] Built target package_uids
[ 55%] Built target package_trim
[ 58%] Built target package_sockets
[ 59%] Built target package_sha1
[ 61%] Built target package_pcre
[ 63%] Built target package_parser
[ 65%] Built target package_ops
[ 67%] Built target package_mudlib_stats
[ 69%] Built target package_matrix
[ 70%] Built target package_math
[ 74%] Built target package_develop
[ 75%] Built target package_db
[ 93%] Built target package_core
[ 95%] Built target package_contrib
[ 96%] Built target package_compress
[ 98%] Built target driver
[100%] Built target preprocessor