Whats New - Version 7.6.6

October 15 2016


return to main index



Devkit Plugin & Exe Development

There are now three sets of preferences that determine how Cutter interacts with MS Visual Studio (Windows) and the GNU compiler (gcc and g++ on Linux and MacOSX). The first group of prefs are set using the,
    Edit->Preferences Tool->Rman->Devkit tab.

The "Plugin & Exe Build Paths" panel, figure 1, can be used to set where the binary output, a plugin .dll a .so or a .exe file will be created. For example, I keep most of my source code (.cpp) files in this location,

    /Users/malcolm/Documents/maya/projects/RfM_ris/src

With the exception of RifPlugins the corresponding .so files are created in this location,

    /Users/malcolm/Documents/maya/projects/RfM_ris

Also, to prevent an annoying accumulation of makefiles in the src directory the "Cleanup Makefiles" is acive.



The second and third groups of prefs, figure 2, are set using the,
    Tools->Show RenderMan Tool->Options->Devkit tab.

Under some circumstances it can be handy to have a duplicate of a newly "minted" .so or .dll or .oso file moved to another directory. The "Duplication Directories" panel can be used to set those paths and to conveniently activate or deactivate the duplication.

The final group of prefs enables a script to be executed by Cutter after a .dll or .so or .exe has been built. When Cutter executes a "Post Build Script" is passes the path of the source code file and the path of the built object file to the script. The script can be located in either a plugins .cpp directory or in the "build" directory A trivial example of a script named post.py is shown below.


#!/usr/bin/env python
import sys, os
  
def main(argv):
    srcpath = argv[1]
    dsopath = argv[2]
    f = open('build_log.txt', 'w')
    f.write(srcpath + '\n')
    f.write(dsopath)
    f.close()
    
if __name__ == "__main__":
    main(sys.argv)




Figure 1


Figure 2


Remote Build

This tool enables a user working on, say, a Windows computer to remotely compile and build Pixar devkit plugins on a Linux and/or MacOSX computer on their network. For a remote build to work the Linux and/or MacOSX computer must be running the same version of Cutter.

Figure 3 shows the tool. The source code for a RifPlugin called CutrBBones.cpp was open on Cutter's desktop, hence, the "Local Files" panel shows the .cpp text field enabled with "CutrBBones.cpp". Both of the "Remote Directory Paths" panels are shown enabled and their ".cpp write permission" checkboxes are selected.

When the "Build Remotely" button is clicked the text of the CutrBBones.cpp document is sent, via TCP, to the computers identified by their IP addresses. After Cutter on the destination computers has saved the source code the object file (.dll or .so or .exe) is built and a report is sent back to the users computer where it is displayed in a tab of the Process Monitor - figure 4 and 5.



Figure 4
Build report returned from the Linux machine




Figure 5
Build report returned from the MacOSX machine




Figure 3
Remote Build Tool on Windows










© 2002- Malcolm Kesson. All rights reserved.