Skip to content

Commit 03df0b5

Browse files
committed
Remove IECoreNuke
This will continue life as an internal project at Image Engine.
1 parent 35fc531 commit 03df0b5

File tree

154 files changed

+5
-16882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+5
-16882
lines changed

.github/workflows/main/options.windows

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@ USD_LIB_PATH = libs
4747
USD_LIB_PREFIX = "usd_"
4848
DOXYGEN = deps + "\\doxygen\\doxygen.exe"
4949

50-
# DCC Integrations
51-
# ================
52-
NUKE_ROOT = ""
53-
5450
# Environment
5551
# ===========
5652

Changes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Breaking Changes
1313

1414
- IECoreHoudini : Removed.
1515
- IECoreMaya : Removed.
16+
- IECoreNuke : Removed.
1617

1718
10.5.x.x (relative to 10.5.15.0)
1819
========

SConstruct

Lines changed: 1 addition & 300 deletions
Original file line numberDiff line numberDiff line change
@@ -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

365344
try :
@@ -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-
565536
o.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-
593558
o.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-
617570
o.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-
711656
o.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-
758695
o.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 )

contrib/scripts/fixIncludes.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
"GafferBindings",
8888
"GafferTest",
8989
"Gaffer",
90-
"IECoreNuke",
9190
"IECoreArnold",
9291
"IECoreGL",
9392
"IECoreAlembic",

0 commit comments

Comments
 (0)