4.1 KiB
		
	
	
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	Structure of the top-level
The top-level nodes live inside an "xml" node, and can be:
- 
set - Set a "define", define being a general variable. <set name="name" value="1" />
- 
setenv - Sets an hxcpp define and an environment variable for child processes. <setenv name="name" value="1" />
- 
unset - Unset a define. if="name" will no longer be true <unset name="name" />
- 
setup - Used internally to call custom setup code to find SDKs etc. <setup name="androidNdk|blackberry|msvc|pdbserver|mingw|emscripten|nvcc" />
- 
echo - Print value to console. Good for debugging. <echo value="text" />
- 
error - Print value to console and force error. Good for checking prerequisites. <error value="error message" />
- 
pleaseUpdateHxcppTool - Used to tell people updating git version that they need to recompile the build tool. <pleaseUpdateHxcppTool version="1" />
- 
path - Add an directory to the exe search path. <path name="directory_to_add" />
- 
mkdir - Create a directory. <mkdir name="directory" />
- 
section - Groups block of elements - usually ones that all respect the same if/unless condition. <section name="id" /> </section>
- 
copy - Copy file when node is parsed. <copy to="destination" from="src" />
- 
import/include - Read xml from another file. 'import' resets the relative base to the new file, include does not. <import name="filename" section="filter" noerror="true" /> <include name="filename" section="filter" noerror="true" />- noerror - setting the optional noerror allows the file to be missing
- section - setting the optional section will only read the named section from the xml file. Used by hxcpp_config.xml.
 
- 
pragma - Only include build file once, even with multiple include statements. <pragma once="true" />
- 
nvccflag - Add flag to all nvcc compiles. <nvccflag name="?name" value="-IincludePath" />
- 
nvcclinkflag - Add flag when linking with nvcc code. <nvcclinkflag name="?name" value="-arch=sm_30" />
- 
files - Define a file group, and set default tags. <files dir="dir" name="name" tags="tag1,tag2,tag3" > ... </files>- dir = directory to which the filenames in the group are relative
- tags = comma separated list of flags tags
 
- 
target - Define a target, and set its toolid(link mode) and output name. <target name="name" overwrite="true" append="true" tool="linker" toolid="${haxelink}" output="filename" > ... </target>
- 
copyFile - Copy a file after given toolId is run into target output directory <copyFile name="destination" from="src" allowMissing="true" overwrite="true" toolId="filter" >
- 
magiclib - Internal for replacing dlls with object files <magiclib name="libname" replace="old dll" />
- 
compiler - Define a compiler. <compiler id="id" exe="command" replace="true" > ... </compiler>- Use optional 'replace' to overwrite, otherwise append
- It is assumed only 1 compiler is active
- exe can be overridden in the body of the definition
 
- 
stripper - Define a stripper, to remove debug information for release from gcc executables <stripper exe="command" replace="true" > </stripper>- Use optional 'replace' to overwrite, otherwise append
 
- 
linker - Define a linker. <linker id="id" exe="command" replace="true" > </linker>- Use optional 'replace' to overwrite, otherwise append
- id could be 'static_link', 'dll' or 'exe'. Usually all 3 linkers are defined.
- exe can be overridden in the body of the definition
 
- 
prelinker - Define a prelinker. <prelinker name="id" replace="true" /> ... </prelinker>