Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 多环境随意切换工具软件 PyMake v7.5.5
Qt 6.11 is out! See what's new in the release blog

多环境随意切换工具软件 PyMake v7.5.5

Scheduled Pinned Locked Moved Chinese
1 Posts 1 Posters 1.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dr. Abel
    wrote on last edited by
    #1

    开发的初衷
    接触Qt开发的时候在做嵌入式,通常会编译两套程序,一套桌面的,一套嵌入式的。开始的时候也没有什么难过,Qt Creator都把环境配置好了,编译就行了。后来,我开发了一套库LibQQt,给应用程序提供通用框架。当我要编译Windows桌面、Android手机、Android模拟器,Linux桌面、嵌入式Linux,macOS桌面、iOS模拟器,等等多个目标平台的时候,问题来了,我要开多个IDE进行编译,一个IDE编译多个库的时候就需要等待。痛苦不堪。
    Qt强大的跨平台能力,一个IDE窗口无法发挥他的全部能力。
    怎么办呢?我去寻找了多个工程管理工具,cmake、scoins、xmake,他们和qmake一样,甚至还比不上qmake,都需要配置复杂的环境然后开启编译。
    自己开发一个吧。定立了程序目标,能够配置多个环境,可以应对多个环境的并行编译。

    开发程序的过程
    说起来容易,可实施起来,还是蛮费劲的,我从2017年9月决定开发这款工具,一直开发到现在,2019年4月。历时一年半还多,已经开发到第七代,才良好的达到了我的目标。
    先说第一代,先把cmake支持起来,因为cmake的环境配置最简单,我决定使用pymake.json作为保存环境的文件。文件里加入几个list,分别存储path,env变量,命令。第一代只能维持一次编译,只能保存一个环境。可是,已经保存了一个环境不是吗。千里之行始于足下,已经开始了!
    使用着第一代产品,然后开发第二代,路途还遥远。我升级了保存命令的部分代码,先能运行多个命令再说。在开发的一开始我就使用了${}引用变量。
    可能是太过于追求简化命令了,第三代,我重新设计了保存环境的数据结构,使用起environ字段,继续加大简化命令,结果导致命令简化到只有一个个单词在那里,多步命令,多步单词,谁都看不明白命令组里到底保存了什么。
    我直接跳过了第四代,开发第五代。^^
    第五代沿用了第三代的设计,在数据结构上继续强化对${}变量引用符的使用。可是我纠结于到底是把path+放在environ的外边还是里边,所以第五代我做起了测试,先把path+放在environ字段的外边。数据结构达到了空前的复杂,我写代码写到了飘忽,这可是用python开发啊,竟然解析数据结构解析到飘忽。需要配置的字段太多了,没有人能记得住需要配置哪些字段。
    我急忙开始开发第六代,仔细设计了保存环境的数据结构。我保留path-assemblage字段、environ字段、command字段,我正式把path+字段移动进了environ里,并且属于确定的某一个环境,每个环境都有自己的path+字段,并且environ字段里有current字段,表示默认使用的环境。我规范了对${}的使用,只能从下往上顺序解开。command字段里也开始保存命令组,每组命令由多步命令组成,可以存很多组这样的命令。
    第六代还是比较满意的,我2018年使用了一年,效果不错。我可以在确定而且独立的环境下,在确定的位置执行我的bat或者sh脚本;我可以在bat里导出我保存的环境,影响当前的bat脚本的环境,这大大简化了bat里对环境的设置和清理工作。但是第六代还是存在不足,功能比较少。
    最近两个月我深度的优化了代码,开始开发第七代,增加了很多使用很充分的功能。以下仔细介绍。

    开发成果
    讲讲第七代的强大功能吧,他能够在独立的环境里执行PyMake保存的命令和系统命令,可以临时的使用某个保存的环境执行命令,也可以在bat、sh文件当中导出保存的环境进行使用,还可以在当前的命令行里使用pyenv、pyvc、pycmd使用保存的环境和命令!太强大了。
    哦,程序的名字叫PyMake,命令行里使用pymake、pymm、mm等别名,我使用install脚本进行安装。
    PyMake天生就是跨平台的,使用Python进行开发,不依赖第三方包,只使用默认包!安装即可使用,卸载即可无效!
    回想读大学的时候,随意向系统Path里添加路径的历史吧,回想2017年希望配置复杂、多变的环境而看着命令行束手无策的感受吧。
    现在好了,复杂的环境、多变的环境,都能胜任了。我把环境保存起来了!随时启用!

        介绍下PyMake的提供的命令和脚本。
        先说说脚本,PyMake7提供了mm、pymm、pymake、pyenv、pyvc、pycmd、pyinfo等程序分别提供不同的具体的功能,install.bat即可全部安装,unstall.bat即可卸载干净。在Unix平台上,安装器和卸载器后缀名为.sh。
        再说说命令,pymake是主程序,所有的重要的环境配置命令都由他提供。
        现在根据脚本不同分别进行介绍,用户安装后可以使用全部bat或者sh,稍微注意下Unix下,使用风格和Windows有点区别。
        使用之前,请执行一下,观察下命令行,随后需要编辑下自己的环境,或者从我提供的环境里port出自己的环境,配置一次环境,以后就光使用。
        pymake:
        source命令:切换环境文件的目录,切换环境文件。一般一个操作系统使用一个环境文件,.json后缀的文件,在我提供的example里面有很多.json环境文件,用户可以仿照配置自己的环境,port命令可以导出很具体的环境哦,这一个环境文件,保存了很多环境,互相冲突或者兼容,都知道的,多目标编译的时候,需要使用不同的环境,环境之间是冲突的。
        set命令:在设定完成环境文件后,使用set命令进行具体的设置,包括设置path、env内容、command内容。一般我会记事本2编辑.json文件,那样更方便,当然set命令也很方便。set current env非常方便。
        list/show命令:查看path、env、cmd的配置,非常beautiful。环境多的记不清了就list以下。
        env命令:和上边的命令一样的性质,只是查看env的具体配置。我特别喜欢这个命令,我最关注这个命令。别名environ
        see命令:查看用户保存的命令集。有cmd、ss两个别名。
        clean命令:pymake执行用户程序时会生成*_effect.bat/*_unset.bat/*_exec.bat,临时生成,如果用户程序执行崩溃,这些bat就会留下,clean命令可以准确的清理他们。pymakev8我会把这些bat移动到确定的目录下,pymake7这些bat跟随用户环境文件目录移动。
        here命令:pymake执行用户程序会在默认执行目录下执行,这个目录可以用get default exec root命令获取到,here命令则迫使pymake在当前目录下执行用户程序。pymake的很多命令都支持here参数。别名hh。
       export命令:将用户保存的env,依照环境名导出。不是环境文件哦,里边有好多环境,他们各有各的名字,pymake能够找到他们依照名字导出给用户使用。
        type命令:将用户保存的cmd,依照命令名导出。pymake可以帮助用户保存一些命令,命令组,各有名字,可以按照名字导出给用户使用。
         exec命令:执行用户输入的命令。别名cc。包括pymake保存的,包括系统的,都可以执行,只要当前环境里找得到的,都可以执行。
         use命令:以上几个命令都是在current环境下执行的,也就是pymake里保存的用户默认环境。use命令促使pymake在用户指定的保存的环境下工作。这个用途很广泛,可以使用某个环境导出env、cmd,可以使用某个环境查看环境文件内的各项数据。
        have/has命令:查看环境文件中是否存在某个配置,path、env、cmd等都可以查看,返回True或者False。
        get命令:包含获取当前env,即默认env;获取默认执行目录;获取所有信息,包括环境文件所在、程序所在、程序INI所在,source/program可以获取到具体的值,返回字串。
         initialize:用户进行了某些非法操作,pymake没处理上,initialize即可。initialize会把用户环境目录重置到默认位置。然后用户继续设置到自己的环境文件目录即可。
        port/translate命令:这是个重要的命令。用户自己有一些环境,别人有一些环境,用户和别人之间希望互相使用下环境,可是用户不愿意直接使用,而且路径还有一点分歧。env的配置是可以通用的,也有特用的。用户可以使用port/translate这一对命令在自己和别人的环境文件之间进行数据传输。包括传输path、传输env、传输cmd。可以具体到传输某个项。这是一个很beautiful的命令,显示很美观、直观,使用对比视图。
        -h,--version:默认命令。
       pymm,mm:这两个脚本是pymake的别名脚本,用户安装后也可以使用这两个命令调用以上命令。
       pyenv:
       open/close命令:用户使用pyenv有非常大的好处,他可以在当前执行器下,使用pymake保存的环境影响当前执行器的环境。并且可以开启、可以关闭。
        pyvc:
        open/close命令:这个命令和上边那个是一样的,可是,这个可以启动vc环境,而且用户可以设定使用哪个vc环境,使用什么目标都可以轻易设置,已经被用户保存起来了!
        pycmd:
         这个脚本,是对pyenv命令的封装,他允许在当前执行器环境里,使用用户指定或者默认的环境执行用户保存的或者系统的命令,并且影响当前环境。
        pyinfo:
        这个脚本还在开发之中,为用户提供丰富的PC信息等。
        这几个脚本的目标是把pymake保存的环境、命令,应用于当前执行器。
       历时1-2年,如此之久,开发出这样的多环境配置器,随意切换环境,实在是了不起的建筑,我自己都觉得自己了不起。^^
       说了这么多命令和脚本,看看PyMake的庐山真面目。
    
    

    程序截图

    
    命令行:
    R:\Develop\b0-toolkits\a0-compiler\PyMake\test>mm
    Usage:
      pymake7.py source
      pymake7.py source file [ <source-path-file> ]
      pymake7.py source root [ <source-root-path> ]
      pymake7.py source config [ --add  ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py source config [ --del  ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py source config [ --mod  ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py source config [ --switch  ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py source config [ --restore  ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py source config [ --show ] [ <config-file-name> ] [<new-config-file-name>]
      pymake7.py -------------------------------------------------------------
      pymake7.py set path ( --add | --del | --mod ) <name> [ <value> ]
      pymake7.py set env [ path ] ( --add | --del | --mod ) <group> <name> [ <value> ]
      pymake7.py set cmd (--add | --del | --mod ) <name> [ <values> ... ]
      pymake7.py set cur env <name>
      pymake7.py list [ path | env | cmd ] [<name>] [-r | --raw] [-a | --all]
      pymake7.py env [<name>] [-p | --path] [-v | --var] [-r | --raw] [-a | --all]
      pymake7.py -------------------------------------------------------------
      pymake7.py here clean
      pymake7.py here export [ <env-name> ] [ to <file-name> ]
      pymake7.py here type [ <cmd-name> ]  [ to <file-name> ]
      pymake7.py here use <env-name> exec [ <command-names> ... ]
      pymake7.py here exec [ <command-names> ... ]
      pymake7.py here use <env-name> cc [ <command-names> ... ]
      pymake7.py here cc [ <command-names> ... ]
      pymake7.py -------------------------------------------------------------
      pymake7.py clean [ here | hh ]
      pymake7.py export [ here | hh ] [ <env-name> ] [ to <file-name> ]
      pymake7.py type [ here | hh ] [ <cmd-name> ] [ to <file-name> ]
      pymake7.py exec [ here | hh ] [ <command-names> ... ]
      pymake7.py cc [ here | hh ] [ <command-names> ... ]
      pymake7.py use <env-name> type [ here | hh ] [ <cmd-name> ]  [ to <file-name> ]
      pymake7.py use <env-name> exec [ here | hh ] [ <command-names> ... ]
      pymake7.py use <env-name> cc [ here | hh ] [ <command-names> ... ]
      pymake7.py -------------------------------------------------------------
      pymake7.py set current env <name>
      pymake7.py set default env <name>
      pymake7.py show [ path | env | cmd ] [<name>] [-r | --raw] [-a | --all]
      pymake7.py environ [<name>] [-p | --path] [-v | --var] [-r | --raw] [-a | --all]
      pymake7.py see [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all]
      pymake7.py ss [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all]
      pymake7.py cmd [ <cmd-name> ] [ use <env-name> ] [-r | --raw] [-a | --all]
      pymake7.py use <env-name> see [ <cmd-name> ] [-r | --raw] [-a | --all]
      pymake7.py use <env-name> ss [ <cmd-name> ] [-r | --raw] [-a | --all]
      pymake7.py use <env-name> cmd [ <cmd-name> ] [-r | --raw] [-a | --all]
      pymake7.py -------------------------------------------------------------
      pymake7.py hh clean
      pymake7.py hh export [ <env-name> ] [ to <file-name> ]
      pymake7.py hh type [ <cmd-name> ]  [ to <file-name> ]
      pymake7.py hh use <env-name> exec [ <command-names> ... ]
      pymake7.py hh exec [ <command-names> ... ]
      pymake7.py hh use <env-name> cc [ <command-names> ... ]
      pymake7.py hh cc [ <command-names> ... ]
      pymake7.py -------------------------------------------------------------
      pymake7.py have path <name> [-r | --raw]
      pymake7.py have env [ path ] [ <group> ] [ <name> ] [-r | --raw]
      pymake7.py have cmd <name> [-r | --raw]
      pymake7.py has path <name> [-r | --raw]
      pymake7.py has env [ path ] [ <group> ] [ <name> ] [-r | --raw]
      pymake7.py has cmd <name> [-r | --raw]
      pymake7.py -------------------------------------------------------------
      pymake7.py get cur env
      pymake7.py get current env
      pymake7.py get default env
      pymake7.py get env
      pymake7.py get env ( cur | current | default )
      pymake7.py -------------------------------------------------------------
      pymake7.py program
      pymake7.py program root
      pymake7.py program file
      pymake7.py program configure
      pymake7.py program configure root
      pymake7.py program configure file
      pymake7.py get all
      pymake7.py get all ( info | information )
      pymake7.py get all ( stat | status )
      pymake7.py get default exec root
      pymake7.py get exec root [ default | here ]
      pymake7.py initialize
      pymake7.py -------------------------------------------------------------
      pymake7.py port
      pymake7.py port root [ <source-config-root> ] [ to <target-config-root> ]
      pymake7.py port config [ <source-config-file> ] [ to <target-config-file> ]
      pymake7.py port file [ <source-path-file> ] [ to <target-path-file> ]
      pymake7.py port reset
      pymake7.py translate
      pymake7.py translate ( path | env | cmd )
      pymake7.py translate ( path | env | cmd ) <key-name> [ to <target-key-name> ] [ -f | --force ]
      pymake7.py translate ( path | env | cmd ) [ -a | --all ] [ -f | --force ]
      pymake7.py translate all [ -a | --all ] [ -f | --force ]
      pymake7.py translate section
      pymake7.py translate section <section-name> [ to <target-section-name> ] [ -f | --force ]
      pymake7.py translate section [ -a | --all ] [ -f | --force ]
      pymake7.py -------------------------------------------------------------
      pymake7.py (-h | --help)
      pymake7.py --version
    R:\Develop\b0-toolkits\a0-compiler\PyMake\test>
    
    命令部1:
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm initialize
    SOURCE        : R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    SOURCE ROOT   : R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    SOURCE CONFIG : pymake.json
    successed
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm get all
    CURRENT ENVIRON macOS
    SOURCE        : R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    SOURCE ROOT   : R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    SOURCE CONFIG : pymake.json
    -----------------------------------------
    PROGRAM       : R:\Develop\b0-toolkits\a0-compiler\PyMake\pymake7.py
    PROGRAM ROOT  : R:\Develop\b0-toolkits\a0-compiler\PyMake
    PROGRAM FILE  : pymake7.py
    -----------------------------------------
    CONFIGURE     : C:\Users\Administrator\.pymake\pymake.ini
    CONFIGURE ROOT: C:\Users\Administrator\.pymake
    CONFIGURE FILE: pymake.ini
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm get all status
    EXECUTE ROOT [HERE   ]: R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    EXECUTE ROOT [DEFAULT]: R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm get default env
    macOS
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm get default exec root
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm program
    R:\Develop\b0-toolkits\a0-compiler\PyMake\pymake7.py
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm source
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>
    
    命令部2:在命令行里显示的比较整齐
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm show
    macOS
    android.mobile
    android.x86
    iOS
    iOSSimulator
    qt4
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm env
    macOS
    android.mobile
    android.x86
    iOS
    iOSSimulator
    qt4
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm env qt5
    please ensure the environ is right
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm env macOS
    env macOS
    path+:
      ${cmake.bin}
      ${qt5.9.clang.bin}
    variable:
      QTVERSION                      ${qt5.9.version}
      QTDIR                          ${qt5.9.clang}
      QTSPEC                         -spec macx-clang
      QTCONFIG                       CONFIG+=x86_64
      QKIT                           macOS
      QSYS                           macOS
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm env macOS -r
    env macOS
    path+:
      /Users/abel/Develop/b0-toolskits/a0-compiler/CMake.app/Contents/bin
      /Users/abel/Develop/b0-toolskits/macLibraries/Qt/5.9.2/clang_64/bin
    variable:
      QTVERSION                      5.9.2
      QTDIR                          /Users/abel/Develop/b0-toolskits/macLibraries/Qt/5.9.2/clang_64
      QTSPEC                         -spec macx-clang
      QTCONFIG                       CONFIG+=x86_64
      QKIT                           macOS
      QSYS                           macOS
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm env macOS -r -a
    env macOS
    path+:
      /Users/abel/Develop/b0-toolskits/a0-compiler/CMake.app/Contents/bin
      /Users/abel/Develop/b0-toolskits/macLibraries/Qt/5.9.2/clang_64/bin
      R:/Develop/b0-toolkits/winLibraries/Qt/5.9.2/mingw53_32/bin
      R:/Develop/b0-toolkits/winLibraries/Qt/Tools/mingw530_32/bin
      R:/Develop/b0-toolkits/winCompilers/cmake3.9.1_64/bin
      R:/Develop/e0-tools/doxygen/graphviz-2.38/bin
      R:/Develop/e0-tools/doxygen/bin
      R:/Develop/b0-toolkits/winLibraries/Qt/5.9.2/mingw53_32/bin
      R:/Develop/b0-toolkits/winLibraries/Qt/Tools/mingw530_32/bin
      R:/Develop/b0-toolkits/winCompilers/cmake3.9.1_64/bin
      R:/Develop/e0-tools/doxygen/graphviz-2.38/bin
      R:/Develop/e0-tools/doxygen/bin
      C:\WINDOWS\system32
      C:\WINDOWS
      C:\WINDOWS\System32\Wbem
      C:\WINDOWS\System32\WindowsPowerShell\v1.0\
      C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
      C:\Program Files\TortoiseGit\bin
      C:\WINDOWS\system32
      C:\WINDOWS
      C:\WINDOWS\System32\Wbem
      C:\WINDOWS\System32\WindowsPowerShell\v1.0\
      C:\WINDOWS\System32\OpenSSH\
      C:\Program Files\Microsoft Network Monitor 3\
      D:\HsuHelper\TZWebPdf
      D:\HsuHelper\TZKey
      R:\Develop\e0-tools\doxygen\bin
      C:\Program Files\Git\cmd
      C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts\
      C:\Users\Administrator\AppData\Local\Programs\Python\Python36\
      C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps
    variable:
      QTVERSION                      5.9.2
      QTDIR                          /Users/abel/Develop/b0-toolskits/macLibraries/Qt/5.9.2/clang_64
      QTSPEC                         -spec macx-clang
      QTCONFIG                       CONFIG+=x86_64
      QKIT                           macOS
      QSYS                           macOS
      ALLUSERSPROFILE                C:\ProgramData
      APPDATA                        C:\Users\Administrator\AppData\Roaming
      COMMONPROGRAMFILES             C:\Program Files\Common Files
      COMMONPROGRAMFILES(X86)        C:\Program Files (x86)\Common Files
      COMMONPROGRAMW6432             C:\Program Files\Common Files
      COMPUTERNAME                   SC-201803271727
      COMSPEC                        C:\WINDOWS\system32\cmd.exe
      DRIVERDATA                     C:\Windows\System32\Drivers\DriverData
      FILEPATH                       R:\Develop\b0-toolkits\a0-compiler\PyMake\
      FPS_BROWSER_APP_PROFILE_STRING Internet Explorer
      FPS_BROWSER_USER_PROFILE_STRING Default
      HOMEDRIVE                      C:
      HOMEPATH                       \Users\Administrator
      LOCALAPPDATA                   C:\Users\Administrator\AppData\Local
      LOGONSERVER                    \\SC-201803271727
      NUMBER_OF_PROCESSORS           20
      ONEDRIVE                       C:\Users\Administrator\OneDrive
      OS                             Windows_NT
      PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
      PROCESSOR_ARCHITECTURE         AMD64
      PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 62 Stepping 4, GenuineIntel
      PROCESSOR_LEVEL                6
      PROCESSOR_REVISION             3e04
      PROGRAMDATA                    C:\ProgramData
      PROGRAMFILES                   C:\Program Files
      PROGRAMFILES(X86)              C:\Program Files (x86)
      PROGRAMW6432                   C:\Program Files
      PROMPT                         $P$G
      PSMODULEPATH                   C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
      PUBLIC                         C:\Users\Public
      PYENVEXISTEDFLAG               True
      PYENVFLAG                      True
      PYENVINDEX                     15870
      PYENVNAME                      qt5
      PYMMDEFAULTENVNAME             qt5
      PYMMSHELLROOT                  R:\Develop\b0-toolkits\a0-compiler\PyMake\example
      PYMMSOURCECONFIG               pymake7-win-tai.json
      PYMMSOURCEROOT                 R:\Develop\b0-toolkits\a0-compiler\PyMake\example
      PYPROGRAMNAME                  pymake.bat
      PYPROGRAMPATH                  R:\Develop\b0-toolkits\a0-compiler\PyMake\
      PYPROGRAMPATHNAME              R:\Develop\b0-toolkits\a0-compiler\PyMake\pymake.bat
      QKIT                           WIN32
      QSYS                           Windows
      QTDIR                          R:/Develop/b0-toolkits/winLibraries/Qt/5.9.2/mingw53_32
      QTSPEC                         -spec win32-g++
      QTVERSION                      5.9.2
      SESSIONNAME                    Console
      SYSTEMDRIVE                    C:
      SYSTEMROOT                     C:\WINDOWS
      TEMP                           C:\Users\ADMINI~1\AppData\Local\Temp
      TMP                            C:\Users\ADMINI~1\AppData\Local\Temp
      USERDOMAIN                     SC-201803271727
      USERDOMAIN_ROAMINGPROFILE      SC-201803271727
      USERNAME                       Administrator
      USERPROFILE                    C:\Users\Administrator
      WINDIR                         C:\WINDOWS
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>
    
    命令部3:
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm port
    port: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    port: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    port: source config is pymake.json
    port: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    port: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    port: target config is temp-target.json
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm translate
    translate: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    translate: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: source config is pymake.json
    translate: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    translate: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: target config is temp-target.json
    ---------------------------------------------------------------------
    [source] pymake.json          [target] temp-target.json     [status]
    all sections:
    path-assemblage               path-assemblage               [NORMAL]
    environ                       environ                       [NORMAL]
    command                       command                       [NORMAL]
    variable-assemblage           Tips                          [NORMAL]
    command-assemblage            [EMPTY] 1                     [NORMAL]
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm translate cmd
    translate: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    translate: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: source config is pymake.json
    translate: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    translate: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: target config is temp-target.json
    ---------------------------------------------------------------------
    [source] pymake.json          [target] temp-target.json     [status]
    command:
    test                          [EMPTY] 1                     [NORMAL]
    qqt.build                     [EMPTY] 2                     [NORMAL]
    qqt.clean                     [EMPTY] 3                     [NORMAL]
    Qt                            [EMPTY] 4                     [NORMAL]
    cmake                         [EMPTY] 5                     [NORMAL]
    prod                          [EMPTY] 6                     [NORMAL]
    libtool                       [EMPTY] 7                     [NORMAL]
    Qt.check                      [EMPTY] 8                     [NORMAL]
    Qt4.build                     [EMPTY] 9                     [NORMAL]
    Qt4.8.7.build                 [EMPTY] 10                    [NORMAL]
    QtSoap.build                  [EMPTY] 11                    [NORMAL]
    qqt.push                      [EMPTY] 12                    [NORMAL]
    qqt.pull                      [EMPTY] 13                    [NORMAL]
    qqt.cloc                      [EMPTY] 14                    [NORMAL]
    android.sdk                   [EMPTY] 15                    [NORMAL]
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm translate cmd -a
    translate: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    translate: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: source config is pymake.json
    translate: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    translate: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: target config is temp-target.json
    ---------------------------------------------------------------------
    [source] pymake.json          [target] temp-target.json     [status]
    command:
    test                          test                          [SUCCESS][       ]
    qqt.build                     qqt.build                     [SUCCESS][       ]
    qqt.clean                     qqt.clean                     [SUCCESS][       ]
    Qt                            Qt                            [SUCCESS][       ]
    cmake                         cmake                         [SUCCESS][       ]
    prod                          prod                          [SUCCESS][       ]
    libtool                       libtool                       [SUCCESS][       ]
    Qt.check                      Qt.check                      [SUCCESS][       ]
    Qt4.build                     Qt4.build                     [SUCCESS][       ]
    Qt4.8.7.build                 Qt4.8.7.build                 [SUCCESS][       ]
    QtSoap.build                  QtSoap.build                  [SUCCESS][       ]
    qqt.push                      qqt.push                      [SUCCESS][       ]
    qqt.pull                      qqt.pull                      [SUCCESS][       ]
    qqt.cloc                      qqt.cloc                      [SUCCESS][       ]
    android.sdk                   android.sdk                   [SUCCESS][       ]
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm translate cmd -a
    translate: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    translate: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: source config is pymake.json
    translate: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    translate: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: target config is temp-target.json
    ---------------------------------------------------------------------
    [source] pymake.json          [target] temp-target.json     [status]
    command:
    test                          test                          [CANCEL ][EXISTED]
    qqt.build                     qqt.build                     [CANCEL ][EXISTED]
    qqt.clean                     qqt.clean                     [CANCEL ][EXISTED]
    Qt                            Qt                            [CANCEL ][EXISTED]
    cmake                         cmake                         [CANCEL ][EXISTED]
    prod                          prod                          [CANCEL ][EXISTED]
    libtool                       libtool                       [CANCEL ][EXISTED]
    Qt.check                      Qt.check                      [CANCEL ][EXISTED]
    Qt4.build                     Qt4.build                     [CANCEL ][EXISTED]
    Qt4.8.7.build                 Qt4.8.7.build                 [CANCEL ][EXISTED]
    QtSoap.build                  QtSoap.build                  [CANCEL ][EXISTED]
    qqt.push                      qqt.push                      [CANCEL ][EXISTED]
    qqt.pull                      qqt.pull                      [CANCEL ][EXISTED]
    qqt.cloc                      qqt.cloc                      [CANCEL ][EXISTED]
    android.sdk                   android.sdk                   [CANCEL ][EXISTED]
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>mm translate cmd -a -f
    translate: source file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\pymake.json
    translate: source root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: source config is pymake.json
    translate: target file   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource\temp-target.json
    translate: target root   is R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource
    translate: target config is temp-target.json
    ---------------------------------------------------------------------
    [source] pymake.json          [target] temp-target.json     [status]
    command:
    test                          test                          [SUCCESS][EXISTED][FORCE]
    qqt.build                     qqt.build                     [SUCCESS][EXISTED][FORCE]
    qqt.clean                     qqt.clean                     [SUCCESS][EXISTED][FORCE]
    Qt                            Qt                            [SUCCESS][EXISTED][FORCE]
    cmake                         cmake                         [SUCCESS][EXISTED][FORCE]
    prod                          prod                          [SUCCESS][EXISTED][FORCE]
    libtool                       libtool                       [SUCCESS][EXISTED][FORCE]
    Qt.check                      Qt.check                      [SUCCESS][EXISTED][FORCE]
    Qt4.build                     Qt4.build                     [SUCCESS][EXISTED][FORCE]
    Qt4.8.7.build                 Qt4.8.7.build                 [SUCCESS][EXISTED][FORCE]
    QtSoap.build                  QtSoap.build                  [SUCCESS][EXISTED][FORCE]
    qqt.push                      qqt.push                      [SUCCESS][EXISTED][FORCE]
    qqt.pull                      qqt.pull                      [SUCCESS][EXISTED][FORCE]
    qqt.cloc                      qqt.cloc                      [SUCCESS][EXISTED][FORCE]
    android.sdk                   android.sdk                   [SUCCESS][EXISTED][FORCE]
    R:\Develop\b0-toolkits\a0-compiler\PyMake\UserSource>
    

    好了就这些吧,希望各位搞Qt的同事,Enjoy it。
    Multi-environ Manager Project gitee Link
    Multi-environ Manager Project gitee Link (Mobile)

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved