Package: miao-make
MiaoA Python script for generating CMake files, with a user-friendly, Cargo-like command line interface. (UNDER CONSTRUCTION)TODO:☑ miao new☑ --language☑ --standard☐ --lib☑ miao add☑ --include_dirs☑ --lib_dirs☑ miao build☑ miao run☑ miao clean☑ miao help☐ miao init☐ --lib☐ miao remove☐ miao config☐ --default_language☐ --default_language --standard☐ --default_include_dirsInstallation# The PyPI version may be outdated.# Please consider using `git clone` to# obtain the latest version.pip3installmiao-makeUsagemiao help$miaohelpMiaoVersion20230626addAdddependencies.Use`--include_dirs`toaddheaderfiledirectories.Use`--lib_dirs`toaddlibraryfiledirectories.buildCompilethecurrentproject.cleanRemovethebuilddirectory.config...find_project_roothelpPrinthelp.initnewCreateanewproject.remove...runRunthecurrentproject.versionPrintversioninfoandexit.miao new- Creating a new project# Create a new project$miaonewmy_projectCreatedmy_projectAddedCMakelists.txt(debug)`set(CMAKE_CXX_STANDARD17)file(GLOB_RECURSESOURCES"src/*.cpp")`Created`src/`directoryAddedmain.cppCreated`build/`directory# The `--language` and `--standard` flags$miaonew'hello world'--languagecpp--standard20Createdhello_worldAddedCMakelists.txt(debug)```set(CMAKE_CXX_STANDARD20)file(GLOB_RECURSESOURCES"src/*.cpp")```Created`src/`directoryAddedmain.cppCreated`build/`directorymiao add- Adding librariesConfigure header files withmiao add LIB --include_dirs=DIR1,DIR2$cdmy_project/


$miaoaddncurses--include_dirs=$(brew--prefixncurses)/include
Addingheaderdirectories['/usr/local/opt/ncurses/include']Adding('ncurses',)for`my_project`and library files with--lib_dirs=$ miao new tui && cd tui/  # Created project called `tui`
$ miao add ftxui-dom ftxui-screen ftxui-component --include_dirs=/usr/local/include,/usr/local/include/ftxui --lib_dirs=/usr/local/lib

Adding ('ftxui-dom', 'ftxui-screen', 'ftxui-component') for `tui`
CMakeLists.txt
find_library(ftxui-dom NAMES ftxui-dom PATHS /usr/local/lib)
find_library(ftxui-screen NAMES ftxui-screen PATHS /usr/local/lib)
find_library(ftxui-component NAMES ftxui-component PATHS /usr/local/lib)
target_include_directories(tui.exe PRIVATE /usr/local/include /usr/local/include/ftxui)
target_link_libraries(tui.exe ${ftxui-dom} ${ftxui-screen} ${ftxui-component})Run$miaorunroot:/Users/4nji/dev/python/miao/src/my_projectpwd:/Users/4nji/dev/python/miao/src/my_projectEntering/Users/4nji/dev/python/miao/src/my_project/build
--TheCcompileridentificationisAppleClang13.0.0.13000029
--TheCXXcompileridentificationisAppleClang13.0.0.13000029
--DetectingCcompilerABIinfo
--DetectingCcompilerABIinfo-done--CheckforworkingCcompiler:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc-skipped
--DetectingCcompilefeatures
--DetectingCcompilefeatures-done--DetectingCXXcompilerABIinfo
--DetectingCXXcompilerABIinfo-done--CheckforworkingCXXcompiler:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++-skipped
--DetectingCXXcompilefeatures
--DetectingCXXcompilefeatures-done--Configuringdone(1.5s)--Generatingdone(0.0s)--Buildfileshavebeenwrittento:/Users/4nji/dev/python/miao/src/my_project/buildSuccessSuccessfullyexecutedthecommand:['cmake','/Users/4nji/dev/python/miao/src/my_project'][50%]BuildingCXXobjectCMakeFiles/my_project.exe.dir/src/main.cpp.o[100%]LinkingCXXexecutablemy_project.exe[100%]Builttargetmy_project.exeSuccessSuccessfullyexecutedthecommand:['make']===========================2023-06-2419:56:20.228994==========================Running/Users/4nji/dev/python/miao/src/my_project/build/my_project.exe===============================================================================Hello,world!

Processfinishedwithexitcode0Cleaning up$ miao clean
Removing /Users/Me/dev/python/miao/src/hello_world/build