Tools: Move bindings generator into generator folder.
This commit is contained in:
@@ -126,7 +126,7 @@ ENDMACRO(fc_target_copy_resource_flat)
|
||||
# It would be a bit cleaner to generate these files in ${CMAKE_CURRENT_BINARY_DIR}
|
||||
|
||||
macro(generate_from_xml BASE_NAME)
|
||||
set(TOOL_PATH "${CMAKE_SOURCE_DIR}/src/Tools/generate.py")
|
||||
set(TOOL_PATH "${CMAKE_SOURCE_DIR}/src/Tools/bindings/generate.py")
|
||||
file(TO_NATIVE_PATH "${TOOL_PATH}" TOOL_NATIVE_PATH)
|
||||
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.xml" SOURCE_NATIVE_PATH)
|
||||
|
||||
@@ -147,7 +147,7 @@ macro(generate_from_xml BASE_NAME)
|
||||
COMMAND ${PYTHON_EXECUTABLE} "${TOOL_NATIVE_PATH}" --outputPath "${OUTPUT_NATIVE_PATH}" ${BASE_NAME}.xml
|
||||
MAIN_DEPENDENCY "${BASE_NAME}.xml"
|
||||
DEPENDS
|
||||
"${CMAKE_SOURCE_DIR}/src/Tools/generateTemplates/templateClassPyExport.py"
|
||||
"${CMAKE_SOURCE_DIR}/src/Tools/bindings/templates/templateClassPyExport.py"
|
||||
"${TOOL_PATH}"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMENT "Building ${BASE_NAME}.h/.cpp out of ${BASE_NAME}.xml"
|
||||
|
||||
2
src/Tools/.gitignore
vendored
2
src/Tools/.gitignore
vendored
@@ -1,4 +1,2 @@
|
||||
# ignore the pyc files created while compile
|
||||
*.pyc
|
||||
generateBase/*.pyc
|
||||
generateTemplates/*.pyc
|
||||
|
||||
3
src/Tools/bindings/.gitignore
vendored
Normal file
3
src/Tools/bindings/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# ignore the pyc files created while compile
|
||||
model/*.pyc
|
||||
templates/*.pyc
|
||||
@@ -3,9 +3,9 @@
|
||||
# (c) 2006 Jürgen Riegel GPL
|
||||
|
||||
import os, sys, getopt
|
||||
import generateBase.generateModel_Module
|
||||
import generateTemplates.templateModule
|
||||
import generateTemplates.templateClassPyExport
|
||||
import model.generateModel_Module
|
||||
import templates.templateModule
|
||||
import templates.templateClassPyExport
|
||||
|
||||
Usage = """generate - generates a FreeCAD Module out of an XML model
|
||||
|
||||
@@ -33,16 +33,16 @@ Version:
|
||||
|
||||
def generate(filename, outputPath):
|
||||
# load model
|
||||
GenerateModelInst = generateBase.generateModel_Module.parse(filename)
|
||||
GenerateModelInst = model.generateModel_Module.parse(filename)
|
||||
|
||||
if len(GenerateModelInst.Module) != 0:
|
||||
Module = generateTemplates.templateModule.TemplateModule()
|
||||
Module = templates.templateModule.TemplateModule()
|
||||
Module.outputDir = outputPath
|
||||
Module.module = GenerateModelInst.Module[0]
|
||||
Module.Generate()
|
||||
print("Done generating: " + GenerateModelInst.Module[0].Name)
|
||||
else:
|
||||
Export = generateTemplates.templateClassPyExport.TemplateClassPyExport()
|
||||
Export = templates.templateClassPyExport.TemplateClassPyExport()
|
||||
Export.outputDir = outputPath + "/"
|
||||
Export.inputDir = os.path.dirname(filename) + "/"
|
||||
Export.export = GenerateModelInst.PythonExport[0]
|
||||
@@ -3,13 +3,13 @@
|
||||
# (c) 2006 Juergen Riegel
|
||||
|
||||
import template
|
||||
import generateBase.generateModel_Module
|
||||
import generateBase.generateTools
|
||||
import model.generateModel_Module
|
||||
import model.generateTools
|
||||
|
||||
|
||||
class TemplateCPPFile(template.ModelTemplate):
|
||||
def Generate(self):
|
||||
generateBase.generateTools.ensureDir(self.outputDir)
|
||||
model.generateTools.ensureDir(self.outputDir)
|
||||
print("Generate() App Dir")
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
from . import template
|
||||
import os, sys
|
||||
import generateBase.generateModel_Module
|
||||
import generateBase.generateTools
|
||||
import model.generateModel_Module
|
||||
import model.generateTools
|
||||
|
||||
|
||||
class TemplateClassPyExport(template.ModelTemplate):
|
||||
@@ -39,19 +39,19 @@ class TemplateClassPyExport(template.ModelTemplate):
|
||||
if not os.path.exists(inputDir + exportName + "Imp.cpp"):
|
||||
file = open(outputImp, "wb")
|
||||
print("TemplateClassPyExport", "TemplateImplement", file.name)
|
||||
generateBase.generateTools.replace(self.TemplateImplement, locals(), file)
|
||||
model.generateTools.replace(self.TemplateImplement, locals(), file)
|
||||
file.close()
|
||||
|
||||
outputCpp = outputDir + exportName + ".cpp"
|
||||
with open(outputCpp, "wb") as file:
|
||||
print("TemplateClassPyExport", "TemplateModule", file.name)
|
||||
generateBase.generateTools.replace(self.TemplateModule, locals(), file)
|
||||
model.generateTools.replace(self.TemplateModule, locals(), file)
|
||||
|
||||
outputHeader = outputDir + exportName + ".h"
|
||||
with open(outputHeader, "wb") as file:
|
||||
print("TemplateClassPyExport", "TemplateHeader", file.name)
|
||||
generateBase.generateTools.replace(self.TemplateHeader, locals(), file)
|
||||
# file.write( generateBase.generateTools.replace(self.Template,locals()))
|
||||
model.generateTools.replace(self.TemplateHeader, locals(), file)
|
||||
# file.write( model.generateTools.replace(self.Template,locals()))
|
||||
|
||||
TemplateHeader = """
|
||||
// This file is generated by src/Tools/generateTemplates/templateClassPyExport.py out of the XML file
|
||||
@@ -7,7 +7,7 @@ from . import template, templateModuleApp
|
||||
|
||||
class TemplateModule(template.ModelTemplate):
|
||||
def Generate(self):
|
||||
print("generateBase.generateModel_Module.Generate()\n")
|
||||
print("model.generateModel_Module.Generate()\n")
|
||||
App = templateModuleApp.TemplateModuleApp()
|
||||
App.outputDir = self.outputDir
|
||||
App.module = self.module
|
||||
@@ -3,14 +3,14 @@
|
||||
# (c) 2007 Juergen Riegel
|
||||
|
||||
from . import template, templateModuleAppMain, templateModuleAppFeature
|
||||
import generateBase.generateModel_Module
|
||||
import generateBase.generateTools
|
||||
import model.generateModel_Module
|
||||
import model.generateTools
|
||||
|
||||
|
||||
class TemplateModuleApp(template.ModelTemplate):
|
||||
def Generate(self):
|
||||
AppPath = self.outputDir + "/App/"
|
||||
generateBase.generateTools.ensureDir(AppPath)
|
||||
model.generateTools.ensureDir(AppPath)
|
||||
|
||||
# the main module files
|
||||
AppMain = templateModuleAppMain.TemplateModuleAppMain()
|
||||
@@ -19,7 +19,7 @@ class TemplateModuleApp(template.ModelTemplate):
|
||||
AppMain.Generate()
|
||||
|
||||
# Features
|
||||
generateBase.generateTools.ensureDir(AppPath + "Features/")
|
||||
model.generateTools.ensureDir(AppPath + "Features/")
|
||||
for i in self.module.Content.Feature:
|
||||
AppFeature = templateModuleAppFeature.TemplateFeature()
|
||||
AppFeature.outputDir = AppPath + "Features/"
|
||||
@@ -3,19 +3,19 @@
|
||||
# (c) 2006 Juergen Riegel
|
||||
|
||||
from . import template
|
||||
import generateBase.generateModel_Module
|
||||
import generateBase.generateTools
|
||||
import model.generateModel_Module
|
||||
import model.generateTools
|
||||
|
||||
|
||||
class TemplateFeature(template.ModelTemplate):
|
||||
def Generate(self):
|
||||
file = open(self.outputDir + self.feature.Name + "Imp.cpp", "w")
|
||||
generateBase.generateTools.replace(self.TemplateImplement, locals(), file)
|
||||
model.generateTools.replace(self.TemplateImplement, locals(), file)
|
||||
file = open(self.outputDir + self.feature.Name + ".cpp", "w")
|
||||
generateBase.generateTools.replace(self.TemplateModule, locals(), file)
|
||||
model.generateTools.replace(self.TemplateModule, locals(), file)
|
||||
file = open(self.outputDir + self.feature.Name + ".h", "w")
|
||||
generateBase.generateTools.replace(self.TemplateHeader, locals(), file)
|
||||
# file.write( generateBase.generateTools.replace(self.Template,locals()))
|
||||
model.generateTools.replace(self.TemplateHeader, locals(), file)
|
||||
# file.write( model.generateTools.replace(self.Template,locals()))
|
||||
|
||||
TemplateHeader = """
|
||||
#ifndef @self.module.Name.upper()@_FEATURE_@self.feature.Name.upper()@_H
|
||||
@@ -3,15 +3,15 @@
|
||||
# (c) 2006 Juergen Riegel
|
||||
|
||||
from . import template
|
||||
import generateBase.generateModel_Module
|
||||
import generateBase.generateTools
|
||||
import model.generateModel_Module
|
||||
import model.generateTools
|
||||
|
||||
|
||||
class TemplateModuleAppMain(template.ModelTemplate):
|
||||
def Generate(self):
|
||||
file = open(self.outputDir + "/App" + self.module.Name + ".cpp", "w")
|
||||
generateBase.generateTools.replace(self.Template, locals(), file)
|
||||
# file.write( generateBase.generateTools.replace(self.Template,locals()))
|
||||
model.generateTools.replace(self.Template, locals(), file)
|
||||
# file.write( model.generateTools.replace(self.Template,locals()))
|
||||
|
||||
Template = """
|
||||
/***************************************************************************
|
||||
Reference in New Issue
Block a user