@@ -339,27 +339,6 @@ o.Add(
339339 "" ,
340340)
341341
342- # Nuke options
343-
344- o .Add (
345- "NUKE_ROOT" ,
346- "The directory in which Nuke is installed." ,
347- ""
348- )
349-
350- o .Add (
351- "NUKE_LICENSE_FILE" ,
352- "The path to the FlexLM license file to use for Nuke. This is necessary to run the tests." ,
353- "" ,
354- )
355-
356- o .Add (
357- "USG_SHIMLIB_PATH" ,
358- "The path to the FnUsdShim to use for Nuke. This may be necessary to run the tests." ,
359- "" ,
360- )
361-
362-
363342# OpenGL options
364343
365344try :
@@ -554,14 +533,6 @@ o.Add(
554533 "$INSTALL_PREFIX/lib/$IECORE_NAME" ,
555534)
556535
557- o .Add (
558- "INSTALL_NUKELIB_NAME" ,
559- "The name under which to install the nuke libraries. This "
560- "can be used to build and install the library for multiple "
561- "Nuke versions." ,
562- "$INSTALL_PREFIX/lib/$IECORE_NAME" ,
563- )
564-
565536o .Add (
566537 "INSTALL_ALEMBICLIB_NAME" ,
567538 "The name under which to install the Alembic libraries. This "
@@ -584,12 +555,6 @@ o.Add(
584555 "$INSTALL_PREFIX/lib/python$PYTHON_VERSION/site-packages" ,
585556)
586557
587- o .Add (
588- "INSTALL_NUKEPYTHON_DIR" ,
589- "The directory in which to install the nuke python module." ,
590- "$INSTALL_PREFIX/lib/python$PYTHON_VERSION/site-packages" ,
591- )
592-
593558o .Add (
594559 "INSTALL_GLSL_HEADER_DIR" ,
595560 "The directory in which to install GLSL headers." ,
@@ -602,18 +567,6 @@ o.Add(
602567 "$INSTALL_PREFIX/glsl" ,
603568)
604569
605- o .Add (
606- "INSTALL_NUKEICON_DIR" ,
607- "The directory under which to install nuke icons." ,
608- "$INSTALL_PREFIX/nuke/icons" ,
609- )
610-
611- o .Add (
612- "INSTALL_NUKEPLUGIN_NAME" ,
613- "The name under which to install nuke plugins." ,
614- "$INSTALL_PREFIX/nuke/plugins/$IECORE_NAME" ,
615- )
616-
617570o .Add (
618571 "INSTALL_DOC_DIR" ,
619572 "The directory in which to install the documentation." ,
@@ -700,14 +653,6 @@ o.Add(
700653 ""
701654)
702655
703- o .Add (
704- "INSTALL_CORENUKE_POST_COMMAND" ,
705- "A command which is run following a successful installation of "
706- "the CoreNuke library. This could be used to customise installation "
707- "further for a particular site." ,
708- ""
709- )
710-
711656o .Add (
712657 BoolVariable ( "INSTALL_CREATE_SYMLINKS" , "Whether to create symlinks post install" , True )
713658)
@@ -747,14 +692,6 @@ o.Add(
747692 "test/IECoreGL/All.py"
748693)
749694
750- o .Add (
751- "TEST_NUKE_SCRIPT" ,
752- "The python script to run for the nuke tests. The default will run all the tests, "
753- "but it can be useful to override this to run just the test for the functionality "
754- "you're working on." ,
755- "test/IECoreNuke/All.py"
756- )
757-
758695o .Add (
759696 "TEST_ALEMBIC_SCRIPT" ,
760697 "The python script to run for the alembic tests. The default will run all the tests, "
@@ -2124,242 +2061,6 @@ if env["WITH_GL"] and doConfigure :
21242061 glTestEnv .Depends ( glTest , glob .glob ( "test/IECoreGL/*.py" ) )
21252062 glTestEnv .Alias ( "testGL" , glTest )
21262063
2127- ###########################################################################################
2128- # Build and install the coreNuke library, plugin, python module and headers
2129- ###########################################################################################
2130-
2131- nukeEnvSets = {
2132- "IECORE_NAME" : "IECoreNuke"
2133- }
2134-
2135- nukeEnv = env .Clone ( ** nukeEnvSets )
2136-
2137- nukeEnvAppends = {
2138-
2139- "CPPFLAGS" : [
2140- pythonEnv ["PYTHON_INCLUDE_FLAGS" ],
2141- ],
2142-
2143- "LINKFLAGS" : [
2144- "-Wl,-rpath-link=$NUKE_ROOT" ,
2145- ],
2146-
2147- "LIBPATH" : [
2148- "$NUKE_ROOT" ,
2149- ],
2150-
2151- "LIBS" : [
2152- "GLEW$GLEW_LIB_SUFFIX" ,
2153- ],
2154-
2155- "CXXFLAGS" : [
2156- systemIncludeArgument , "$NUKE_ROOT/include" ,
2157- systemIncludeArgument , "$GLEW_INCLUDE_PATH"
2158- ]
2159-
2160- }
2161-
2162- if env ["PLATFORM" ] == "darwin" :
2163- # FN_OS_MAC is required to work around isnan errors in DDImage/Matrix4.h
2164- nukeEnvAppends ["CPPFLAGS" ].append ( "-DFN_OS_MAC" )
2165-
2166- nukeEnv .Append ( ** nukeEnvAppends )
2167- nukeEnv .Append ( SHLINKFLAGS = pythonEnv ["PYTHON_LINK_FLAGS" ].split () )
2168- if env ["PLATFORM" ] == "darwin" :
2169- nukeEnv .Append ( FRAMEWORKS = [ "OpenGL" ] )
2170-
2171- nukePythonModuleEnv = pythonModuleEnv .Clone ( ** nukeEnvSets )
2172- nukePythonModuleEnv .Append ( ** nukeEnvAppends )
2173-
2174- nukePluginEnv = nukeEnv .Clone ( IECORE_NAME = "ieCore" )
2175-
2176- nukeTestEnv = testEnv .Clone ()
2177- nukeTestEnv ["ENV" ]["LM_LICENSE_FILE" ] = nukeTestEnv ["NUKE_LICENSE_FILE" ]
2178- nukeTestEnv ["ENV" ]["foundry_LICENSE" ] = nukeTestEnv ["NUKE_LICENSE_FILE" ]
2179- nukeTestEnv ["ENV" ]["NUKE_PATH" ] = "plugins/nuke"
2180- nukeTestEnv ["ENV" ]["IECORE_OP_PATHS" ] = "test/IECoreNuke/ops:test/IECore/ops"
2181- # prepend OIIO LIB PATH to library path to support custom OIIO with specific dependencies
2182- nukeTestEnv ["ENV" ][libraryPathEnvVar ] = "{}:{}" .format ( nukeTestEnv .subst ( "$OIIO_LIB_PATH" ), nukeTestEnv ["ENV" ][libraryPathEnvVar ] )
2183- nukeTestEnv ["ENV" ]["USG_SHIMLIB_PATH" ] = nukeTestEnv ["USG_SHIMLIB_PATH" ]
2184-
2185- if doConfigure :
2186-
2187- c = configureSharedLibrary ( nukeEnv )
2188-
2189- if not c .CheckHeader ( "DDImage/Vector3.h" , "\" \" " , "CXX" ) :
2190-
2191- sys .stderr .write ( "WARNING : no nuke devkit found, not building IECoreNuke - check NUKE_ROOT.\n " )
2192- c .Finish ()
2193-
2194- else :
2195-
2196- # figure out the nuke version from the headers
2197- nukeMajorVersion = None
2198- nukeMinorVersion = None
2199- nukeVersionHeader = env .FindFile ( "DDImage/ddImageVersionNumbers.h" , nukeEnv ["CXXFLAGS" ] )
2200- if nukeVersionHeader :
2201-
2202- for line in open ( str ( nukeVersionHeader ) ) :
2203- w = line .split ()
2204- if len ( w ) > 1 :
2205- if w [0 ]== "#define" and w [1 ]== "kDDImageVersionMajorNum" :
2206- nukeMajorVersion = int ( w [2 ] )
2207- elif w [0 ]== "#define" and w [1 ]== "kDDImageVersionMinorNum" :
2208- nukeMinorVersion = int ( w [2 ] )
2209-
2210- else :
2211-
2212- nukeMajorVersion = 4
2213- nukeMinorVersion = 8
2214-
2215- if nukeMajorVersion is None or nukeMinorVersion is None :
2216-
2217- sys .stderr .write ( "ERROR : unable to determine nuke version - not building IECoreNuke.\n " )
2218-
2219- else :
2220-
2221- nukeEnv ["NUKE_MAJOR_VERSION" ] = nukeMajorVersion
2222- nukeEnv ["NUKE_MINOR_VERSION" ] = nukeMinorVersion
2223-
2224- nukeTestEnv ["NUKE_MAJOR_VERSION" ] = nukeMajorVersion
2225- nukeTestEnv ["NUKE_MINOR_VERSION" ] = nukeMinorVersion
2226-
2227- if nukeMajorVersion >= 5 and nukeMinorVersion >= 0 :
2228- nukeLibName = "DDImage"
2229- else :
2230- nukeLibName = "DDImage%d.%d" % ( nukeMajorVersion , nukeMinorVersion )
2231-
2232- if not c .CheckLibWithHeader ( nukeLibName , "DDImage/Vector3.h" , "CXX" ) :
2233-
2234- sys .stderr .write ( "WARNING : no nuke libraries found, not building IECoreNuke - check NUKE_ROOT.\n " )
2235- c .Finish ()
2236-
2237- else :
2238-
2239- c .Finish ()
2240-
2241- # we can't add this earlier as then it's built during the configure stage, and that's no good
2242- nukeEnv .Append ( LIBS = [
2243- os .path .basename ( coreEnv .subst ( "$INSTALL_LIB_NAME" ) ),
2244- os .path .basename ( imageEnv .subst ( "$INSTALL_LIB_NAME" ) ),
2245- os .path .basename ( corePythonEnv .subst ( "$INSTALL_PYTHONLIB_NAME" ) ),
2246- os .path .basename ( glEnv .subst ( "$INSTALL_LIB_NAME" ) ),
2247- ] )
2248-
2249- nukeEnv .Append ( LIBS = [ nukeLibName , "boost_python" + boostPythonLibSuffix ] )
2250-
2251- nukeEnv .Append (
2252- CPPFLAGS = [
2253- "-DIECORENUKE_NUKE_MAJOR_VERSION=$NUKE_MAJOR_VERSION" ,
2254- "-DIECORENUKE_NUKE_MINOR_VERSION=$NUKE_MINOR_VERSION" ,
2255- "-DIECoreNuke_EXPORTS" ,
2256- ]
2257- )
2258-
2259- nukePythonModuleEnv .Append ( LIBS = [
2260- os .path .basename ( nukeEnv .subst ( "$INSTALL_LIB_NAME" ) ),
2261- os .path .basename ( coreEnv .subst ( "$INSTALL_LIB_NAME" ) ),
2262- os .path .basename ( corePythonEnv .subst ( "$INSTALL_PYTHONLIB_NAME" ) ),
2263- ] )
2264-
2265- nukeHeaders = glob .glob ( "include/IECoreNuke/*.h" ) + glob .glob ( "include/IECoreNuke/*.inl" )
2266- nukeSources = sorted ( glob .glob ( "src/IECoreNuke/*.cpp" ) )
2267- nukePythonSources = sorted ( glob .glob ( "src/IECoreNuke/bindings/*.cpp" ) )
2268- nukePythonScripts = glob .glob ( "python/IECoreNuke/*.py" )
2269- nukePluginSources = sorted ( glob .glob ( "src/IECoreNuke/plugin/*.cpp" ) )
2270- nukeNodeNames = [ "ieObject" , "ieOp" , "ieDrawable" , "ieDisplay" , "ieLiveScene" , "sccWriter" ]
2271-
2272- # nuke library
2273- nukeLibrary = nukeEnv .SharedLibrary ( "lib/" + os .path .basename ( nukeEnv .subst ( "$INSTALL_NUKELIB_NAME" ) ), nukeSources )
2274- nukeLibraryInstall = nukeEnv .Install ( os .path .dirname ( nukeEnv .subst ( "$INSTALL_NUKELIB_NAME" ) ), nukeLibrary )
2275- if env [ "INSTALL_CREATE_SYMLINKS" ] :
2276- nukeEnv .AddPostAction ( nukeLibraryInstall , lambda target , source , env : makeLibSymLinks ( nukeEnv , "INSTALL_NUKELIB_NAME" ) )
2277- nukeEnv .Alias ( "install" , nukeLibraryInstall )
2278- nukeEnv .Alias ( "installNuke" , nukeLibraryInstall )
2279- nukeEnv .Alias ( "installLib" , [ nukeLibraryInstall ] )
2280-
2281- # nuke headers
2282-
2283- nukeHeaderInstall = nukeEnv .Install ( "$INSTALL_HEADER_DIR/IECoreNuke" , nukeHeaders )
2284- if env [ "INSTALL_CREATE_SYMLINKS" ] :
2285- nukeEnv .AddPostAction ( "$INSTALL_HEADER_DIR/IECoreNuke" , lambda target , source , env : makeSymLinks ( nukeEnv , nukeEnv ["INSTALL_HEADER_DIR" ] ) )
2286- nukeEnv .Alias ( "installNuke" , nukeHeaderInstall )
2287- nukeEnv .Alias ( "install" , nukeHeaderInstall )
2288-
2289- # nuke python module
2290-
2291- nukePythonModule = nukePythonModuleEnv .SharedLibrary ( "python/IECoreNuke/_IECoreNuke" , nukePythonSources )
2292- nukePythonModuleInstall = nukePythonModuleEnv .Install ( "$INSTALL_NUKEPYTHON_DIR/IECoreNuke" , nukePythonScripts + nukePythonModule )
2293- if env [ "INSTALL_CREATE_SYMLINKS" ] :
2294- nukePythonModuleEnv .AddPostAction ( "$INSTALL_NUKEPYTHON_DIR/IECoreNuke" , lambda target , source , env : makeSymLinks ( nukePythonModuleEnv , nukePythonModuleEnv ["INSTALL_NUKEPYTHON_DIR" ] ) )
2295- nukePythonModuleEnv .Alias ( "install" , nukePythonModuleInstall )
2296- nukePythonModuleEnv .Alias ( "installNuke" , nukePythonModuleInstall )
2297- nukePythonModuleEnv .Depends ( nukePythonModule , corePythonModule )
2298-
2299- if coreEnv ["INSTALL_CORENUKE_POST_COMMAND" ]!= "" :
2300- # this is the only way we could find to get a post action to run for an alias
2301- nukeEnv .Alias ( "install" , nukeLibraryInstall , "$INSTALL_CORENUKE_POST_COMMAND" )
2302- nukeEnv .Alias ( "installNuke" , nukeLibraryInstall , "$INSTALL_CORENUKE_POST_COMMAND" )
2303-
2304- # nuke plugin
2305-
2306- nukePluginEnv .Append (
2307- LIBS = [
2308- os .path .basename ( coreEnv .subst ( "$INSTALL_NUKELIB_NAME" ) ),
2309- os .path .basename ( nukeEnv .subst ( "$INSTALL_NUKELIB_NAME" ) ),
2310- ]
2311- )
2312- nukePluginTarget = "plugins/nuke/" + os .path .basename ( nukePluginEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME" ) )
2313- nukePlugin = nukePluginEnv .SharedLibrary ( nukePluginTarget , nukePluginSources , SHLIBPREFIX = "" )
2314- nukePluginInstall = nukePluginEnv .Install ( os .path .dirname ( nukePluginEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME" ) ), nukePlugin )
2315-
2316- if env [ "INSTALL_CREATE_SYMLINKS" ] :
2317- nukePluginEnv .AddPostAction ( nukePluginInstall , lambda target , source , env : makeSymLinks ( nukePluginEnv , nukePluginEnv ["INSTALL_NUKEPLUGIN_NAME" ] ) )
2318- nukePluginEnv .Alias ( "install" , nukePluginInstall )
2319- nukePluginEnv .Alias ( "installNuke" , nukePluginInstall )
2320-
2321- Default ( [ nukeLibrary , nukePythonModule , nukePlugin ] )
2322-
2323- # nuke menu
2324-
2325- nukeMenuInstall = nukePluginEnv .Install ( os .path .dirname ( nukePluginEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME" ) ), "src/IECoreNuke/plugin/menu.py" )
2326- nukePluginEnv .Alias ( "install" , nukeMenuInstall )
2327-
2328- # stubs for each of the nodes within the plugin
2329-
2330- nukeStubs = []
2331- for nodeName in nukeNodeNames :
2332-
2333- nukeStubEnv = nukePluginEnv .Clone ( IECORE_NAME = nodeName )
2334- # In order to have our custom file format (scc) displayed in the file_type knob of the WriteGeo node, we need to install
2335- # a dummy library with "[fileExtension]Writer"
2336- if nodeName == "sccWriter" :
2337- nukeStubName = "plugins/nuke/" + os .path .basename ( nukeStubEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME$SHLIBSUFFIX" ) )
2338- else :
2339- nukeStubName = "plugins/nuke/" + os .path .basename ( nukeStubEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME" ) ) + ".tcl"
2340- nukeStub = nukePluginEnv .Command ( nukeStubName , nukePlugin , "echo 'load ieCore' > $TARGET" )
2341- nukeStubInstall = nukeStubEnv .Install ( os .path .dirname ( nukeStubEnv .subst ( "$INSTALL_NUKEPLUGIN_NAME" ) ), nukeStub )
2342- nukeStubEnv .Alias ( "install" , nukeStubInstall )
2343- nukeStubEnv .Alias ( "installNuke" , nukeStubInstall )
2344- nukeStubs .append ( nukeStub )
2345- Default ( [ nukeStub ] )
2346-
2347- # nuke icons
2348- nukeIcons = glob .glob ( "icons/IECoreNuke/*.png" )
2349- nukeIconInstall = nukeEnv .Install ( "$INSTALL_NUKEICON_DIR" , source = nukeIcons )
2350- nukeEnv .Alias ( "install" , nukeIconInstall )
2351- nukeEnv .Alias ( "installNuke" , nukeIconInstall )
2352-
2353- # nuke tests
2354-
2355- nukeTest = nukeTestEnv .Command ( "test/IECoreNuke/resultsPython.txt" , nukeLibrary , "$NUKE_ROOT/Nuke${NUKE_MAJOR_VERSION}.${NUKE_MINOR_VERSION} -t $TEST_NUKE_SCRIPT" )
2356- NoCache ( nukeTest )
2357- nukeTestEnv .Depends ( nukeTest , glob .glob ( "test/IECoreNuke/*.py" ) )
2358- nukeTestEnv .Depends ( nukeTest , nukePythonModule )
2359- nukeTestEnv .Depends ( nukeTest , nukePlugin )
2360- nukeTestEnv .Depends ( nukeTest , nukeStubs )
2361- nukeTestEnv .Alias ( "testNuke" , nukeTest )
2362-
23632064###########################################################################################
23642065# Build, install and test the IECoreUSD library and bindings
23652066###########################################################################################
@@ -2694,7 +2395,7 @@ if doConfigure :
26942395 docs = docEnv .Command ( "doc/html/index.html" , "doc/config/Doxyfile" , "$DOXYGEN $SOURCE" )
26952396 docEnv .NoCache ( docs )
26962397
2697- for modulePath in ( "python/IECore" , "python/IECoreGL" , "python/IECoreNuke" ) :
2398+ for modulePath in ( "python/IECore" , "python/IECoreGL" ) :
26982399
26992400 module = os .path .basename ( modulePath )
27002401 mungedModule = docEnv .Command ( "doc/python/" + module , modulePath + "/__init__.py" , createDoxygenPython )
0 commit comments