#include "Tools/FBuild/FBuildCore/Graph/DirectoryListNode.h"
#include "Tools/FBuild/FBuildCore/Helpers/ProjectGeneratorBase.h"
#include "Tools/FBuild/FBuildCore/Helpers/XCodeProjectGenerator.h"

#include "Core/FileIO/IOStream.h"
#include "Core/FileIO/PathUtils.h"
#include "Core/Strings/AStackString.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_STRUCT_BEGIN_BASE( XCodeProjectConfig )
	REFLECT( m_Config, 	"Config", 	MetaNone() )
	REFLECT( m_Target,	"Target",	MetaNone() )
REFLECT_END( XCodeProjectConfig )

REFLECT_BEGIN( XCodeProjectNode, Node, MetaName( "ProjectOutput" ) + MetaFile() )
	REFLECT_ARRAY( m_ProjectInputPaths, 			"ProjectInputPaths", 			MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectInputPathsExclude,		"ProjectInputPathsExclude", 	MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectFiles,					"ProjectFiles",					MetaOptional() + MetaFile() )
	REFLECT_ARRAY( m_ProjectFilesToExclude,			"ProjectFilesToExclude",		MetaOptional() + MetaFile() )
	REFLECT_ARRAY( m_PatternToExclude,				"ProjectPatternToExclude",		MetaOptional() + MetaFile())
	REFLECT_ARRAY( m_ProjectBasePath, 				"ProjectBasePath", 				MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectAllowedFileExtensions, 	"ProjectAllowedFileExtensions", MetaOptional() )
	REFLECT_ARRAY_OF_STRUCT( m_ProjectConfigs,		"ProjectConfigs",	XCodeProjectConfig,		MetaNone() )
	REFLECT( m_XCodeOrganizationName,				"XCodeOrganizationName",		MetaOptional() )
	REFLECT( m_XCodeBuildToolPath,					"XCodeBuildToolPath",			MetaOptional() )
	REFLECT( m_XCodeBuildToolArgs,					"XCodeBuildToolArgs",			MetaOptional() )
	REFLECT( m_XCodeBuildWorkingDir,				"XCodeBuildWorkingDir",			MetaOptional() )
REFLECT_END( XCodeProjectNode )

// CONSTRUCTOR
// Includes
//------------------------------------------------------------------------------
#include "CompilerNode.h"

#include "../FBuild.h"
#include "../BFF/Functions/Function.h"
#include "NodeGraph.h"

#include "../../../../Core/FileIO/IOStream.h"
#include "../../../../Core/Strings/AStackString.h"


// Reflection
//------------------------------------------------------------------------------
#ifdef USE_NODE_REFLECTION
REFLECT_BEGIN( CompilerNode, Node, MetaName( "Executable" ) + MetaFile() )
	REFLECT_ARRAY( m_ExtraFiles,	"ExtraFiles",			MetaOptional() + MetaFile() )
    REFLECT( m_AllowDistribution,   "AllowDistribution",    MetaOptional() )
REFLECT_END( CompilerNode )
#endif

// CONSTRUCTOR
//------------------------------------------------------------------------------
#ifdef USE_NODE_REFLECTION
CompilerNode::CompilerNode()
	: FileNode( AString::GetEmpty(), Node::FLAG_NO_DELETE_ON_FAIL )
    , m_AllowDistribution( true )
{
	m_Type = Node::COMPILER_NODE;
}
#endif
Beispiel #3
0
#include "TestNode.h"

#include "Tools/FBuild/FBuildCore/FBuild.h"
#include "Tools/FBuild/FBuildCore/FLog.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"
#include "Tools/FBuild/FBuildCore/BFF/Functions/Function.h"

#include "Core/FileIO/FileIO.h"
#include "Core/FileIO/FileStream.h"
#include "Core/Math/Conversions.h"
#include "Core/Strings/AStackString.h"
#include "Core/Process/Process.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_BEGIN( TestNode, Node, MetaName( "TestOutput" ) + MetaFile() )
	REFLECT( m_TestExecutable,		"TestExecutable",		MetaFile() )
	REFLECT( m_TestArguments,		"TestArguments",		MetaOptional() )
	REFLECT( m_TestWorkingDir,		"TestWorkingDir",		MetaOptional() + MetaPath() )
	REFLECT( m_TestTimeOut,			"TestTimeOut",			MetaOptional() + MetaRange( 0, 4 * 60 * 60 * 1000 ) ) // 4hrs
REFLECT_END( TestNode )

