Commit a1a7bef4 authored by Lefebvre, Jordan's avatar Lefebvre, Jordan
Browse files

Initial remote shell management core. Still working on control flow.

parent 65a960d6
---
Language: Cpp
# BasedOnStyle: Google
AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: true
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeCategories:
- Regex: '^<.*\.h>'
Priority: 1
- Regex: '^<.*'
Priority: 2
- Regex: '.*'
Priority: 3
IncludeIsMainRegex: '([-_](test|unittest))?$'
IndentCaseLabels: true
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: false
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 4
UseTab: Never
...
[submodule "TriBITS"]
path = TriBITS
url = https://github.com/lefebvre/TriBITS
[submodule "testframework"]
path = testframework
url = https://github.com/lefebvre/testframework
[submodule "googletest"]
path = googletest
url = https://github.com/lefebvre/googletest
[submodule "radix"]
path = radix
url = https://code.ornl.gov/jap/radix.git
################################################################################
# #
# rsm TriBITS Project and Package CMakeLists.txt File #
# #
################################################################################
IF (NOT TRIBITS_PROCESSING_PACKAGE)
# This CMakeLists.txt file is being processed as the rsm TriBITS projects's base
# CMakeLists.txt file! (See comments at bottom of this file.)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake")
PROJECT(${PROJECT_NAME} NONE)
# enable C++11 by default
SET(rsm_ENABLE_CXX11 ON CACHE BOOL "Compile using the C++11 standard" FORCE)
SET(USE_QT5 TRUE)
# disable generating HTML dependencies webpage and xml files
SET(${PROJECT_NAME}_DEPS_XML_OUTPUT_FILE OFF CACHE BOOL "")
# disable TriBITS export system to save time configuring
SET(${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES OFF CACHE BOOL "")
SET(${PROJECT_NAME}_ENABLE_EXPORT_MAKEFILES OFF CACHE BOOL "")
SET(${PROJECT_NAME}_TRIBITS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/TriBITS/tribits" CACHE PATH "")
INCLUDE("${${PROJECT_NAME}_TRIBITS_DIR}/TriBITS.cmake")
SET(${PROJECT_NAME}_ENABLE_TESTS ON CACHE BOOL "Enable tests by default.")
# set default debug output
IF(NOT DEFINED DEBUG_OUTPUT)
SET(DEBUG_OUTPUT 0 CACHE STRING "Display debug output.")
ENDIF()
IF(DEBUG_OUTPUT)
ADD_DEFINITIONS("-DDEBUG_OUTPUT=${DEBUG_OUTPUT}")
ENDIF()
IF(RADIX_DBC)
ADD_DEFINITIONS("-DRADIX_DBC=${RADIX_DBC}")
ENDIF()
#
# For windows with BUILD_SHARED_LIBS we must use CMAKE_RUNTIME_OUTPUT_DIRECTORY
# to place all *dll and *exe in the same directory so unit tests will work
IF("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" AND BUILD_SHARED_LIBS)
IF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cmake_runtime_output" CACHE STRING "")
ENDIF()
ENDIF()
TRIBITS_PROJECT()
ELSE()
# This CMakeLists.txt file is being processed as the TriBITS package file.
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
# include binary directory for configured includes
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
TRIBITS_PACKAGE_DECL(rsm)
#
# Process subpackages
#
TRIBITS_PROCESS_SUBPACKAGES()
TRIBITS_PACKAGE_DEF()
TRIBITS_PACKAGE_POSTPROCESS()
ENDIF()
# NOTE: In order to allow the `rsm/` directory to be both a TriBITS
# package (for inclusion in other TriBITS projects) and to be a TriBITS
# project itself, you only have to put in a simple if statement in this
# top-level CMakeLists.txt file. That is all!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.7.0, 2020-01-16T14:06:52. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{a7574364-5e9d-46b0-b5a7-8b739bdccd0a}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">false</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.9.0 (gcc_64)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.9.0 (gcc_64)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{2df204d4-6c25-4675-bba0-dfd06e3fa597}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<valuelist type="QVariantList" key="CMake.Configuration">
<value type="QString">CMAKE_BUILD_TYPE:STRING=DEBUG</value>
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
<value type="QString">CMAKE_C_COMPILER:STRING=/usr/bin/gcc</value>
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
<value type="QString">DEBUG_OUTPUT:STRING=1</value>
<value type="QString">LibSSH_DIR:STRING=/opt/libssh/0.9.3/lib64/cmake/libssh/</value>
<value type="QString">LibSSH_INCLUDE_DIR:PATH=/opt/libssh/0.9.3/include</value>
<value type="QString">OPENSSL_ROOT_DIR:STRING=/opt/openssl/1.1.1d/</value>
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
<value type="QString">rsm_ENABLE_rsmcore:STRING=ON</value>
</valuelist>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/jap/projects/build/rsm/Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">VERBOSE=1</value>
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CMake Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CMake Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
<value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory.default">/home/jap/projects/build/rsm/Debug/rsmcore/tests</value>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">rsmcore_tstSession</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.rsmcore_tstSession
/home/jap/projects/rsm/rsmcore/tests/</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>
##---------------------------------------------------------------------------##
## rsm/CTestConfig.cmake
## Jordan Lefebvre
## Tuesday Dec 20 12:36:20 2016
##---------------------------------------------------------------------------##
# Must match what is in CDash project 'rsm'
SET(CTEST_NIGHTLY_START_TIME "02:00:00 UTC")
SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 200)
set(CTEST_PROJECT_NAME "rsm")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "nsm-cdash.ornl.gov")
set(CTEST_DROP_LOCATION "/submit.php?project=rsm")
set(CTEST_TRIGGER_SITE "")
set(CTEST_DROP_SITE_CDASH TRUE)
##---------------------------------------------------------------------------##
## end of rsm/CTestConfig.cmake
##---------------------------------------------------------------------------##
##---------------------------------------------------------------------------##
## rsm/PackagesList.cmake
## Jordan Lefebvre, lefebvrejp@ornl.gov
## Tuesday April 19 10:23:24 2016
##---------------------------------------------------------------------------##
#
# See documentation in TriBITS https://tribits.org
##---------------------------------------------------------------------------##
## PACKAGES PROVIDED
##---------------------------------------------------------------------------##
TRIBITS_REPOSITORY_DEFINE_PACKAGES(
googletest googletest/googletest PT
testframework testframework PT
radix radix PT
rsm . PT
)
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(
googletest
testframework
QtSolutions
QCustomPlot
)
##---------------------------------------------------------------------------##
## end of rsm/PackagesList.cmake
##---------------------------------------------------------------------------##
##---------------------------------------------------------------------------##
## rsm/ProjectName.cmake
## Jordan Lefebvre, lefebvrejp@ornl.gov
##---------------------------------------------------------------------------##
# Must set the project name as a variable at very beginning before including
# anything else
SET(PROJECT_NAME rsm)
##---------------------------------------------------------------------------##
## end of rsm/ProjectName.cmake
##---------------------------------------------------------------------------##
# rsm
# Requirements
* C compiler. gcc 4.8 tested
* Git
* CMake. 2.8.12.2 tested.
Remote Shell Management
\ No newline at end of file
# Getting Started
* You will need to save your ssh-key in [code.ornl.gov](https://code.ornl.gov/profile/keys).
* Clone rsm
`git clone git@code.ornl.gov:jap/rsm.git ~/rsm`
* Change directory into rsm `cd ~/rsm`
* Initialize git submodules
`git submodule init`
* Clone submodules
`gitsubmodule update`
* Create a build directory
`mkdir -p ~/build/rsm`
* Change into the build `cd ~/build/rsm`
* Create a configuration script in ~/build/. Lets call is ../configure.sh(linux), ..\configure.bat(windows)
```
#!/bin/bash
# Linux bash file example
rm -rf CMake*
cmake \
-D OPENSSL_ROOT_DIR=${OPENSSL_INSTALL_PREFIX} \
-D LibSSH_DIR=${LibSSH_INSTALL_PREFIX}/lib64/cmake/libssh \
-D CMAKE_BUILD_TYPE:STRING=RELEASE \
-D rsm_ENABLE_ALL_PACKAGES:BOOL=ON \
-D rsm_ENABLE_TESTS:BOOL=ON \
-G "Unix Makefiles" \
~/rsm
```
```
rem Windows MinGW bat file example
del /S /Q CMake*
cmake ^
-D OPENSSL_ROOT_DIR=${OPENSSL_INSTALL_PREFIX} \
-D LibSSH_DIR=${LibSSH_INSTALL_PREFIX}/lib64/cmake/libssh \
-D CMAKE_BUILD_TYPE:STRING=RELEASE ^
-D rsm_ENABLE_ALL_PACKAGES:BOOL=ON ^
-D rsm_ENABLE_TESTS:BOOL=ON ^
-G "MinGW Makefiles" ^
~/rsm
```
* Invoke configure script in the build directory.
`../configure.sh or ..\configure.bat`
* I place the configure script in the build directory as opposed to the build/rsm directory because it allows me to delete the build/rsm
directory without removing my script.
##---------------------------------------------------------------------------##
## rsm/TPLsList.cmake
## Jordan Lefebvre, lefebvrejp@ornl.gov
##---------------------------------------------------------------------------##
#
# Define the list of TPLs, their find module names, and their classification
#
# TPL_NAME:
#
# The name of the TPL used in the CMake cache variables TPL_ENABLE_${TPL_NAME}
#
# TPL_FINDMOD:
#
# The name of the find module under that is used to get the names of the
# TPLs. If ends in '/' then this gives the directory and the standard module
# name will be used which is FindTPL${TPL_NAME}.cmake.
#
# TPL_CLASSIFICATION:
#
# PS: Primary Stable TPL
#
# Primary Stable TPLs are those TPLs that a Trilinos developer must have
# installed on their machine in order to be able to do Trilinos
# development. For example, we require that you have BLAS, LAPACK, and
# MPI installed in order to do Trilinos development. These are
# fundamental dependencies that are needed in order to do precheckin
# testing.
#
# SS: Secondary Stable TPL
#
# Secondary Stable TPLs are those TPLs that are not required in order to
# be able to develop and test Trilinos before checkins but are none the
# less offically supported. Support for SS TPLs is tested as part of the
# nightly testing process.
#
# TS: Tertiary Stable TPL
#
# Tertiary Stable TPLs are those TPLs that are supported TPLs but can not
# be included in the set of SS TPLs because they may conflicit with other
# SS Code. For example, METIS is listed as a TS TPL because it conflicts
# with ParMETIS which is declared as a SS TPL.
#
# EX: Experimental TPL
#
# Experimental TPLs are not offically supported. They represent
# experimental capabilities of Trilinos packages. Support for EX TPLs is
# never tested as part of the main nightly testing process. However,
# package developers are encouraged to set up their own nightly testing
# for their EX TPLs for their packages.
#
# The default enable for all TPLs is empty "" reguardless of the category.
# The idea is that the enabling of the TPL will be done by the package and
# other enables that the user has to set.
#
SET(rsm_TPLS_FINDMODS_CLASSIFICATIONS
OpenSSL "cmake/TPLs/" PT
LibSSH "cmake/TPLs/" PT
Qt5Core "cmake/TPLs/" ST
Qt5Gui "cmake/TPLs/" ST
Qt5Widgets "cmake/TPLs/" ST
)
##---------------------------------------------------------------------------##
## end of rsm/TPLsList.cmake
##---------------------------------------------------------------------------##
Subproject commit 45a6ab1e69c1e65a8e1d61e4de7db5e53340245d
##---------------------------------------------------------------------------##
## rsm/Version.cmake
## Jordan P. Lefebvre, lefebvrejp@ornl.gov
##---------------------------------------------------------------------------##
# Single file that needs to be changed on a release branch
# or on the development branch in order to configure rsm
# for release mode and set the version.
SET(rsm_NAME "rsm")
SET(rsm_VERSION 0.1)
SET(rsm_FULL_VERSION "alpha 0.1")
SET(rsm_VERSION_STRING "0.1 (aplha)")
SET(rsm_MAJOR_VERSION 00)
SET(rsm_MAJOR_MINOR_VERSION 001000)
SET(rsm_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release (beta or final)
##---------------------------------------------------------------------------##
## end of rsm/Version.cmake
##---------------------------------------------------------------------------##
##---------------------------------------------------------------------------##
## rsm/cmake/CallbackSetupExtraOptions.cmake
## Jordan Lefebvre, lefebvrejp@ornl.gov
##---------------------------------------------------------------------------##
IF (rsm_SOURCE_DIR)
# We need to inject the rsm/cmake directory to find several rsm-specific
# macros
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${rsm_SOURCE_DIR}/cmake")
ENDIF()
##---------------------------------------------------------------------------##
MACRO(TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS)
#
# Include the testframework setup