diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..96de2d1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,38 @@ +# 2016, Georg Sauthoff + +cmake_minimum_required(VERSION 2.8) +project(somake C CXX) + +add_library(mksh STATIC + lib/mksh/dosys.cc lib/mksh/globals.cc lib/mksh/i18n.cc lib/mksh/macro.cc + lib/mksh/misc.cc lib/mksh/mksh.cc lib/mksh/read.cc +) + +add_library(vroot STATIC + lib/vroot/access.cc lib/vroot/chown.cc lib/vroot/lock.cc + lib/vroot/open.cc lib/vroot/setenv.cc lib/vroot/utimes.cc + lib/vroot/args.cc lib/vroot/chroot.cc lib/vroot/lstat.cc + lib/vroot/readlink.cc lib/vroot/stat.cc lib/vroot/vroot.cc + lib/vroot/chdir.cc lib/vroot/creat.cc lib/vroot/mkdir.cc + lib/vroot/report.cc lib/vroot/truncate.cc lib/vroot/chmod.cc + lib/vroot/execve.cc lib/vroot/mount.cc lib/vroot/rmdir.cc + lib/vroot/unlink.cc +) + +add_executable(somake + bin/ar.cc bin/depvar.cc bin/doname.cc bin/dosys.cc + bin/files.cc bin/globals.cc bin/implicit.cc bin/macro.cc + bin/main.cc bin/misc.cc bin/nse_printdep.cc bin/parallel.cc + bin/pmake.cc bin/read.cc bin/read2.cc bin/rep.cc + bin/state.cc +) + +set_property(TARGET somake mksh vroot PROPERTY INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_link_libraries(somake + mksh vroot pthread +) + diff --git a/README.md b/README.md index 52c3473..d118df6 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,23 @@ command and hidden dependencies. 2016, Georg Sauthofff +## Build Instructions + + git clone https://github.com/gsauthof/somake.git + mkdir somake-build + cd somake-build + cmake ../somake -DCMAKE_BUILD_TYPE=Release + make + +Or to use Ninja instead of GNU Make: + + git clone https://github.com/gsauthof/somake.git + mkdir somake-build + cd somake-build + cmake ../somake -DCMAKE_BUILD_TYPE=Release -G Ninja + ninja-build + + ## Background Illumos is based on [OpenSolaris][osolaris], the now discontinued