// CONSTRUCTOR
//------------------------------------------------------------------------------
TestNode::TestNode()
	: FileNode( AString::GetEmpty(), Node::FLAG_NO_DELETE_ON_FAIL ) // keep output on test fail
	, m_TestExecutable()
	, m_TestArguments()
	, m_TestWorkingDir()
	, m_TestTimeOut( 0 )
{
Beispiel #4
0
#include "Tools/FBuild/FBuildCore/PrecompiledHeader.h"

#include "AliasNode.h"

#include "Tools/FBuild/FBuildCore/BFF/Functions/Function.h"
#include "Tools/FBuild/FBuildCore/FBuild.h"
#include "Tools/FBuild/FBuildCore/FLog.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"

#include "Core/FileIO/FileStream.h"

// Reflection
//------------------------------------------------------------------------------
#ifdef USE_NODE_REFLECTION
REFLECT_BEGIN( AliasNode, Node, MetaNone() )
	REFLECT_ARRAY( m_Targets,	"Targets",			MetaFile() )
REFLECT_END( AliasNode )
#endif

// CONSTRUCTOR
//------------------------------------------------------------------------------
#ifdef USE_NODE_REFLECTION
AliasNode::AliasNode()
: Node( AString::GetEmpty(), Node::ALIAS_NODE, Node::FLAG_TRIVIAL_BUILD )
{
	m_LastBuildTimeMs = 1; // almost no work is done for this node
}
#endif

// CONSTRUCTOR
//------------------------------------------------------------------------------
Beispiel #5
0
#include "Tools/FBuild/FBuildCore/FBuild.h"
#include "Tools/FBuild/FBuildCore/FLog.h"
#include "Tools/FBuild/FBuildCore/Graph/DirectoryListNode.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"

#include "Core/Env/Env.h"
#include "Core/Strings/AStackString.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_NODE_BEGIN( RemoveDirNode, Node, MetaNone() )
    REFLECT_ARRAY( m_RemovePaths,               "RemovePaths",          MetaPath() )
    REFLECT_ARRAY( m_RemovePatterns,            "RemovePatterns",       MetaOptional() )
    REFLECT(       m_RemovePathsRecurse,        "RemovePathsRecurse",   MetaOptional() )
    REFLECT_ARRAY( m_RemoveExcludePaths,        "RemoveExcludePaths",   MetaOptional() + MetaPath() )
    REFLECT_ARRAY( m_PreBuildDependencyNames,   "PreBuildDependencies", MetaOptional() + MetaFile() + MetaAllowNonFile() )
REFLECT_END( RemoveDirNode )

// CONSTRUCTOR
//------------------------------------------------------------------------------
RemoveDirNode::RemoveDirNode()
    : Node( AString::GetEmpty(), Node::REMOVE_DIR_NODE, Node::FLAG_NONE )
    , m_RemovePathsRecurse( true )
{
    m_RemovePatterns.Append( AStackString<>( "*" ) );
}

// Initialize
//------------------------------------------------------------------------------
bool RemoveDirNode::Initialize( NodeGraph & nodeGraph, const BFFIterator & iter, const Function * function )
{
Beispiel #6
0
#include "Tools/FBuild/FBuildCore/Graph/ObjectListNode.h"
#include "Tools/FBuild/FBuildCore/Graph/ObjectNode.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"
#include "Tools/FBuild/FBuildCore/Helpers/Args.h"
#include "Tools/FBuild/FBuildCore/WorkerPool/Job.h"

#include "Core/Env/Env.h"
#include "Core/FileIO/FileIO.h"
#include "Core/FileIO/PathUtils.h"
#include "Core/Process/Process.h"
#include "Core/Profile/Profile.h"
#include "Core/Strings/AStackString.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_NODE_BEGIN( LinkerNode, Node, MetaName( "LinkerOutput" ) + MetaFile() )
    REFLECT( m_Linker,                          "Linker",                       MetaFile() )
    REFLECT( m_LinkerOptions,                   "LinkerOptions",                MetaNone() )
    REFLECT( m_LinkerType,                      "LinkerType",                   MetaOptional() )
    REFLECT_ARRAY( m_Libraries,                 "Libraries",                    MetaFile() + MetaAllowNonFile() )
    REFLECT_ARRAY( m_LinkerAssemblyResources,   "LinkerAssemblyResources",      MetaOptional() + MetaFile() )
    REFLECT( m_LinkerLinkObjects,               "LinkerLinkObjects",            MetaOptional() )
    REFLECT( m_LinkerStampExe,                  "LinkerStampExe",               MetaOptional() + MetaFile() )
    REFLECT( m_LinkerStampExeArgs,              "LinkerStampExeArgs",           MetaOptional() )
    REFLECT_ARRAY( m_PreBuildDependencyNames,   "PreBuildDependencies",         MetaOptional() + MetaFile() + MetaAllowNonFile() )

    // Internal State
    REFLECT( m_Flags,                           "Flags",                        MetaHidden() )
    REFLECT( m_AssemblyResourcesStartIndex,     "AssemblyResourcesStartIndex",  MetaHidden() )
    REFLECT( m_AssemblyResourcesNum,            "AssemblyResourcesNum",         MetaHidden() )
    REFLECT( m_ImportLibName,                   "ImportLibName",                MetaHidden() )