From 857e74a35c91bc64674a5d02eea516827caf5e09 Mon Sep 17 00:00:00 2001 From: Andreas Josef Heil Date: Mon, 3 Jul 2017 18:21:50 +0200 Subject: [PATCH] added ci scripts --- .appveyor.yml | 59 ++++ .travis.yml | 51 ++++ Tools/appveyor/build.ps1 | 28 ++ Tools/appveyor/deployToGithubPages.ps1 | 16 + Tools/appveyor/install.ps1 | 33 +++ Tools/appveyor/prepareDeployment.ps1 | 15 + Tools/appveyor/takeScreenshot.ps1 | 28 ++ Tools/appveyor/test.ps1 | 7 + Tools/doxygen/.gitignore | 3 + Tools/doxygen/dumpScriptDoc.cs | 6 + Tools/doxygen/engineReference.cfg | 383 ++++++++++++++++++++++++ Tools/doxygen/generateInput.ps1 | 10 + Tools/doxygen/input/.gitignore | 2 + Tools/doxygen/output/.gitignore | 2 + Tools/doxygen/scriptReference.cfg | 385 +++++++++++++++++++++++++ Tools/travis/beforeDeploy.sh | 21 ++ Tools/travis/dockerCompose.yml | 11 + Tools/travis/install.sh | 29 ++ Tools/travis/installDependencies.sh | 14 + Tools/travis/script.sh | 27 ++ 20 files changed, 1130 insertions(+) create mode 100644 .appveyor.yml create mode 100644 .travis.yml create mode 100644 Tools/appveyor/build.ps1 create mode 100644 Tools/appveyor/deployToGithubPages.ps1 create mode 100644 Tools/appveyor/install.ps1 create mode 100644 Tools/appveyor/prepareDeployment.ps1 create mode 100644 Tools/appveyor/takeScreenshot.ps1 create mode 100644 Tools/appveyor/test.ps1 create mode 100644 Tools/doxygen/.gitignore create mode 100644 Tools/doxygen/dumpScriptDoc.cs create mode 100644 Tools/doxygen/engineReference.cfg create mode 100644 Tools/doxygen/generateInput.ps1 create mode 100644 Tools/doxygen/input/.gitignore create mode 100644 Tools/doxygen/output/.gitignore create mode 100644 Tools/doxygen/scriptReference.cfg create mode 100755 Tools/travis/beforeDeploy.sh create mode 100644 Tools/travis/dockerCompose.yml create mode 100755 Tools/travis/install.sh create mode 100755 Tools/travis/installDependencies.sh create mode 100755 Tools/travis/script.sh diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000000..40e1571912 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,59 @@ +cache: + - C:\ProgramData\chocolatey\bin + - C:\ProgramData\chocolatey\lib + +image: + - Visual Studio 2013 + - Visual Studio 2015 +# - Visual Studio 2017 + +environment: + github_token: + secure: 1Z6WAhrXFRCDiR9sDl9GLpd2yHaC4QxVwOuihLqfhn9oigDyFFlj6ek6+0VoEbGH + github_email: + secure: 83W6QhzZVYQ4Zca5GpbATA== + matrix: + - additional_cmake_args: "-DTORQUE_PHYSICS_BULLET=on -DTORQUE_TESTING=on" + bin_deployable_conf: "true" + - additional_cmake_args: "-DTORQUE_PHYSICS_BULLET=on -DTORQUE_OPENGL=on -DTORQUE_TESTING=on" + additional_build_args: "--config Release" + doxydoc_deployable_conf: "true" + testable_conf: "true" + +platform: + - i386 + - amd64 + +#init: + # enable RDP + #- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + +install: + - ps: . .\Tools\appveyor\install.ps1 + +build_script: + - ps: . .\Tools\appveyor\build.ps1 + +test_script: + - ps: if ($env:testable_conf -eq "true") {. .\Tools\appveyor\test.ps1 } + +after_test: + - ps: . .\Tools\appveyor\prepareDeployment.ps1 + +artifacts: + - path: $(bundle_name) + +deploy: + release: Torque3D + provider: GitHub + tag: $(appveyor_repo_tag_name) + auth_token: + secure: 1Z6WAhrXFRCDiR9sDl9GLpd2yHaC4QxVwOuihLqfhn9oigDyFFlj6ek6+0VoEbGH + draft: false + force_update: true + on: + bin_deploy_condition: true + +on_finish: + - ps: get-childItem .\*.png | % { push-appveyorArtifact $_.fullName -fileName $_.name } + - ps: if ($env:doxydoc_deploy_condition -eq "true") { . .\Tools\appveyor\deployToGithubPages.ps1 } diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..e6cce33f78 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,51 @@ +matrix: + include: + - os: linux + dist: trusty + sudo: required + services: docker + env: OS_ID="ubuntu-latest-lts" ADDITIONAL_CMAKE_ARGS="-DTORQUE_PHYSICS_BULLET=on -DTORQUE_TESTING=on" DEPLOYABLE_CONF=true + compiler: gcc + # - os: osx + # env: ADDITIONAL_CMAKE_ARGS="-DTORQUE_TESTING=off -DTORQUE_PHYSICS_BULLET=off" DEPLOYABLE_CONF=true CXXFLAGS="-fgnu-inline-asm -fasm-blocks" + # osx_image: xcode9 + # compiler: clang + # - os: osx + # env: ADDITIONAL_CMAKE_ARGS="-DTORQUE_TESTING=off -DTORQUE_PHYSICS_BULLET=off" DEPLOYABLE_CONF=true CXXFLAGS="fgnu-inline-asm -fasm-blocks" + # osx_image: xcode8.3 + # compiler: clang + - os: osx + env: ADDITIONAL_CMAKE_ARGS="-DTORQUE_TESTING=off -DTORQUE_PHYSICS_BULLET=on" DEPLOYABLE_CONF=true #CXXFLAGS="-fgnu-inline-asm -fasm-blocks" + osx_image: xcode8 + compiler: clang + # - os: osx + # env: ADDITIONAL_CMAKE_ARGS="-DTORQUE_TESTING=off -DTORQUE_PHYSICS_BULLET=on" DEPLOYABLE_CONF=true CXXFLAGS="-fgnu-inline-asm -fasm-blocks" + # osx_image: xcode7.3 + # compiler: clang + +language: cpp + +install: +- source ./Tools/travis/install.sh + +script: +- | + if [[ $TRAVIS_OS_NAME = linux ]];then + docker_exec ./Tools/travis/script.sh + else + ./Tools/travis/script.sh + fi + +before_deploy: +- source ./Tools/travis/beforeDeploy.sh + +deploy: + provider: releases + api_key: + secure: nA4UTb1jcypzxbRsioMc2LObsTd+DR6mjHdj1a4zGxrDe8o8cxE9NLwkIeJp2dPB5tuLXazghh4k3KyurwMKcg3IEfn7vGDMyd+PhD4p4SXQT/pEPNwaQiBGAKPmABqN7DSCeluEbM0VpOZVsXSnXQGFYy6jB1TlXYORDJ5vIMHj8tdc0YH1wY0LQw3QjEZeS9Oq1v2HdXGFGvoHV5FvOcy6TskbhTbUIUhalan9+iB/xS5zGmpNJwzI6G7i9HEdD4mfKdyQ4JAxHMB78ApcfNyqHfkYa/T3d7Hi7pxPS2xRzu1gZL6ux0oFuJbYHH83k9D+cBM0rQtW78aTl0qn4v1qw1L9TUIr/Ji2hu3XEKbTIfoOG+Rr0cC2m4ZaTJNh2RTUoA7gsK+/lor6rGEvoMPj7sfKhQcCzRuJ2kDUHjwJBqU11OrSQ13y3tJY0U7b0UBdYhSk3n7QqYVfH3WFMa57VfmsOHvD99FW/j6aRzPSavtK5os7FNtaIkpKYwoYQUe5Cw3nOy3TEh4D0QnANezUDmEXG3uq0fCwAzW+WrJ/GaegegiPuFKP72wwKJ0MmTbFQH6iH5VFJsWM6pBRiPegvnxIJd25YoYgtrqQoOoDRfZ0W2iIoWZbfXUoeLrFy2kuOA1yT4rI5pDIuMsz4XjxyXgAHZtxGjYsvPUPEhY= + file: "My Projects/Torque3D/game/${BUNDLE_NAME}" + skip_cleanup: true + overwrite: true + on: + all_branches: true + condition: $DEPLOY_CONDITION diff --git a/Tools/appveyor/build.ps1 b/Tools/appveyor/build.ps1 new file mode 100644 index 0000000000..2e0a6a915e --- /dev/null +++ b/Tools/appveyor/build.ps1 @@ -0,0 +1,28 @@ +Set-PSDebug -Trace 1 + +switch -wildcard ($env:appveyor_build_worker_image) +{ + "*2013" { $env:generator="Visual Studio 12 2013" } + "*2015" { $env:generator="Visual Studio 14 2015" } + "*2017" { $env:generator="Visual Studio 15 2017" } + default { throw "Unkown Worker Image!" } +} +if ($env:platform -eq "amd64"){ + $env:generator=$env:generator + " Win64" +} + +mkdir -p "My Projects\Torque3D\buildFiles\CMake" +pushd "My Projects\Torque3D\buildFiles\CMake" +cmake ..\..\..\..\ -G $env:generator -DTORQUE_APP_NAME=Torque3D $env:additional_cmake_args +exec { iex "cmake --build . --target install $env:additional_build_args" } +popd + +if ($env:doxydoc_deploy_condition -eq "true"){ + pushd "Tools\doxygen\" + . .\generateInput.ps1 + doxygen engineReference.cfg + doxygen scriptReference.cfg + popd +} + +powershell -file $env:toolsdir\appveyor\takeScreenshot.ps1 diff --git a/Tools/appveyor/deployToGithubPages.ps1 b/Tools/appveyor/deployToGithubPages.ps1 new file mode 100644 index 0000000000..73bfc8d7d2 --- /dev/null +++ b/Tools/appveyor/deployToGithubPages.ps1 @@ -0,0 +1,16 @@ +Set-PSDebug -Trace 1 + +git config --global credential.helper store +add-content "$env:USERPROFILE\.git-credentials" "https://$($env:github_token):x-oauth-basic@github.com`n" +git config --global user.email $env:github_email +git config --global user.name "andijh92" + +# copy right doc dir to gh-pages branch +git add doc\$env:appveyor_repo_tag_name +git commit -m "added generated doc for pushing to gh-pages branch" +git branch tmp-doc +git checkout -q gh-pages +git checkout tmp-doc -- doc\$env:appveyor_repo_tag_name + +git commit -m "added generated doc" +git push -q origin gh-pages diff --git a/Tools/appveyor/install.ps1 b/Tools/appveyor/install.ps1 new file mode 100644 index 0000000000..aec148901a --- /dev/null +++ b/Tools/appveyor/install.ps1 @@ -0,0 +1,33 @@ +Set-PSDebug -Trace 1 + +function exec([scriptblock]$cmd, [string]$errorMessage = "Error executing command: " + $cmd){ + & $cmd + if ($LastExitCode -ne 0) { + throw $errorMessage + } +} + +if ($env:appveyor_repo_branch -eq "development"){ + $env:appveyor_repo_tag="true" + $env:appveyor_repo_tag_name="dev" +} + +if ($env:appveyor_repo_tag -and + ($env:appveyor_build_worker_image -eq "Visual Studio 2015")) +{ + if($env:bin_deployable_conf){ + $env:bin_deploy_condition="true" + } + if($env:doxydoc_deployable_conf -and + ($env:platform -eq "i386")){ + $env:doxydoc_deploy_condition="true" + } +} + +if($env:doxydoc_deploy_condition -eq "true"){ + exec { choco install -y doxygen.portable graphviz } +} + +$env:rootdir=$env:appveyor_build_folder +$env:gamedir="$env:rootdir\My Projects\Torque3D\game" +$env:toolsdir="$env:rootdir\Tools" diff --git a/Tools/appveyor/prepareDeployment.ps1 b/Tools/appveyor/prepareDeployment.ps1 new file mode 100644 index 0000000000..1f13472840 --- /dev/null +++ b/Tools/appveyor/prepareDeployment.ps1 @@ -0,0 +1,15 @@ +# make bin bundle +pushd $env:gamedir +if ($env:appveyor_repo_tag_name -eq "dev"){ + echo "The last commit was $env:appveyor_repo_commit when compiling this binary." > VERSION +} +$env:bundle_name="Torque3D-${env:appveyor_repo_tag_name}-Win-${env:platform}.zip" +7z a $env:bundle_name * +mv $env:bundle_name $env:rootdir +popd + +# mv doxygen output +mkdir -p doc\$env:appveyor_repo_tag_name +mv $env:toolsdir\doxygen\output\* doc\$env:appveyor_repo_tag_name +rm doc\.gitignore +rm doc\$env:appveyor_repo_tag_name\.gitignore diff --git a/Tools/appveyor/takeScreenshot.ps1 b/Tools/appveyor/takeScreenshot.ps1 new file mode 100644 index 0000000000..ecd007af76 --- /dev/null +++ b/Tools/appveyor/takeScreenshot.ps1 @@ -0,0 +1,28 @@ +# from https://github.com/FeodorFitsner/selenium-tests/blob/master/take-screenshot.ps1 Thanks! + +[Reflection.Assembly]::LoadWithPartialName("System.Drawing") +function screenshot([Drawing.Rectangle]$bounds, $path) { + $bmp = New-Object Drawing.Bitmap $bounds.width, $bounds.height + $graphics = [Drawing.Graphics]::FromImage($bmp) + + $graphics.CopyFromScreen($bounds.Location, [Drawing.Point]::Empty, $bounds.size) + + $bmp.Save($path) + + $graphics.Dispose() + $bmp.Dispose() +} + +#NUC bounds +$bounds = [Drawing.Rectangle]::FromLTRB(0, 0, 1280, 800) + +#remote display bounds +#$bounds = [Drawing.Rectangle]::FromLTRB(0, 0, 1280, 800) + +$PC_name=$(Get-WmiObject Win32_Computersystem).name + +$dateandtime = Get-Date -Format yyyy-MM-dd-hh-mm-ss + +$path_pcname= "$env:appveyor_build_folder\" + $PC_name + "_screenshot_" + "$dateandtime"+ ".png" + +screenshot $bounds $path_pcname diff --git a/Tools/appveyor/test.ps1 b/Tools/appveyor/test.ps1 new file mode 100644 index 0000000000..a11847daf7 --- /dev/null +++ b/Tools/appveyor/test.ps1 @@ -0,0 +1,7 @@ +pushd $env:gamedir +.\Torque3*.exe runTests.cs +start-sleep -seconds 120 +powershell -file $env:toolsdir\appveyor\takeScreenshot.ps1 +mv console.log unitTests.log +push-appveyorArtifact unitTests.log +popd diff --git a/Tools/doxygen/.gitignore b/Tools/doxygen/.gitignore new file mode 100644 index 0000000000..b28f64f0bc --- /dev/null +++ b/Tools/doxygen/.gitignore @@ -0,0 +1,3 @@ +*.log + +/*.tag \ No newline at end of file diff --git a/Tools/doxygen/dumpScriptDoc.cs b/Tools/doxygen/dumpScriptDoc.cs new file mode 100644 index 0000000000..c101ed7eca --- /dev/null +++ b/Tools/doxygen/dumpScriptDoc.cs @@ -0,0 +1,6 @@ +enableWinConsole(true); +exec("core/scripts/client/scriptDoc.cs"); +writeOutFunctions(); +writeOutClasses(); +dumpEngineDocs("scriptModules.txt"); +quit(); diff --git a/Tools/doxygen/engineReference.cfg b/Tools/doxygen/engineReference.cfg new file mode 100644 index 0000000000..48d98a68b1 --- /dev/null +++ b/Tools/doxygen/engineReference.cfg @@ -0,0 +1,383 @@ +# Doxyfile 1.8.11 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "Torque3D - Engine Reference" +PROJECT_NUMBER = +PROJECT_BRIEF = +PROJECT_LOGO = +OUTPUT_DIRECTORY = output +CREATE_SUBDIRS = NO +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +TCL_SUBST = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = ../../Engine/source +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf \ + *.as \ + *.js +RECURSIVE = YES +EEXCLUDE = */cvs/* \ + */.svn/* \ + ../../Engine/source/demo \ + ../../Engine/source/platformXbox \ + ../../Engine/source/gfx/D3D9/360 \ + ../../Engine/source/windowManager/360 \ + ../../Engine/source/ts/arch/360 \ + ../../Engine/source/platformPS3 \ + ../../Engine/source/ts/arch/ps3 \ + ../../Engine/source/T2D \ + ../../Engine/source/lighting/ILBeast \ + ../../Engine/source/core/util/FastDelegate.h \ + ../../Engine/source/Dust +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = engineReference +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = NO +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +MSCGEN_PATH = +DIA_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_INCLUDE_PATH = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES diff --git a/Tools/doxygen/generateInput.ps1 b/Tools/doxygen/generateInput.ps1 new file mode 100644 index 0000000000..8afae60c6f --- /dev/null +++ b/Tools/doxygen/generateInput.ps1 @@ -0,0 +1,10 @@ +Set-PSDebug -Trace 1 + +pushd $env:gamedir +cp $env:toolsdir\doxygen\dumpScriptDoc.cs . +& ".\Torque3*.exe" dumpScriptDoc.cs +start-sleep -seconds 60 +mv scriptClasses.txt $env:toolsdir\doxygen\input +mv scriptFunctions.txt $env:toolsdir\doxygen\input +mv scriptModules.txt $env:toolsdir\doxygen\input +popd diff --git a/Tools/doxygen/input/.gitignore b/Tools/doxygen/input/.gitignore new file mode 100644 index 0000000000..c96a04f008 --- /dev/null +++ b/Tools/doxygen/input/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/Tools/doxygen/output/.gitignore b/Tools/doxygen/output/.gitignore new file mode 100644 index 0000000000..c96a04f008 --- /dev/null +++ b/Tools/doxygen/output/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/Tools/doxygen/scriptReference.cfg b/Tools/doxygen/scriptReference.cfg new file mode 100644 index 0000000000..dfac84e5a4 --- /dev/null +++ b/Tools/doxygen/scriptReference.cfg @@ -0,0 +1,385 @@ +# Doxyfile 1.8.11 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "Torque3D - Script Reference" +PROJECT_NUMBER = +PROJECT_BRIEF = +PROJECT_LOGO = +OUTPUT_DIRECTORY = output +CREATE_SUBDIRS = NO +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = "tsexample_nopar=@code\n" "tsexample=@par Example:\n@code\n" "endtsexample=@endcode\n" +TCL_SUBST = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = input/scriptFunctions.txt \ + input/scriptClasses.txt \ + input/scriptModules.txt +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf \ + *.as \ + *.js +RECURSIVE = YES +EEXCLUDE = */cvs/* \ + */.svn/* \ + ../../Engine/source/demo \ + ../../Engine/source/platformXbox \ + ../../Engine/source/gfx/D3D9/360 \ + ../../Engine/source/windowManager/360 \ + ../../Engine/source/ts/arch/360 \ + ../../Engine/source/platformPS3 \ + ../../Engine/source/ts/arch/ps3 \ + ../../Engine/source/T2D \ + ../../Engine/source/lighting/ILBeast \ + ../../Engine/source/core/util/FastDelegate.h \ + ../../Engine/source/Dust +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = scriptReference +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = NO +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +MSCGEN_PATH = +DIA_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_INCLUDE_PATH = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES diff --git a/Tools/travis/beforeDeploy.sh b/Tools/travis/beforeDeploy.sh new file mode 100755 index 0000000000..927e4ba768 --- /dev/null +++ b/Tools/travis/beforeDeploy.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +if [[ $TRAVIS_OS_NAME = osx ]]; then + BUNDLE_OS_LABEL=OSX +elif [[ $TRAVIS_OS_NAME = linux ]]; then + BUNDLE_OS_LABEL=Linux +fi +export BUNDLE_NAME=Torque3D-$TRAVIS_TAG-$BUNDLE_OS_LABEL.tar.gz + +if [[ $TRAVIS_OS_NAME = linux ]]; then + sudo chown -R --reference $TRAVIS_BUILD_DIR . + sudo chmod -R --reference $TRAVIS_BUILD_DIR . +fi + +pushd My\ Projects/Torque3D/game +if [[ $TRAVIS_BRANCH = development ]]; then + echo "$TRAVIS_COMMIT was the last commit when compiling this binary." > VERSION +fi +tar -zcvf $BUNDLE_NAME * +popd diff --git a/Tools/travis/dockerCompose.yml b/Tools/travis/dockerCompose.yml new file mode 100644 index 0000000000..655e5cd9a4 --- /dev/null +++ b/Tools/travis/dockerCompose.yml @@ -0,0 +1,11 @@ +version: '2' +services: + ubuntu-latest-lts: + volumes: + - ../../:/Torque3D + image: "ubuntu:latest" + command: sleep infinity + # fedora-25: + # volumes: + # - ../../:/Torque3D + # image: "fedora:25" diff --git a/Tools/travis/install.sh b/Tools/travis/install.sh new file mode 100755 index 0000000000..c8add53cb0 --- /dev/null +++ b/Tools/travis/install.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +docker_compose () { + docker-compose -f Tools/travis/dockerCompose.yml $@ +} +export -f docker_compose + +docker_exec () { + docker exec --user root travis_${OS_ID}_1 bash -c \ + "cd Torque3D/; TRAVIS_OS_NAME=$TRAVIS_OS_NAME OS_ID=$OS_ID $@" +} +export -f docker_exec + +if [[ $TRAVIS_BRANCH = development ]]; then export TRAVIS_TAG=dev; fi + +if [[ ($OS_ID = "ubuntu-latest-lts" || $TRAVIS_OS_NAME = osx ) && \ + $TRAVIS_TAG && \ + $DEPLOYABLE_CONF = true ]]; then + DEPLOY_CONDITION="true" +fi + +if [[ $TRAVIS_OS_NAME = linux ]]; then + docker_compose up -d $OS_ID + docker_exec ./Tools/travis/installDependencies.sh + +elif [[ $TRAVIS_OS_NAME = osx ]]; then + ./Tools/travis/installDependencies.sh +fi diff --git a/Tools/travis/installDependencies.sh b/Tools/travis/installDependencies.sh new file mode 100755 index 0000000000..aaeed2cf42 --- /dev/null +++ b/Tools/travis/installDependencies.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +if [[ ${OS_ID:0:6} = ubuntu ]]; then + apt-get update + apt-get install -y libgtk-3-dev + apt-get install -y git build-essential nasm xorg-dev ninja-build gcc-multilib g++-multilib cmake cmake-qt-gui + apt-get install -y libogg-dev libxft-dev libx11-dev libxxf86vm-dev libopenal-dev libfreetype6-dev libxcursor-dev libxinerama-dev libxi-dev libxrandr-dev libxss-dev libglu1-mesa-dev + +elif [[ $TRAVIS_OS_NAME = osx ]]; then + # brew update + # brew install sdl2 + echo "No dependencies to install." +fi diff --git a/Tools/travis/script.sh b/Tools/travis/script.sh new file mode 100755 index 0000000000..a3bd694f3d --- /dev/null +++ b/Tools/travis/script.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +if [[ $TRAVIS_OS_NAME = linux ]]; then + mkdir -p My\ Projects/Torque3D/buildFiles/ubuntu + pushd My\ Projects/Torque3D/buildFiles/ubuntu + cmake ../../../.. -DTORQUE_APP_NAME=Torque3D $ADDITIONAL_CMAKE_ARGS + echo CFLAGS:: $CFLAGS LDFLAGS:: $LDFLAGS + make + make install || true + pushd ../../game + ./Torque3D runTests.cs || true + popd + popd + +elif + [[ $TRAVIS_OS_NAME = osx ]]; then + mkdir -p My\ Projects/Torque3D/ + pushd My\ Projects/Torque3D/ + cmake ../../ -DTORQUE_APP_NAME=Torque3D $ADDITIONAL_CMAKE_ARGS + echo "FOR TESTING:: CFLAGS: $CFLAGS LDFLAGS: $LDFLAGS" + cmake --build . + pushd game + ./Torque3D runTests.cs || true + popd + popd +fi