PWMake is a simple C/C++ program build system. Basic by Ninja. No spend fuck time to make program. Do you hate Cmake? If you are hate too, use it is a good idea. It's lite and easy.
- Install new clang or gcc and ninja. Make sure you compiler support C++23
- Open the bootstrap folder and find build.ninja.linux. Remember modify your compiler paths.
and copy it in root of program folder. Remember to rename it as
build.ninja. - Run
ninjato bootstrap build PWMake. - Open the build folder. You will find the PWMake execute file.
- Install new clang and ninja. Use homebrew is good idea. The system clang is not support C++23.
- Open the bootstrap folder and find build.ninja.macos. Remember modify your compiler paths.
and copy it in root of program folder. Remember to rename it as
build.ninja. - Run
ninjato bootstrap build PWMake. - Open the build folder. You will find the PWMake execute file.
- Install MSYS2 and MinGW. Yes, MSVC is not support. PWMake hate MSVC.
- Open the MSYS2 Terminal. Use
pacman -S mingw-w64-clang-x86_64-toolchainto install clang. - Install Ninja too. Use
pacman -S ninja. - Open the bootstrap folder and find build.ninja.windows. Remember modify your compiler paths.
and copy it in root of program folder. Remember to rename it as
build.ninja. - Run
ninjato bootstrap build PWMake. - Open the build folder. You will find the PWMake execute file.
# PWMake 1.0
$bool($value, true)
:if(value)
print("hello world")
:fi
@compiler(compiler_path)
language_version("c++23")
standard_library("libc++")
compiler_debug()
link_param("-Wl", "-rpath", "/opt/homebrew/lib")
;
@files("source")
recursion_folder("src", ".cpp")
;
@project("pwmake", "binary")
source_files("source")
;
- Variable system. Support bool and string
- Support branch sentence. Use if, else, fi.
- Support foreach and recursion file in folder.
- Use Group to manager you files.
- Use config.pwm to avoid read build file.