├── .clang-format ├── .gitignore ├── .gitlab-ci.yml ├── .travis.yml ├── CMakeLists.txt ├── Futility-CopyrightAndLicense.txt ├── HEADER.txt ├── LICENSE.txt ├── PackagesList.cmake ├── ProjectName.cmake ├── README.md ├── README.txt ├── TPLsList.cmake ├── Version.cmake ├── build_scripts └── build_on_docker.sh ├── cmake ├── CheckLaTeXPackages.cmake ├── CheckMPIF2003StandardCompiles.cmake ├── CheckMPIF2008StandardCompiles.cmake ├── Configure_Common.cmake ├── Dependencies.cmake ├── Export_Test_Trace.cmake ├── ExtraRepositoriesList.cmake ├── FutilityBuildQuickRefTemplate.rst ├── Futility_Compiler_Config.cmake ├── Futility_Configurations.cmake ├── Futility_CopyFiles.cmake ├── Futility_CreateUnitTest.cmake ├── Futility_Defines.cmake ├── Futility_config.hpp.in ├── GenerateRequirementsTable.py ├── ProjectCompilerPostConfig.cmake ├── Project_Common.cmake ├── RepositoryDependenciesSetup.cmake ├── Settings_Common.cmake ├── tpl │ ├── FindTPLBLAS.cmake │ ├── FindTPLHDF5.cmake │ ├── FindTPLHYPRE.cmake │ ├── FindTPLMKL.cmake │ ├── FindTPLNetcdf.cmake │ ├── FindTPLPAPI.cmake │ ├── FindTPLPARDISO.cmake │ ├── FindTPLPETSC.cmake │ ├── FindTPLPETSC_old.cmake │ ├── FindTPLPsapi.cmake │ ├── FindTPLSLEPC.cmake │ ├── FindTPLSUNDIALS.cmake │ ├── FindTPLSuperLU.cmake │ ├── FindTPLSuperLUDist.cmake │ └── FindTPLSuperLUMT.cmake └── tribits │ ├── Copyright.txt │ ├── README.DIRECTORY_CONTENTS.rst │ ├── ReleaseNotes.txt │ ├── TriBITS.cmake │ ├── Version.cmake │ ├── ci_support │ ├── CDashQueryAnalyzeReport.py │ ├── CheckinTest.py │ ├── CheckinTestConstants.py │ ├── FindGeneralScriptSupport.py │ ├── README_checkin.md │ ├── TribitsDependencies.py │ ├── TribitsDumpDepsXmlScript.cmake │ ├── TribitsDumpXmlDependenciesFiles.cmake │ ├── TribitsGetExtraReposForCheckinTest.cmake │ ├── TribitsPackageFilePathUtils.py │ ├── TribitsPackageTestNameUtils.py │ ├── TribitsStripCommentsFromCMakeCacheFile.cmake │ ├── cdash_analyze_and_report.py │ ├── cdash_build_testing_date.py │ ├── checkin-test.py │ ├── clone_extra_repos.py │ ├── dump-package-dep-table.py │ ├── filter-packages-list.py │ ├── get-tribits-packages-from-files-list.py │ ├── get-tribits-packages-from-last-tests-failed.py │ └── is_checkin_tested_commit.py │ ├── common_tpls │ ├── FindTPLBLAS.cmake │ ├── FindTPLBinUtils.cmake │ ├── FindTPLBoost.cmake │ ├── FindTPLCGNS.cmake │ ├── FindTPLHDF5.cmake │ ├── FindTPLLAPACK.cmake │ ├── FindTPLNetcdf.cmake │ ├── FindTPLPETSC.cmake │ ├── FindTPLPnetcdf.cmake │ ├── find_modules │ │ ├── FindCGNS.cmake │ │ ├── FindHDF5.cmake │ │ ├── FindNetCDF.cmake │ │ └── FindPNetCDF.cmake │ └── utils │ │ ├── AddImportedLibrary.cmake │ │ ├── AddPackageDependency.cmake │ │ └── ParseLibraryList.cmake │ ├── core │ ├── config_tests │ │ ├── BLASMangling.cmake │ │ ├── FiniteValue.cmake │ │ ├── FortranMangling.cmake │ │ ├── MathLibraryNeeded.cmake │ │ ├── blasmangle │ │ │ ├── CMakeLists.txt │ │ │ └── blasmangle.c │ │ └── fmangle │ │ │ ├── CMakeLists.txt │ │ │ ├── cmangle.c │ │ │ └── fmangle.f │ ├── installation │ │ ├── TribitsConfigInclude.cmake.in │ │ ├── TribitsInstallationTestingMacros.cmake │ │ ├── TribitsPackageConfigTemplate.cmake.in │ │ ├── TribitsPackageConfigTemplate.export.in │ │ ├── TribitsProjectConfigTemplate.cmake.in │ │ ├── TribitsProjectConfigTemplate.export.in │ │ └── cmake_pbp_install.cmake.in │ ├── package_arch │ │ ├── TribitsAddAdvancedTest.cmake │ │ ├── TribitsAddAdvancedTestHelpers.cmake │ │ ├── TribitsAddExecutable.cmake │ │ ├── TribitsAddExecutableAndTest.cmake │ │ ├── TribitsAddExecutableTestHelpers.cmake │ │ ├── TribitsAddOptionAndDefine.cmake │ │ ├── TribitsAddTest.cmake │ │ ├── TribitsAddTestHelpers.cmake │ │ ├── TribitsAdjustPackageEnables.cmake │ │ ├── TribitsBLASMangling.cmake │ │ ├── TribitsCMakePolicies.cmake │ │ ├── TribitsCXX11Support.cmake │ │ ├── TribitsCommonArgsHelpers.cmake │ │ ├── TribitsConfigureCTestCustom.cmake │ │ ├── TribitsConstants.cmake │ │ ├── TribitsCopyFilesToBinaryDir.cmake │ │ ├── TribitsCreateClientTemplateHeaders.cmake │ │ ├── TribitsDefineStandardCompileVars.cmake │ │ ├── TribitsETISupport.cmake │ │ ├── TribitsFindMostRecentFileTimestamp.cmake │ │ ├── TribitsFindPythonInterp.cmake │ │ ├── TribitsFortranMangling.cmake │ │ ├── TribitsGeneralMacros.cmake │ │ ├── TribitsGetVersionDate.cmake │ │ ├── TribitsGlobalMacros.cmake │ │ ├── TribitsHostType.cmake │ │ ├── TribitsIncludeDirectories.cmake │ │ ├── TribitsInstallHeaders.cmake │ │ ├── TribitsLibraryMacros.cmake │ │ ├── TribitsListHelpers.cmake │ │ ├── TribitsPackageMacros.cmake │ │ ├── TribitsPackageSetupCompilerFlags.cmake │ │ ├── TribitsProcessEnabledTpl.cmake │ │ ├── TribitsProcessExtraRepositoriesList.cmake │ │ ├── TribitsProcessPackagesAndDirsLists.cmake │ │ ├── TribitsProcessTplsLists.cmake │ │ ├── TribitsProject.cmake │ │ ├── TribitsProjectImpl.cmake │ │ ├── TribitsReportInvalidTribitsUsage.cmake │ │ ├── TribitsSetupBasicCompileLinkFlags.cmake │ │ ├── TribitsSetupMPI.cmake │ │ ├── TribitsSetupStrongCompileWarnings.cmake │ │ ├── TribitsSortListAccordingToMasterList.cmake │ │ ├── TribitsSubPackageMacros.cmake │ │ ├── TribitsTestCategories.cmake │ │ ├── TribitsTplDeclareLibraries.cmake │ │ ├── TribitsTplFindIncludeDirsAndLibraries.cmake │ │ ├── TribitsVerbosePrintVar.cmake │ │ ├── TribitsWriteClientExportFiles.cmake │ │ ├── Tribits_version.h.in │ │ ├── Tribits_version_date.h.in │ │ ├── VersionDate.cmake.in │ │ └── tribits_get_version_date.cmake │ ├── std_tpls │ │ ├── FindTPLCUDA.cmake │ │ └── FindTPLMPI.cmake │ └── utils │ │ ├── AddSubdirectories.cmake │ │ ├── AdvancedOption.cmake │ │ ├── AdvancedSet.cmake │ │ ├── AppendCmndlineArgs.cmake │ │ ├── AppendGlob.cmake │ │ ├── AppendGlobalSet.cmake │ │ ├── AppendSet.cmake │ │ ├── AppendStringVar.cmake │ │ ├── AppendStringVarWithSep.cmake │ │ ├── AssertAndTouchDefined.cmake │ │ ├── AssertDefined.cmake │ │ ├── CMakeBuildTypesList.cmake │ │ ├── CMakeOverrides.cmake │ │ ├── CombinedOption.cmake │ │ ├── ConcatStrings.cmake │ │ ├── DriveAdvancedTest.cmake │ │ ├── DualScopeAppendCmndlineArgs.cmake │ │ ├── DualScopePrependCmndlineArgs.cmake │ │ ├── DualScopeSet.cmake │ │ ├── FindListElement.cmake │ │ ├── FindProgramPlus.cmake │ │ ├── GenerateNinjaMakefiles.cmake │ │ ├── GetCurrentListDir.cmake │ │ ├── GetLastDirName.cmake │ │ ├── GlobalNullSet.cmake │ │ ├── GlobalSet.cmake │ │ ├── Join.cmake │ │ ├── MessageWrapper.cmake │ │ ├── MultilineSet.cmake │ │ ├── NinjaMakefile.in │ │ ├── NinjaMakefileCommon.make │ │ ├── ParseVariableArguments.cmake │ │ ├── PrependCmndlineArgs.cmake │ │ ├── PrependGlobalSet.cmake │ │ ├── PrependSet.cmake │ │ ├── PrintNonemptyVar.cmake │ │ ├── PrintNonemptyVarWithSpaces.cmake │ │ ├── PrintVar.cmake │ │ ├── RemoveGlobalDuplicates.cmake │ │ ├── SetAndIncDirs.cmake │ │ ├── SetCacheOnOffEmpty.cmake │ │ ├── SetDefault.cmake │ │ ├── SetDefaultAndFromEnv.cmake │ │ ├── SetNotFound.cmake │ │ ├── Split.cmake │ │ ├── TimingUtils.cmake │ │ ├── TribitsGetCategoriesString.cmake │ │ ├── TribitsStandardizePaths.cmake │ │ ├── TribitsStripQuotesFromStr.cmake │ │ └── UnitTestHelpers.cmake │ ├── ctest_driver │ ├── README │ ├── TribitsAddDashboardTarget.cmake │ ├── TribitsCTestDriverCore.cmake │ ├── TribitsCTestDriverCoreHelpers.cmake │ ├── TribitsGetCTestTestXmlDir.cmake │ ├── TribitsReadTagFile.cmake │ ├── dump-cdash-deps-xml-file.py │ ├── experimental_build_test.cmake │ ├── makeCMakeCacheFile.sh │ ├── tribits_ctest_update_commands.cmake │ └── tribits_ctest_update_commands_wrapper.cmake │ ├── dashboard_driver │ ├── CTestCustom.cmake.in │ ├── LocateCTestAndRunScript.cmake │ ├── TribitsDriverCMakeLists.cmake │ ├── TribitsDriverDashboard.cmake │ ├── TribitsDriverSupport.cmake │ └── tdd_driver.py │ ├── devtools_install │ ├── FindGeneralScriptSupport.py │ ├── InstallProgramDriver.py │ ├── install-autoconf.py │ ├── install-cmake.py │ ├── install-gcc.py │ ├── install-git.py │ ├── install-mpich.py │ ├── install-openmpi.py │ ├── install_devtools.py │ ├── load_dev_env.csh.in │ └── load_dev_env.sh.in │ ├── doc │ ├── .gitignore │ ├── README.DEPENDENCIES │ ├── build_docs.sh │ ├── build_ref │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README │ │ ├── TribitsBuildReferenceBody.rst │ │ ├── TribitsBuildReferenceTemplate.rst │ │ ├── create-build-ref.sh │ │ └── create-project-build-ref.py │ ├── developers_guide │ │ ├── .gitignore │ │ ├── ExtraReposList.cmake │ │ ├── Makefile │ │ ├── README │ │ ├── ReducedMockTrilinosOutput │ │ │ ├── EnableAllPackages.txt │ │ │ ├── EnableEpetra_EnableRTOp_DisableTeuchos.txt │ │ │ ├── EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt │ │ │ ├── EnableThyra_DisableEpetra_EnableTests.txt │ │ │ ├── EnableThyra_EnableTests.txt │ │ │ ├── EnableThyra_EnableTests_EnableBoost_ST.txt │ │ │ ├── EnableThyra_EnableTests_EnableBoost_ST_RequiredOnly.txt │ │ │ ├── ExpectedDependencies.txt │ │ │ └── NoEnables.txt │ │ ├── TribitsDevelopersGuide.rst │ │ ├── TribitsMacroFunctionDocTemplate.rst │ │ ├── UtilsMacroFunctionDocTemplate.rst │ │ ├── generate-dev-guide.sh │ │ ├── rst2latex.tex │ │ └── scripts │ │ │ └── dummy_test_commit.sh │ ├── publish_docs.sh │ ├── tutorial │ │ ├── .gitignore │ │ ├── README.md │ │ ├── generate-tutorial.sh │ │ └── src │ │ │ ├── TribitsTutorial_ConvertAProject.rst │ │ │ ├── TribitsTutorial_Dependencies.rst │ │ │ ├── TribitsTutorial_HelloWorld.rst │ │ │ └── TribitsTutorial_ProjectStructure.rst │ └── utils │ │ └── gen_doc_utils.sh │ ├── examples │ ├── InsertedPkg │ │ ├── CMakeLists.txt │ │ ├── InsertedPkg.cpp │ │ ├── InsertedPkg.hpp │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ └── InsertedPkg_test.cpp │ ├── MixedSharedStaticLibs │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ ├── shared_only │ │ │ ├── CMakeLists.txt │ │ │ ├── SharedOnly.cpp │ │ │ ├── SharedOnly.hpp │ │ │ ├── cmake │ │ │ │ └── Dependencies.cmake │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── SharedOnly_test.cpp │ │ ├── static_exec │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake │ │ │ │ └── Dependencies.cmake │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── StaticOnly_test.cpp │ │ └── static_only │ │ │ ├── CMakeLists.txt │ │ │ ├── StaticOnly.cpp │ │ │ ├── StaticOnly.hpp │ │ │ └── cmake │ │ │ └── Dependencies.cmake │ ├── MockTrilinos │ │ ├── CMakeLists.txt │ │ ├── CTestConfig.cmake │ │ ├── Copyright.txt │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── TPLsList.cmake │ │ ├── Version.cmake │ │ ├── cmake │ │ │ ├── CallbackSetupExtraOptions.cmake │ │ │ ├── ExtraRepositoriesList.cmake │ │ │ ├── NativeRepositoriesList1.cmake │ │ │ ├── ProjectDependenciesSetup.cmake │ │ │ ├── Reduced_preCopyrightTrilinos_PackagesList.cmake │ │ │ ├── RepositoryDependenciesSetup.cmake │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── extraRepoOnePackage │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── extraRepoOnePackageThreeSubpackages │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ ├── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── sp1 │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── sp2 │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── sp3 │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── extraRepoTwoPackages │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ ├── package1 │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── package2 │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── extraTrilinosRepo │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ └── extrapack │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── packages │ │ │ ├── TriKota │ │ │ │ └── README │ │ │ ├── amesos │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── aztecoo │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── belos │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── epetra │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── epetraext │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── galeri │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── ifpack │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── intrepid │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── isorropia │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── ml │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── panzer │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── phalanx │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── rbgen │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── rtop │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── sacado │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── shards │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── stokhos │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── stratimikos │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── teuchos │ │ │ │ ├── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ │ └── extrastuff │ │ │ │ │ └── stuff.txt │ │ │ ├── thyra │ │ │ │ ├── adapters │ │ │ │ │ ├── epetra │ │ │ │ │ │ └── cmake │ │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ ├── epetraext │ │ │ │ │ │ └── cmake │ │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ └── tpetra │ │ │ │ │ │ └── cmake │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ ├── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ │ └── src │ │ │ │ │ ├── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ ├── crazy_stuff │ │ │ │ │ └── cmake │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ └── good_stuff │ │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── tpetra │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── triutils │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── zoltan │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ ├── preCopyrightTrilinos │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ ├── stalix │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── teko │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ └── preRepoOnePackage │ │ │ ├── PackagesList.cmake │ │ │ ├── TPLsList.cmake │ │ │ └── cmake │ │ │ └── Dependencies.cmake │ ├── RawAndTribitsHelloWorld │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ └── hello_world │ │ │ ├── CMakeLists.tribits.cmake │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ │ ├── hello_world_lib.cpp │ │ │ ├── hello_world_lib.hpp │ │ │ ├── hello_world_main.cpp │ │ │ └── hello_world_unit_tests.cpp │ ├── RawHelloWorld │ │ ├── CMakeLists.txt │ │ ├── README │ │ └── hello_world │ │ │ ├── CMakeLists.txt │ │ │ ├── hello_world_lib.cpp │ │ │ ├── hello_world_lib.hpp │ │ │ ├── hello_world_main.cpp │ │ │ └── hello_world_unit_tests.cpp │ ├── ReducedMockTrilinos │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── TPLsList.cmake │ │ └── packages │ │ │ ├── epetra │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── epetraext │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── rtop │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── teuchos │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── thyra │ │ │ ├── adapters │ │ │ │ ├── epetra │ │ │ │ │ └── cmake │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ └── epetraext │ │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── cmake │ │ │ │ └── Dependencies.cmake │ │ │ ├── crazy_stuff │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ ├── good_stuff │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── src │ │ │ │ └── cmake │ │ │ │ └── Dependencies.cmake │ │ │ └── triutils │ │ │ └── cmake │ │ │ └── Dependencies.cmake │ ├── TargetDefinesPkg │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ ├── TargetDefinesPkg.cpp │ │ ├── TargetDefinesPkg.hpp │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── TargetDefinesPkg_test.cpp │ │ │ └── deprecated_defines │ │ │ └── CMakeLists.txt │ ├── TribitsExampleMetaProject │ │ ├── CMakeLists.txt │ │ ├── CTestConfig.cmake │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ ├── Version.cmake │ │ └── cmake │ │ │ ├── ExtraRepositoriesList.cmake │ │ │ └── ctest │ │ │ ├── CTestCustom.cmake.in │ │ │ ├── TribitsExMetaProjCTestDriver.cmake │ │ │ └── general_gcc │ │ │ └── ctest_serial_debug.cmake │ ├── TribitsExampleProject │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── CTestConfig.cmake │ │ ├── Copyright.txt │ │ ├── LICENSE │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ ├── Version.cmake │ │ ├── cmake │ │ │ ├── CallbackDefineProjectPackaging.cmake │ │ │ ├── CallbackDefineRepositoryPackaging.cmake │ │ │ ├── CallbackSetupExtraOptions.cmake │ │ │ ├── ExtraRepositoriesList.cmake │ │ │ ├── ProjectCiFileChangeLogic.py │ │ │ ├── ctest │ │ │ │ ├── CTestCustom.cmake.in │ │ │ │ ├── TribitsExProjCTestDriver.cmake │ │ │ │ └── general_gcc │ │ │ │ │ └── ctest_serial_debug.cmake │ │ │ └── tpls │ │ │ │ ├── FindTPLHeaderOnlyTpl.cmake │ │ │ │ └── FindTPLSimpleTpl.cmake │ │ ├── packages │ │ │ ├── mixed_lang │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cmake │ │ │ │ │ ├── Dependencies.cmake │ │ │ │ │ └── MixedLang_config.h.in │ │ │ │ ├── src │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── MixedLang.cpp │ │ │ │ │ ├── MixedLang.hpp │ │ │ │ │ ├── Parameters.f90 │ │ │ │ │ ├── Ray.hh │ │ │ │ │ ├── Ray_Tracer.cc │ │ │ │ │ ├── Ray_Tracer.hh │ │ │ │ │ ├── Ray_Tracer_Kernel.f90 │ │ │ │ │ └── Vector_Lite.hh │ │ │ │ └── test │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── tstRay_Tracer.cc │ │ │ ├── simple_cxx │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cmake │ │ │ │ │ ├── CheckFor__int64.cmake │ │ │ │ │ ├── Dependencies.cmake │ │ │ │ │ └── SimpleCxx_config.h.in │ │ │ │ ├── src │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── SimpleCxx_HelloWorld.cpp │ │ │ │ │ ├── SimpleCxx_HelloWorld.hpp │ │ │ │ │ └── SimpleCxx_HelloWorld_Prog.cpp │ │ │ │ └── test │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── SimpleCxx_HelloWorld_Tests.cpp │ │ │ ├── with_subpackages │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── a │ │ │ │ │ ├── A.cpp │ │ │ │ │ ├── A.hpp │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cmake │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ └── tests │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── a_test.cpp │ │ │ │ ├── b │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cmake │ │ │ │ │ │ ├── Dependencies.cmake │ │ │ │ │ │ └── WithSubpackagesB_config.h.in │ │ │ │ │ ├── src │ │ │ │ │ │ ├── B.cpp │ │ │ │ │ │ ├── B.hpp │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── ShowLibErrors.cmake │ │ │ │ │ └── tests │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── ShowLibErrors.cmake │ │ │ │ │ │ ├── b_mixed_lang_test.cpp │ │ │ │ │ │ ├── b_test.cpp │ │ │ │ │ │ └── testlib │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── ShowLibErrors.cmake │ │ │ │ │ │ ├── b_mixed_lang.cpp │ │ │ │ │ │ ├── b_mixed_lang.hpp │ │ │ │ │ │ ├── b_test_utils.cpp │ │ │ │ │ │ └── b_test_utils.hpp │ │ │ │ ├── c │ │ │ │ │ ├── C.cpp │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ShowLibErrors.cmake │ │ │ │ │ ├── c_util.cpp │ │ │ │ │ ├── cmake │ │ │ │ │ │ └── Dependencies.cmake │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── c_b_mixed_lang.cpp │ │ │ │ │ │ ├── c_b_mixed_lang.hpp │ │ │ │ │ │ ├── c_test.cpp │ │ │ │ │ │ └── test_of_c_b_mixed_lang.cpp │ │ │ │ │ └── wsp_c │ │ │ │ │ │ └── C.hpp │ │ │ │ └── cmake │ │ │ │ │ └── Dependencies.cmake │ │ │ └── wrap_external │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cmake │ │ │ │ ├── Dependencies.cmake │ │ │ │ └── SimpleCxx_config.h.in │ │ │ │ ├── external_func │ │ │ │ ├── configure.py │ │ │ │ ├── external_func.cpp │ │ │ │ └── external_func.hpp │ │ │ │ └── run_external_func.cpp │ │ ├── project-checkin-test-config.py │ │ └── sampleScripts │ │ │ ├── linux-mpi-debug.sh │ │ │ └── linux-serial-debug.sh │ ├── TribitsExampleProjectAddons │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ ├── Version.cmake │ │ ├── cmake │ │ │ └── ExtraRepositoriesList.cmake │ │ └── packages │ │ │ └── addon1 │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ │ ├── src │ │ │ ├── Addon1.cpp │ │ │ ├── Addon1.hpp │ │ │ └── CMakeLists.txt │ │ │ └── tests │ │ │ ├── Addon1_test.cpp │ │ │ └── CMakeLists.txt │ ├── TribitsHelloWorld │ │ ├── CMakeLists.txt │ │ ├── PackagesList.cmake │ │ ├── ProjectName.cmake │ │ ├── README │ │ ├── TPLsList.cmake │ │ └── hello_world │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake │ │ │ └── Dependencies.cmake │ │ │ ├── hello_world_lib.cpp │ │ │ ├── hello_world_lib.hpp │ │ │ ├── hello_world_main.cpp │ │ │ └── hello_world_unit_tests.cpp │ └── tpls │ │ ├── HeaderOnlyTpl │ │ └── HeaderOnlyTpl_stuff.hpp │ │ └── SimpleTpl │ │ ├── CMakeLists.txt │ │ ├── SimpleTpl.cpp │ │ └── SimpleTpl.hpp │ ├── python_utils │ ├── .gitignore │ ├── CMakeBinaries.py │ ├── CMakeVersions.py │ ├── GeneralScriptSupport.py │ ├── GenerateDocUtilsOutput.py │ ├── SnapshotDir.py │ ├── download-cmake.py │ ├── extract_rst_cmake_doc.py │ ├── generate-docutils-output.py │ ├── generic-looping-demon.py │ ├── git-config-alias.sh │ ├── gitdist │ ├── gitdist.py │ ├── mailmsg.py │ ├── mockprogram.py │ ├── snapshot-dir.py │ └── tree.py │ ├── snapshot_tribits.py │ ├── tpls │ ├── FindTPLCUDA.cmake │ ├── FindTPLMPI.cmake │ ├── FindTPLPETSC.cmake │ └── TribitsDeprecatedTplFindModInclude.cmake │ ├── win_interface │ └── include │ │ ├── gettimeofday.c │ │ ├── strings.h │ │ ├── unistd.h │ │ ├── winmath.h │ │ └── winprocess.h │ └── xsdk │ └── XSDKDefaults.cmake ├── doc ├── CMakeLists.txt ├── Futility.doxy.in └── MergeRequestReviewChecklist.pdf ├── examples ├── CMakeLists.txt ├── exampleFMU │ ├── CMakeLists.txt │ ├── exampleFMU2_bouncing_ball.f90 │ └── exampleFMU2_rectifier.f90 └── exampleTAU_Stubs │ ├── CMakeLists.txt │ └── exampleTAU_Stubs.f90 ├── header ├── src ├── Allocs.f90 ├── AndersonAcceleration.f90 ├── ArrayUtils.f90 ├── BLAS.f90 ├── BLAS1.f90 ├── BLAS2.f90 ├── BLAS3.f90 ├── BinaryTrees.f90 ├── CMakeLists.txt ├── CommandLineProcessor.f90 ├── Constants_Conversion.f90 ├── EigenvalueSolverTypes.f90 ├── ElementsIsotopes.f90 ├── ExceptionHandler.f90 ├── ExpTables.f90 ├── ExtendedMath.f90 ├── FMU_Wrapper.f90 ├── FileType_Base.f90 ├── FileType_Checkpoint.f90 ├── FileType_DA32.f90 ├── FileType_Fortran.f90 ├── FileType_HDF5.f90 ├── FileType_Input.f90 ├── FileType_Log.f90 ├── FileType_XML.f90 ├── FunctionTableGenerator.f90 ├── FutilityComputingEnvironment.f90 ├── Futility_DBC.f90 ├── Futility_DBC.h ├── Geom.f90 ├── Geom_Box.f90 ├── Geom_CircCyl.f90 ├── Geom_Graph.f90 ├── Geom_Line.f90 ├── Geom_Plane.f90 ├── Geom_Points.f90 ├── Geom_Poly.f90 ├── Hash.f90 ├── IAPWS_WaterProperties.f90 ├── IO_Strings.f90 ├── IOutil.f90 ├── Interpolators.f90 ├── IntrType.f90 ├── LinearSolverTypes.f90 ├── LinearSolverTypes_Multigrid.f90 ├── MatrixTypes.f90 ├── MatrixTypes_Base.f90 ├── MatrixTypes_Native.f90 ├── MatrixTypes_PETSc.f90 ├── MatrixTypes_Trilinos.f90 ├── MemProf.f90 ├── MeshTransfer.f90 ├── MortonOrdering.f90 ├── MultigridMesh.f90 ├── NonLinearSolver.f90 ├── ODESolverTypes.f90 ├── ParallelEnv.f90 ├── ParameterLists.f90 ├── PartitionGraph.f90 ├── PreconditionerTypes.f90 ├── SchemaParser.f90 ├── Search.f90 ├── SolutionAcceleration.f90 ├── Sorting.f90 ├── SpeciesElements.f90 ├── StochasticSampling.f90 ├── Strings.f90 ├── TAU_Stubs.f90 ├── Times.f90 ├── UnitTest.f90 ├── UnitTest.h ├── VTKFiles.f90 ├── VTUFiles.f90 ├── VectorTypes.f90 ├── VectorTypes_Base.f90 ├── VectorTypes_Native.f90 ├── VectorTypes_PETSc.f90 ├── VectorTypes_Trilinos.f90 ├── WaterSatProperties.f90 ├── XDMFMesh.f90 ├── floatingpointchecks.c ├── floatingpointchecks.h ├── fmu_interfaces │ ├── CMakeLists.txt │ ├── FMU.cpp │ ├── FMU.h │ ├── FMU2.cpp │ ├── FMU2.h │ ├── FMU2_c_api.cpp │ ├── FMU2_c_api.h │ ├── FMU2_f_api.f90 │ ├── fmi2FunctionTypes.h │ ├── fmi2Functions.h │ └── fmi2TypesPlatform.h ├── generate_attribute_subroutines.py ├── getSysProcInfo.c ├── getSysProcInfo.h ├── getSysProcInfo_F.h ├── parameter_list_includes │ ├── generateParameterListClasses.py │ ├── parameterListAddNode.f90 │ ├── parameterListClasses.f90 │ ├── parameterListEquality.f90 │ ├── parameterListGenerics.f90 │ ├── parameterListH5read.f90 │ ├── parameterListInitMethods.f90 │ └── parameterListMethods.f90 ├── pcmg_supplement.c └── trilinos_interfaces │ ├── CMakeLists.txt │ ├── trilinos_anderson.cpp │ ├── trilinos_anderson.hpp │ ├── trilinos_c_interfaces.cpp │ ├── trilinos_epetra.hpp │ ├── trilinos_f_interfaces.f90 │ ├── trilinos_mat_vec.cpp │ ├── trilinos_mat_vec.hpp │ ├── trilinos_pc.cpp │ ├── trilinos_pc.hpp │ ├── trilinos_solvers.cpp │ ├── trilinos_solvers.hpp │ ├── trilinos_ts.cpp │ └── trilinos_ts.hpp └── unit_tests ├── CMakeLists.txt ├── testAllocs ├── CMakeLists.txt └── testAllocs.f90 ├── testAllocsOOM ├── CMakeLists.txt └── testAllocsOOM.f90 ├── testAndersonAcceleration ├── CMakeLists.txt └── testAndersonAcceleration.f90 ├── testArrayUtils ├── CMakeLists.txt └── testArrayUtils.f90 ├── testBLAS ├── CMakeLists.txt └── testBLAS.f90 ├── testBinaryTrees ├── CMakeLists.txt └── testBinaryTrees.f90 ├── testCmdLineProc ├── CMakeLists.txt └── testCmdLineProc.f90 ├── testConversions ├── CMakeLists.txt └── testConversions.f90 ├── testDBC ├── CMakeLists.txt └── testDBC.f90 ├── testEigenvalueSolver ├── CMakeLists.txt └── testEigenvalueSolver.f90 ├── testElementsIsotopes ├── CMakeLists.txt └── testElementsIsotopes.f90 ├── testExceptionHandler ├── CMakeLists.txt └── testExceptionHandler.f90 ├── testExpTables ├── CMakeLists.txt └── testExpTables.f90 ├── testExtendedMath ├── CMakeLists.txt └── testExtendedMath.f90 ├── testFMU_Wrapper ├── CMakeLists.txt ├── testFMU_BouncingBall │ ├── CMakeLists.txt │ ├── fmu2_model.c │ ├── fmu2_model.h │ ├── fmu2_model_cs.c │ ├── fmu2_model_defines.h │ └── modelDescription.xml └── testFMU_Wrapper.f90 ├── testFileType_Base ├── CMakeLists.txt └── testFileType_Base.f90 ├── testFileType_Checkpoint ├── CMakeLists.txt └── testFileType_Checkpoint.f90 ├── testFileType_DA32 ├── CMakeLists.txt └── testFileType_DA32.f90 ├── testFileType_Fortran ├── CMakeLists.txt └── testFileType_Fortran.f90 ├── testFileType_Input ├── CMakeLists.txt └── testFileType_Input.f90 ├── testFileType_Log ├── CMakeLists.txt └── testFileType_Log.f90 ├── testFileType_XML ├── CMakeLists.txt ├── testFile.xml └── testFileType_XML.f90 ├── testFunctionTableGenerator ├── CMakeLists.txt └── testFunctionTableGenerator.f90 ├── testFutilityComputingEnvironment ├── CMakeLists.txt └── testFutilityComputingEnvironment.f90 ├── testGenReqTables ├── CMakeLists.txt ├── subtest01 │ ├── subtest01.tex.gold │ └── testA.inp ├── subtest02 │ ├── subtest02_a.tex.gold │ ├── subtest02_b.tex.gold │ ├── testA.inp │ └── testB.inp ├── subtest03 │ ├── subtest03.tex.gold │ ├── testA.inp │ └── testC.f90 ├── subtest04 │ ├── subtest04.tex.gold │ ├── testA.inp │ ├── testC.f90 │ └── testD.txt ├── subtest05 │ ├── subtest05.tex.gold │ ├── testA.inp │ ├── testC.f90 │ └── testD.txt ├── subtest06 │ ├── subtest06_a.tex.gold │ ├── subtest06_b.tex.gold │ ├── testA.inp │ └── testB.inp ├── subtest07 │ ├── subtest07.tex.gold │ └── testA.inp ├── subtest08 │ ├── subtest08.tex.gold │ └── testA.inp ├── subtest09 │ ├── subtest09.tex.gold │ ├── testA.inp │ └── testB.f90 └── subtest10 │ └── testA.inp ├── testGeom ├── CMakeLists.txt └── testGeom.f90 ├── testGeom_Box ├── CMakeLists.txt └── testGeom_Box.f90 ├── testGeom_CircCyl ├── CMakeLists.txt └── testGeom_CircCyl.f90 ├── testGeom_Graph ├── CMakeLists.txt └── testGeom_Graph.f90 ├── testGeom_Line ├── CMakeLists.txt └── testGeom_Line.f90 ├── testGeom_Plane ├── CMakeLists.txt └── testGeom_Plane.f90 ├── testGeom_Points ├── CMakeLists.txt └── testGeom_Points.f90 ├── testGeom_Poly ├── CMakeLists.txt └── testGeom_Poly.f90 ├── testHDF5FileType ├── CMakeLists.txt ├── readtest.h5 └── testHDF5FileType.f90 ├── testHash ├── CMakeLists.txt └── testHash.f90 ├── testIAPWSWaterProperties ├── CMakeLists.txt └── testIAPWSWaterProperties.f90 ├── testIOutil ├── CMakeLists.txt └── testIOutil.f90 ├── testInterpolators ├── CMakeLists.txt └── testInterpolators.f90 ├── testIntrType ├── CMakeLists.txt └── testIntrType.f90 ├── testLinearSolver ├── CMakeLists.txt ├── testLinearSolver.f90 └── testLinearSolverParallel.f90 ├── testLinearSolver_Multigrid ├── CMakeLists.txt └── testLinearSolver_Multigrid.f90 ├── testMatrixTypes ├── CMakeLists.txt ├── testMatrixTypes.f90 └── testMatrixTypesParallel.f90 ├── testMeshTransfer ├── CMakeLists.txt └── testMeshTransfer.f90 ├── testMultigridMesh ├── CMakeLists.txt └── testMultigridMesh.f90 ├── testNonLinearSolver ├── CMakeLists.txt └── testNonLinearSolver.f90 ├── testODESolver ├── CMakeLists.txt └── testODESolver.f90 ├── testParTPLPETSC ├── CMakeLists.txt └── testParTPLPETSC.f90 ├── testParallelEnv ├── CMakeLists.txt └── testParallelEnv.f90 ├── testParameterLists ├── CMakeLists.txt ├── testInit.xml └── testParameterLists.f90 ├── testPartitionGraph ├── CMakeLists.txt └── testPartitionGraph.f90 ├── testPicard ├── CMakeLists.txt └── testPicard.f90 ├── testPreconditionerTypes ├── CMakeLists.txt ├── matrices │ ├── 1g_matrix.txt │ ├── mg_matrix.txt │ ├── refBILU_1gL.txt │ ├── refBILU_1gU.txt │ ├── refBILU_mgL.txt │ └── refBILU_mgU.txt └── testPreconditionerTypes.f90 ├── testRSORprecon ├── CMakeLists.txt ├── matrices │ ├── LU.txt │ ├── LpU.txt │ ├── matrix.txt │ ├── solution.txt │ └── vector.txt ├── testRSORPrecon.f90 └── testRSORPreconParallel.f90 ├── testSchemaParser ├── CMakeLists.txt ├── testFile.inp └── testSchemaParser.f90 ├── testSearch ├── CMakeLists.txt └── testSearch.f90 ├── testSorting ├── CMakeLists.txt └── testSorting.f90 ├── testSpaceFillingCurve ├── CMakeLists.txt └── testSpaceFillingCurve.f90 ├── testSpeciesElements ├── CMakeLists.txt └── testSpeciesElements.f90 ├── testStochasticSampler ├── CMakeLists.txt └── testStochasticSampler.f90 ├── testStrings ├── CMakeLists.txt └── testStrings.f90 ├── testTPLHDF5 ├── CMakeLists.txt └── testTPLHDF5.f90 ├── testTPLPARDISO ├── CMakeLists.txt └── testTPLPARDISO.f90 ├── testTPLPETSC ├── CMakeLists.txt └── testTPLPETSC.f90 ├── testTPLSLEPC ├── CMakeLists.txt └── testTPLSLEPC.f90 ├── testTimes ├── CMakeLists.txt └── testTimes.f90 ├── testUnitTest ├── CMakeLists.txt └── testUnitTest.f90 ├── testVTKFiles ├── CMakeLists.txt ├── VtktestCyl.vtk ├── mesh3Data.txt ├── mesh3Points.txt ├── mesh5ref.txt └── testVTKFiles.f90 ├── testVTUFiles ├── CMakeLists.txt ├── mesh2Data.txt ├── mesh2Points.txt └── testVTUFiles.f90 ├── testVectorTypes ├── CMakeLists.txt ├── testVectorTypes.f90 └── testVectorTypesParallel.f90 ├── testWaterSatProperties ├── CMakeLists.txt └── testWaterSatProperties.f90 ├── testXDMFMesh ├── CMakeLists.txt ├── gridmesh_three_level_grid.h5 ├── gridmesh_three_level_grid.xdmf ├── gridmesh_two_pins.h5 ├── gridmesh_two_pins.xdmf ├── testXDMFMesh.f90 ├── three_level_grid.h5 └── three_level_grid.xdmf └── trilinos_interfaces ├── CMakeLists.txt ├── testInterfaces ├── CMakeLists.txt └── testInterfaces.f90 └── testKokkosInit ├── CMakeLists.txt └── testKokkosInit.f90 /.gitignore: -------------------------------------------------------------------------------- 1 | # Standard ignores 2 | *~ 3 | *.pyc 4 | \#*# 5 | .#* 6 | .*.swp 7 | fort.* 8 | 9 | /checkin_message 10 | /cmake/dependencies 11 | 12 | # extra repos 13 | /TriBITS 14 | /Trilinos 15 | /TeuchosWrappersExt 16 | 17 | # Repostiory list file for gitdist 18 | /.egdist 19 | /.gitdist 20 | *.sublime-* 21 | .vscode 22 | -------------------------------------------------------------------------------- /HEADER.txt: -------------------------------------------------------------------------------- 1 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | !   Futility Development Group    ! 3 | !              All rights reserved.           ! 4 | !                         ! 5 | ! Futility is a jointly-maintained, open-source project between the University ! 6 | ! of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | ! can be found in LICENSE.txt in the head directory of this repository.   ! 8 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | -------------------------------------------------------------------------------- /PackagesList.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(Futility_PACKAGES_AND_DIRS_AND_CLASSIFICATIONS 11 | Futility . SS 12 | ) 13 | 14 | TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES() 15 | -------------------------------------------------------------------------------- /ProjectName.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(PROJECT_NAME Futility) 11 | 12 | SET(FUTILITY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 13 | 14 | INCLUDE(cmake/Project_Common.cmake) 15 | 16 | # Put in hard disables for excluded packages 17 | FOREACH(EXCLUDED_PACKAGE ${${PROJECT_NAME}_EXCLUDE_PACKAGES}) 18 | SET(${PROJECT_NAME}_ENABLE_${EXCLUDED_PACKAGE} OFF CACHE BOOL 19 | "Disabled in Futility ProjectName.cmake" 20 | ${FORCE_EXCLUDED_PACKAGE_DISABLE} 21 | ) 22 | ENDFOREACH() 23 | 24 | -------------------------------------------------------------------------------- /Version.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(Futility_VERSION_MAJOR 2) 11 | SET(Futility_VERSION_MINOR 1) 12 | SET(Futility_VERSION_PATCH 0) 13 | SET(Futility_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}) 14 | SET(Futility_VERSION_STRING "${Futility_VERSION} (Dev)") 15 | SET(Futility_MAJOR_VERSION ${Futility_VERSION_MAJOR}) 16 | 17 | # Used by testing scripts and should not be used elsewhere 18 | SET(Futility_REPOSITORY_BRANCH "master" CACHE INTERNAL "") 19 | SET(Futility_TESTING_TRACK "" CACHE INTERNAL "") 20 | -------------------------------------------------------------------------------- /cmake/ExtraRepositoriesList.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT_AND_FROM_ENV(Futility_URL_REPO_BASE 2 | $ENV{USER}@ners-arc-05.engin.umich.edu:/git-root/MPACT/) 3 | 4 | # 5 | # Define the extra repos 6 | # 7 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 8 | Trilinos "" GIT ${Futility_URL_REPO_BASE}Trilinos PRE Continuous 9 | TeuchosWrappersExt "" GIT ${Futility_URL_REPO_BASE}TeuchosWrappersExt PRE Continuous 10 | ) 11 | -------------------------------------------------------------------------------- /cmake/Futility_Compiler_Config.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | #Futility preprocessor definitions 11 | INCLUDE(Futility_Defines) 12 | 13 | #Process the default Futility project configurations 14 | INCLUDE(Futility_Configurations) 15 | -------------------------------------------------------------------------------- /cmake/Futility_CopyFiles.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | FUNCTION(Futility_CopyFiles FILES) 10 | 11 | FOREACH(file ${${FILES}}) 12 | CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file} 13 | ${CMAKE_CURRENT_BINARY_DIR}/${file} COPYONLY) 14 | ENDFOREACH() 15 | 16 | UNSET(file) 17 | UNSET(FILES) 18 | ENDFUNCTION() 19 | -------------------------------------------------------------------------------- /cmake/Futility_config.hpp.in: -------------------------------------------------------------------------------- 1 | #cmakedefine HAVE_MPI 2 | #cmakedefine FUTILITY_HAVE_PETSC 3 | #cmakedefine WIN32 4 | #cmakedefine UNIT_TEST 5 | #cmakedefine HAVE_MPI 6 | #cmakedefine HAVE_BLAS 7 | #cmakedefine HAVE_MKL 8 | #cmakedefine DBL 9 | #cmakedefine DBLINT 10 | -------------------------------------------------------------------------------- /cmake/ProjectCompilerPostConfig.cmake: -------------------------------------------------------------------------------- 1 | # Set Kokkos host spaces 2 | IF(${PROJECT_NAME}_ENABLE_Kokkos) 3 | SET(KOKKOS_ENABLE_SERIAL TRUE) 4 | IF(DEFINED ${PROJECT_NAME}_ENABLE_OpenMP) 5 | SET(KOKKOS_ENABLE_OPENMP ${${PROJECT_NAME}_ENABLE_OpenMP}) 6 | ENDIF() 7 | ENDIF() 8 | 9 | IF(Trilinos_SOURCE_DIR) 10 | include(${Trilinos_SOURCE_DIR}/cmake/ProjectCompilerPostConfig.cmake) 11 | ENDIF() 12 | -------------------------------------------------------------------------------- /cmake/RepositoryDependenciesSetup.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | IF(NOT TPL_ENABLE_PETSC) 11 | SET(TPL_ENABLE_SLEPC OFF) 12 | ENDIF() 13 | -------------------------------------------------------------------------------- /cmake/tpl/FindTPLHYPRE.cmake: -------------------------------------------------------------------------------- 1 | 2 | 3 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES(HYPRE 4 | REQUIRED_HEADERS HYPRE.h HYPRE_config.h 5 | REQUIRED_LIBS_NAMES HYPRE 6 | ) 7 | 8 | -------------------------------------------------------------------------------- /cmake/tpl/FindTPLPAPI.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( PAPI 11 | REQUIRED_HEADERS f77papi.h f90papi.h fpapi.h papi.h 12 | REQUIRED_LIBS_NAMES papi) 13 | 14 | -------------------------------------------------------------------------------- /cmake/tpl/FindTPLPsapi.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | IF(WIN32) 11 | SET(TPL_Psapi_LIBRARIES "C:/Windows/System32/psapi.dll") 12 | 13 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES(Psapi 14 | REQUIRED_LIBS_NAMES psapi) 15 | ELSE() 16 | MESSAGE("TPL Psapi is only available on Windows!") 17 | ENDIF() -------------------------------------------------------------------------------- /cmake/tpl/FindTPLSLEPC.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | IF("${SLEPC_INCLUDE_DIRS}" STREQUAL "") 11 | GLOBAL_SET(SLEPC_INCLUDE_DIRS "$ENV{SLEPC_DIR}/include;$ENV{SLEPC_DIR}/$ENV{SLEPC_ARCH}/include") 12 | ENDIF() 13 | IF("${SLEPC_LIBRARY_DIRS}" STREQUAL "") 14 | GLOBAL_SET(SLEPC_LIBRARY_DIRS "$ENV{SLEPC_DIR}/$ENV{SLEPC_ARCH}/lib") 15 | ENDIF() 16 | 17 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( SLEPC 18 | REQUIRED_HEADERS slepc.h 19 | REQUIRED_LIBS_NAMES slepc) 20 | 21 | -------------------------------------------------------------------------------- /cmake/tpl/FindTPLSUNDIALS.cmake: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES(SUNDIALS 11 | REQUIRED_LIBS_NAMES sundials_fcvode sundials_cvode sundials_fnvecserial sundials_nvecserial) 12 | 13 | -------------------------------------------------------------------------------- /cmake/tribits/TriBITS.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Top-level include file that pulls in TriBITS so it can be used by a project. 3 | # A Project's top-level CMakeLists.cmake file just does: 4 | # 5 | # INCLUDE(${${PROJECT_NAME}_TRIBITS_DIR}/TriBITS.cmake) 6 | # 7 | # and then they can call: 8 | # 9 | # TRIBITS_PROJECT() 10 | # 11 | 12 | IF (${PROJECT_NAME}_TRIBITS_DIR) 13 | SET(TRIBITS_BASE_DIR_LOCAL "${${PROJECT_NAME}_TRIBITS_DIR}") 14 | ELSEIF(CMAKE_CURRENT_LIST_DIR) 15 | SET(TRIBITS_BASE_DIR_LOCAL "${CMAKE_CURRENT_LIST_DIR}") 16 | ELSE() 17 | MESSAGE(FATAL_ERROR "Please set ${PROJECT_NAME}_TRIBITS_DIR" 18 | " or use a CMake version older than 2.8.5!") 19 | ENDIF() 20 | 21 | INCLUDE("${TRIBITS_BASE_DIR_LOCAL}/core/package_arch/TribitsProject.cmake") 22 | INCLUDE("${TRIBITS_BASE_DIR_LOCAL}/Version.cmake") 23 | -------------------------------------------------------------------------------- /cmake/tribits/Version.cmake: -------------------------------------------------------------------------------- 1 | IF ("${REPOSITORY_NAME}" STREQUAL "") 2 | SET(REPOSITORY_NAME TriBITS) 3 | ENDIF() 4 | 5 | SET(${REPOSITORY_NAME}_VERSION 0.9) 6 | SET(${REPOSITORY_NAME}_MAJOR_VERSION 00) 7 | SET(${REPOSITORY_NAME}_MAJOR_MINOR_VERSION 000900) 8 | SET(${REPOSITORY_NAME}_VERSION_STRING "0.9 (Dev)") 9 | SET(${REPOSITORY_NAME}_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release 10 | -------------------------------------------------------------------------------- /cmake/tribits/common_tpls/FindTPLPETSC.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( PETSC 2 | REQUIRED_HEADERS petsc.h 3 | REQUIRED_LIBS_NAMES petsc 4 | ) 5 | -------------------------------------------------------------------------------- /cmake/tribits/core/config_tests/blasmangle/blasmangle.c: -------------------------------------------------------------------------------- 1 | /* -*- C -*- */ 2 | 3 | #if defined(FC_FN_LOWER) 4 | # if defined(FC_FN_UNDER) 5 | # define DGEMV dgemv_ 6 | # elif defined(FC_FN_NO_UNDER) 7 | # define DGEMV dgemv 8 | # else 9 | # error "Unknown setting for underscore convention." 10 | # endif 11 | #elif defined(FC_FN_UPPER) 12 | # if defined(FC_FN_UNDER) 13 | # define DGEMV DGEMV_ 14 | # elif defined(FC_FN_NO_UNDER) 15 | # define DGEMV DGEMV 16 | # else 17 | # error "Unknown setting for underscore convention." 18 | # endif 19 | #else 20 | # error "Unknown setting for function case." 21 | #endif 22 | 23 | extern void DGEMV(void); 24 | 25 | int main (void) 26 | { 27 | DGEMV(); 28 | } 29 | -------------------------------------------------------------------------------- /cmake/tribits/core/config_tests/fmangle/cmangle.c: -------------------------------------------------------------------------------- 1 | /* -*- C -*- */ 2 | 3 | #if defined(FC_FN_LOWER) 4 | # if defined(FC_FN_UNDER) 5 | # define FN1 f_ 6 | # define FN2 f_f_ 7 | # elif defined(FC_FN_SECOND_UNDER) 8 | # define FN1 f_ 9 | # define FN2 f_f__ 10 | # elif defined(FC_FN_NO_UNDER) 11 | # define FN1 f 12 | # define FN2 f_f 13 | # else 14 | # error "Unknown setting for underscore convention." 15 | # endif 16 | #elif defined(FC_FN_UPPER) 17 | # if defined(FC_FN_UNDER) 18 | # define FN1 F_ 19 | # define FN2 F_F_ 20 | # elif defined(FC_FN_SECOND_UNDER) 21 | # define FN1 F_ 22 | # define FN2 F_F__ 23 | # elif defined(FC_FN_NO_UNDER) 24 | # define FN1 F 25 | # define FN2 F_F 26 | # else 27 | # error "Unknown setting for underscore convention." 28 | # endif 29 | #else 30 | # error "Unknown setting for function case." 31 | #endif 32 | 33 | extern void FN1 (void); 34 | extern void FN2 (void); 35 | 36 | int main (void) 37 | { 38 | FN1 (); 39 | FN2 (); 40 | } 41 | -------------------------------------------------------------------------------- /cmake/tribits/core/config_tests/fmangle/fmangle.f: -------------------------------------------------------------------------------- 1 | subroutine f () 2 | end subroutine 3 | subroutine f_f () 4 | end subroutine 5 | -------------------------------------------------------------------------------- /cmake/tribits/core/installation/cmake_pbp_install.cmake.in: -------------------------------------------------------------------------------- 1 | # 2 | # Robust install cmake -P script that will ensure that 'cmake -P 3 | # cmake_install.cmake' gets called in every package directory if the global 4 | # 'cmake -P cmake_install.cmake' command fails. 5 | # 6 | 7 | set(TRIBITS_ENABLED_PACKAGES_BINARY_DIRS @TRIBITS_ENABLED_PACKAGES_BINARY_DIRS@) 8 | 9 | execute_process(COMMAND @CMAKE_COMMAND@ -P cmake_install.cmake 10 | RESULT_VARIABLE global_install_rtn) 11 | 12 | if (NOT global_install_rtn EQUAL 0) 13 | message( 14 | "\n" 15 | "***\n" 16 | "*** The global install failed so resorting to package-by-package installs\n" 17 | "***\n" 18 | "\n" 19 | ) 20 | foreach (pkg_binary_dir ${TRIBITS_ENABLED_PACKAGES_BINARY_DIRS}) 21 | execute_process(COMMAND @CMAKE_COMMAND@ -P cmake_install.cmake 22 | WORKING_DIRECTORY ${pkg_binary_dir} 23 | RESULT_VARIABLE global_install_rtn) 24 | endforeach() 25 | message(SEND_ERROR "Error, full install failed!") 26 | endif() 27 | -------------------------------------------------------------------------------- /cmake/tribits/core/package_arch/VersionDate.cmake.in: -------------------------------------------------------------------------------- 1 | set(@REPOSITORY_NAME_UC@_VERSION_DATE @REPO_GIT_VERSION_DATE@) 2 | -------------------------------------------------------------------------------- /cmake/tribits/core/utils/NinjaMakefile.in: -------------------------------------------------------------------------------- 1 | TOPDIR := @NINJA_MAKEFILE_TOPDIR@ 2 | SUBDIR := @NINJA_MAKEFILE_SUBDIR@ 3 | TARGETS := @NINJA_MAKEFILE_TARGETS@ 4 | include @NINJA_MAKEFILE_COMMON@ 5 | -------------------------------------------------------------------------------- /cmake/tribits/ctest_driver/TribitsReadTagFile.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE(TribitsCMakePolicies) 2 | INCLUDE(Split) 3 | 4 | 5 | # 6 | # Read in the /Testing/TAG file contents 7 | # 8 | # 9 | FUNCTION(TRIBITS_READ_CTEST_TAG_FILE TAG_FILE_IN BUILD_START_TIME_OUT CDASH_TRACK_OUT) 10 | FILE(READ "${TAG_FILE_IN}" TAG_FILE_STR) 11 | SPLIT("${TAG_FILE_STR}" "\n" TAG_FILE_STR_LIST) 12 | LIST(GET TAG_FILE_STR_LIST 0 BUILD_START_TIME) 13 | LIST(GET TAG_FILE_STR_LIST 1 CDASH_TRACK) 14 | SET(${BUILD_START_TIME_OUT} "${BUILD_START_TIME}" PARENT_SCOPE) 15 | SET(${CDASH_TRACK_OUT} "${CDASH_TRACK}" PARENT_SCOPE) 16 | ENDFUNCTION() 17 | -------------------------------------------------------------------------------- /cmake/tribits/ctest_driver/makeCMakeCacheFile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CTEST_BINARY_DIRECTORY=$1 4 | 5 | grep -v '//' $CTEST_BINARY_DIRECTORY/CMakeCache.txt | grep -v '^#' | grep -v '^$' > $CTEST_BINARY_DIRECTORY/CMakeCache.clean.txt 6 | -------------------------------------------------------------------------------- /cmake/tribits/ctest_driver/tribits_ctest_update_commands_wrapper.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # cmake -P script that calls tribits_ctest_update_commands.cmake and sends 3 | # STDOUT to a file. 4 | # 5 | # This script is required if you want to capture the output from these 6 | # commands to a file since this is called from ctest_update() which discards 7 | # the output (and does not send it to CDash). 8 | # 9 | 10 | message("\ncmake -P tribits_ctest_update_commands_wrapper.cmake:") 11 | message("-- OUTPUT_FILE=${OUTPUT_FILE}\n") 12 | 13 | execute_process( 14 | COMMAND "${CMAKE_COMMAND}" 15 | -DGIT_EXE=${GIT_EXE} 16 | -DREMOTE_NAME=${REMOTE_NAME} 17 | -DBRANCH=${BRANCH} 18 | -DUNIT_TEST_MODE=${UNIT_TEST_MODE} 19 | -P ${CMAKE_CURRENT_LIST_DIR}/tribits_ctest_update_commands.cmake 20 | OUTPUT_FILE "${OUTPUT_FILE}" 21 | ERROR_FILE "${OUTPUT_FILE}" 22 | RESULT_VARIABLE RTN_CODE 23 | ) 24 | message("\ntribits_ctest_update_commands_wrapper.cmake return: ${RTN_CODE}\n") 25 | 26 | if (NOT "${RTN_CODE}" STREQUAL "0") 27 | message(FATAL_ERROR "Git Update FAILED!") 28 | endif() 29 | -------------------------------------------------------------------------------- /cmake/tribits/doc/.gitignore: -------------------------------------------------------------------------------- 1 | TribitsUserQuickstart.aux 2 | TribitsUserQuickstart.log 3 | TribitsUserQuickstart.out 4 | TribitsUserQuickstart.tex 5 | TribitsUserQuickstart.toc 6 | -------------------------------------------------------------------------------- /cmake/tribits/doc/build_ref/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore generated files 2 | /TribitsBuildReference.html 3 | /TribitsBuildReference.pdf 4 | /TribitsBuildReference.rst 5 | /TribitsGitVersion.txt 6 | /TribitsGitVersion.txt.tmp 7 | -------------------------------------------------------------------------------- /cmake/tribits/doc/build_ref/Makefile: -------------------------------------------------------------------------------- 1 | ##---------------------------------------------------------------------------## 2 | ## MAKEFILE 3 | ##---------------------------------------------------------------------------## 4 | 5 | EXTRA_ARGS= 6 | 7 | .PHONY: clean realclean all 8 | 9 | BASE_NAME = TribitsBuildReference 10 | EXTRA_FILES = \ 11 | Makefile \ 12 | TribitsBuildReferenceBody.rst \ 13 | TribitsBuildReferenceTemplate.rst 14 | 15 | # NOTE: We *don't* want to rebuild the file if only the version has changed we 16 | # don't add a dependency on TribitsGitVersion.txt! 17 | 18 | all: $(BASE_NAME).rst $(BASE_NAME).html $(BASE_NAME).pdf 19 | 20 | $(BASE_NAME).pdf: $(BASE_NAME).html 21 | 22 | $(BASE_NAME).html: $(BASE_NAME).rst 23 | 24 | $(BASE_NAME).rst: $(EXTRA_FILES) 25 | ./create-project-build-ref.py \ 26 | --project-name="" \ 27 | --project-template-file=TribitsBuildReferenceTemplate.rst \ 28 | --file-base=TribitsBuildReference \ 29 | $(EXTRA_ARGS) 30 | 31 | clean: 32 | -rm -f $(BASE_NAME).rst 33 | -rm -f $(BASE_NAME).html 34 | -rm -f $(BASE_NAME).pdf 35 | 36 | ##---------------------------------------------------------------------------## 37 | ## end of Makefile 38 | ##---------------------------------------------------------------------------## 39 | -------------------------------------------------------------------------------- /cmake/tribits/doc/build_ref/README: -------------------------------------------------------------------------------- 1 | ================================================================================ 2 | TriBITS Build Reference Files 3 | ================================================================================ 4 | 5 | This directory contains files to create a project-specific build quick 6 | reference document BuildReference.[rst,html,pdf]. The generic files 7 | used for this purpose are: 8 | 9 | create-project-build-ref.py 10 | TribitsBuildReferenceBody.rst 11 | 12 | See `create-project-build-ref.py --help` for details. 13 | 14 | This directory also contains a generic build of a BuildReference 15 | document. The template file: 16 | 17 | TribitsBuildReferenceTemplate.rst 18 | 19 | is used to create the auto-generated (read-only) output files: 20 | 21 | TribitsBuildReference.html 22 | TribitsBuildReference.pdf 23 | TribitsBuildReference.rst 24 | 25 | using the script: 26 | 27 | create-build-ref.sh 28 | 29 | To run the script and update the output files, just do: 30 | 31 | $ cd 32 | $ ./create-build-ref.sh 33 | 34 | That is all there is to it! 35 | 36 | The generated documents are then referred to by other general TriBITS 37 | documentation. 38 | -------------------------------------------------------------------------------- /cmake/tribits/doc/build_ref/create-build-ref.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | # Build a generic version of BuildReference for general 4 | # documentation. 5 | 6 | source ../utils/gen_doc_utils.sh 7 | 8 | generate_git_version_file 9 | 10 | echo 11 | echo "Generating HTML and PDF files ..." 12 | echo 13 | 14 | make 15 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/ExtraReposList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 2 | ExtraRepo1 "" GIT someurl.com:/ExtraRepo1 "" Continuous 3 | ExtraRepo2 packages/SomePackage/Blah GIT someurl2.com:/ExtraRepo2 4 | NOPACKAGES Nightly 5 | ExtraRepo3 "" HG someurl3.com:/ExtraRepo3 "" Continuous 6 | ExtraRepo4 "" SVN someurl4.com:/ExtraRepo4 "" Nightly 7 | ) 8 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/README: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | TriBITS Developers Guide README 3 | ########################################################################### 4 | 5 | This directory contains the source and output files for the RST-formatted 6 | TribitsDevelopersGuide.[rst,html,pdf] document. Running the script: 7 | 8 | ./generate-dev-guide.sh 9 | 10 | is used to generate the files TribitsMacroFunctionDoc.rst, 11 | UtilsMacroFunctionDoc.rst, and TribitsDevelopersGuide.[html,pdf] in one shot. 12 | 13 | The only requirements to run this script should be Bash, Python 2.6+, and the 14 | DocUtils package (installed with 'yum install docutils'). 15 | 16 | See the documentation inside of the script generate-dev-guide.sh for more 17 | details. 18 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos.txt: -------------------------------------------------------------------------------- 1 | Explicitly enabled packages on input (by user): RTOp Epetra 2 2 | Explicitly disabled packages on input (by user or by default): Teuchos 1 3 | 4 | Disabling forward required SE packages and optional intra-package support that have \ 5 | a dependancy on disabled SE packages Trilinos_ENABLE_=OFF ... 6 | 7 | *** 8 | *** ERROR: Setting Trilinos_ENABLE_RTOp=OFF which was 'ON' because RTOp has a required \ 9 | library dependence on disabled package Teuchos! 10 | *** 11 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt: -------------------------------------------------------------------------------- 1 | Explicitly enabled packages on input (by user): RTOp Epetra 2 2 | Explicitly disabled packages on input (by user or by default): Teuchos 1 3 | 4 | Disabling forward required SE packages and optional intra-package support that \ 5 | have a dependancy on disabled SE packages Trilinos_ENABLE_=OFF ... 6 | 7 | *** 8 | *** NOTE: Setting Trilinos_ENABLE_RTOp=OFF which was 'ON' because RTOp has \ 9 | a required library dependence on disabled package Teuchos but \ 10 | Trilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON! 11 | *** 12 | 13 | Final set of enabled packages: Epetra 1 14 | Final set of non-enabled packages: Teuchos RTOp Triutils EpetraExt Thyra 5 15 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/ExpectedDependencies.txt: -------------------------------------------------------------------------------- 1 | Printing package dependencies ... 2 | 3 | -- Teuchos_LIB_REQUIRED_DEP_TPLS: BLAS LAPACK 4 | -- Teuchos_LIB_OPTIONAL_DEP_TPLS: Boost MPI 5 | 6 | -- RTOp_LIB_REQUIRED_DEP_PACKAGES: Teuchos 7 | 8 | -- Epetra_LIB_REQUIRED_DEP_TPLS: BLAS LAPACK 9 | -- Epetra_LIB_OPTIONAL_DEP_TPLS: MPI 10 | 11 | -- Triutils_LIB_REQUIRED_DEP_PACKAGES: Epetra 12 | 13 | -- EpetraExt_LIB_REQUIRED_DEP_PACKAGES: Teuchos Epetra 14 | -- EpetraExt_LIB_OPTIONAL_DEP_PACKAGES: Triutils 15 | -- EpetraExt_LIB_OPTIONAL_DEP_TPLS: UMFPACK AMD PETSC 16 | 17 | -- ThyraCoreLibs_LIB_REQUIRED_DEP_PACKAGES: Teuchos RTOp 18 | 19 | -- ThyraGoodStuff_LIB_REQUIRED_DEP_PACKAGES: ThyraCoreLibs 20 | 21 | -- ThyraCrazyStuff_LIB_REQUIRED_DEP_PACKAGES: ThyraGoodStuff 22 | 23 | -- ThyraEpetra_LIB_REQUIRED_DEP_PACKAGES: Epetra ThyraCoreLibs 24 | 25 | -- ThyraEpetraExt_LIB_REQUIRED_DEP_PACKAGES: ThyraEpetra EpetraExt 26 | 27 | -- Thyra_LIB_REQUIRED_DEP_PACKAGES: ThyraCoreLibs 28 | -- Thyra_LIB_OPTIONAL_DEP_PACKAGES: ThyraGoodStuff ThyraCrazyStuff ThyraEpetra ThyraEpetraExt 29 | 30 | -------------------------------------------------------------------------------- /cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/NoEnables.txt: -------------------------------------------------------------------------------- 1 | Explicitly enabled packages on input (by user): 0 2 | Explicitly enabled SE packages on input (by user): 0 3 | Explicitly disabled packages on input (by user or by default): 0 4 | Explicitly disabled SE packages on input (by user or by default): ThyraCrazyStuff 1 5 | Explicitly enabled TPLs on input (by user): 0 6 | Explicitly disabled TPLs on input (by user or by default): 0 7 | 8 | ... 9 | 10 | Final set of enabled packages: 0 11 | Final set of enabled SE packages: 0 12 | Final set of non-enabled packages: Teuchos RTOp Epetra Triutils EpetraExt Thyra 6 13 | Final set of non-enabled SE packages: Teuchos RTOp Epetra Triutils EpetraExt \ 14 | ThyraCoreLibs ThyraGoodStuff ThyraCrazyStuff ThyraEpetra ThyraEpetraExt Thyra 11 15 | Final set of enabled TPLs: 0 16 | Final set of non-enabled TPLs: MPI BLAS LAPACK Boost UMFPACK AMD PETSC 7 17 | 18 | ... 19 | 20 | *** 21 | *** WARNING: There were no packages configured so no libraries or tests/examples will be built! 22 | *** 23 | -------------------------------------------------------------------------------- /cmake/tribits/doc/tutorial/.gitignore: -------------------------------------------------------------------------------- 1 | *.pdf 2 | *.html 3 | *.tex 4 | *.log 5 | .log 6 | /*.aux 7 | /*.log 8 | /*.pdf 9 | -------------------------------------------------------------------------------- /cmake/tribits/doc/tutorial/README.md: -------------------------------------------------------------------------------- 1 | # TriBITS Tutorials 2 | 3 | NOTE: These are still in development and may not build on your machine. 4 | -------------------------------------------------------------------------------- /cmake/tribits/doc/tutorial/generate-tutorial.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function make_doc { 4 | if [ -z ${1+x} ]; then 5 | echo "no file specified to make_doc" 6 | return 1 7 | elif [ ! -f src/$1.rst ]; then 8 | echo "File not found! $1.rst" 9 | else 10 | echo "Generating HTML and PDF files for ${1} ..." 11 | cp src/$1.rst . 12 | rst2html $1.rst $1.html 13 | rst2latex $1.rst $1.tex 14 | latex -output-format=pdf $1.tex 15 | fi 16 | } 17 | 18 | make_doc TribitsTutorial_ConvertAProject 19 | make_doc TribitsTutorial_Dependencies 20 | make_doc TribitsTutorial_HelloWorld 21 | make_doc TribitsTutorial_ProjectStructure 22 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE(InsertedPkg) 2 | 3 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 4 | 5 | TRIBITS_ADD_LIBRARY( 6 | externalpkg 7 | HEADERS InsertedPkg.hpp 8 | SOURCES InsertedPkg.cpp 9 | ) 10 | 11 | TRIBITS_ADD_TEST_DIRECTORIES(test) 12 | 13 | TRIBITS_PACKAGE_POSTPROCESS() 14 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/InsertedPkg.cpp: -------------------------------------------------------------------------------- 1 | #include "InsertedPkg.hpp" 2 | 3 | #include "SimpleCxx_HelloWorld.hpp" 4 | 5 | std::string InsertedPkg::deps() { 6 | return SimpleCxx::deps(); 7 | } 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/InsertedPkg.hpp: -------------------------------------------------------------------------------- 1 | #ifndef INSERTEDPKG_HPP_ 2 | #define INSERTEDPKG_HPP_ 3 | 4 | #include 5 | 6 | namespace InsertedPkg { 7 | 8 | std::string deps(); 9 | 10 | } 11 | 12 | #endif /* INSERTEDPKG_HPP_ */ 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES SimpleCxx 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE_AND_TEST( test 2 | SOURCES InsertedPkg_test.cpp 3 | NUM_MPI_PROCS 1 4 | PASS_REGULAR_EXPRESSION 5 | "InsertedPkg deps are: no_deps" 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/InsertedPkg/test/InsertedPkg_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "InsertedPkg.hpp" 5 | 6 | int main() { 7 | std::cout << "InsertedPkg deps are: " << InsertedPkg::deps() << "\n"; 8 | return 0; 9 | } 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DECL(MixedSharedStaticLibs) 2 | TRIBITS_PROCESS_SUBPACKAGES() 3 | TRIBITS_PACKAGE_DEF() 4 | TRIBITS_PACKAGE_POSTPROCESS() 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | MixedSharedStaticLibs . PT 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/README: -------------------------------------------------------------------------------- 1 | ====================== 2 | MixedSharedStaticLibs 3 | ====================== 4 | 5 | The purpose of this package is to demonstrate and test the usage of the the 6 | arguments SHARED and STATIC with TRIBITS_ADD_LIBRARY(). 7 | 8 | This package has to three subpackages: 9 | 10 | * SharedOnly: 11 | - Depends on nothing 12 | - Creates a library shared_only_lib and a test executable 13 | 14 | * StaticOnly: 15 | - Depends on SharedOnly 16 | - Creates a library shared_only_lib 17 | - Purpose: shows you can link a shared lib against an upstream static lib 18 | 19 | * StaticExec: 20 | - Depends on StaticOnly 21 | - Creates a test executable 22 | - Purpose: Shows that static libs are linked into targets in downstream 23 | packages 24 | 25 | See GitHub TriBITS Issue #95 for more details. 26 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | SUBPACKAGES_DIRS_CLASSIFICATIONS_OPTREQS 3 | SharedOnly shared_only PT OPTIONAL 4 | StaticOnly static_only PT OPTIONAL 5 | StaticExec static_exec PT OPTIONAL 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_SUBPACKAGE(SharedOnly) 2 | 3 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 4 | 5 | TRIBITS_ADD_LIBRARY( 6 | shared_only_lib 7 | SHARED 8 | HEADERS SharedOnly.hpp 9 | SOURCES SharedOnly.cpp 10 | ) 11 | 12 | TRIBITS_ADD_TEST_DIRECTORIES(test) 13 | 14 | TRIBITS_SUBPACKAGE_POSTPROCESS() 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/SharedOnly.cpp: -------------------------------------------------------------------------------- 1 | #include "SharedOnly.hpp" 2 | 3 | std::string MixedSharedStaticLibs::sharedPassThrough(const std::string &str) 4 | { 5 | return str; 6 | } 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/SharedOnly.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SHAREDONLY_HPP_ 2 | #define SHAREDONLY_HPP_ 3 | 4 | #include 5 | 6 | namespace MixedSharedStaticLibs { 7 | 8 | std::string sharedPassThrough(const std::string &str); 9 | 10 | } 11 | 12 | #endif /* SHAREDONLY_HPP_ */ 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE_AND_TEST( test 2 | SOURCES SharedOnly_test.cpp 3 | NUM_MPI_PROCS 1 4 | PASS_REGULAR_EXPRESSION "SharedOnly_test returns shared" 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/shared_only/test/SharedOnly_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "SharedOnly.hpp" 5 | 6 | int main() { 7 | std::cout << "SharedOnly_test returns " 8 | << MixedSharedStaticLibs::sharedPassThrough("shared") << "\n"; 9 | return 0; 10 | } 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_exec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_SUBPACKAGE(StaticExec) 2 | TRIBITS_ADD_TEST_DIRECTORIES(test) 3 | TRIBITS_SUBPACKAGE_POSTPROCESS() 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_exec/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES MixedSharedStaticLibsStaticOnly 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_exec/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE_AND_TEST( test 2 | SOURCES StaticOnly_test.cpp 3 | NUM_MPI_PROCS 1 4 | PASS_REGULAR_EXPRESSION "StaticOnly_test returns static" 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_exec/test/StaticOnly_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "StaticOnly.hpp" 5 | 6 | int main() { 7 | std::cout << "StaticOnly_test returns " 8 | << MixedSharedStaticLibs::staticPassThrough("static") << "\n"; 9 | return 0; 10 | } 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_only/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_SUBPACKAGE(StaticOnly) 2 | 3 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 4 | 5 | TRIBITS_ADD_LIBRARY( 6 | static_only_lib 7 | STATIC 8 | HEADERS StaticOnly.hpp 9 | SOURCES StaticOnly.cpp 10 | ) 11 | # NOTE: The library static_only_lib will be lined against the libray 12 | # shared_only_lib from the upstream subpackage SharedOnly. It is just fine 13 | # to link a static library against an upstream shared library but the 14 | # opposite is not true. 15 | 16 | TRIBITS_SUBPACKAGE_POSTPROCESS() 17 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_only/StaticOnly.cpp: -------------------------------------------------------------------------------- 1 | #include "StaticOnly.hpp" 2 | #include "SharedOnly.hpp" 3 | 4 | std::string MixedSharedStaticLibs::staticPassThrough(const std::string &str) 5 | { 6 | return MixedSharedStaticLibs::sharedPassThrough(str); 7 | } 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_only/StaticOnly.hpp: -------------------------------------------------------------------------------- 1 | #ifndef STATICONLY_HPP_ 2 | #define STATICONLY_HPP_ 3 | 4 | #include 5 | 6 | namespace MixedSharedStaticLibs { 7 | 8 | std::string staticPassThrough(const std::string &str); 9 | 10 | } 11 | 12 | #endif /* STATICONLY_HPP_ */ 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MixedSharedStaticLibs/static_only/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES MixedSharedStaticLibsSharedOnly 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS( 2 | MPI "${${PROJECT_NAME}_TRIBITS_DIR}/tpls/" PT 3 | BLAS cmake/TPLs/ PT 4 | LAPACK cmake/TPLs/ PT 5 | Boost cmake/TPLs/ ST 6 | Scotch cmake/TPLs/ ST 7 | METIS cmake/TPLs/ TS 8 | ParMETIS cmake/TPLs/ ST 9 | CppUnit cmake/TPLs/ ST 10 | ADOLC cmake/TPLs/ ST 11 | ADIC cmake/TPLs/ EX 12 | TVMET cmake/TPLs/ ST 13 | y12m cmake/TPLs/ ST 14 | SuperLUDist cmake/TPLs/ ST 15 | SuperLU cmake/TPLs/ ST 16 | UMFPACK cmake/TPLs/ ST 17 | AMD cmake/TPLs/ TS 18 | PETSC cmake/TPLs/ ST 19 | MUMPS cmake/TPLs/ ST 20 | DUMMY cmake/TPLs/ ST 21 | ) 22 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/Version.cmake: -------------------------------------------------------------------------------- 1 | SET(Trilinos_VERSION 10.2) 2 | SET(Trilinos_MAJOR_VERSION 10) 3 | SET(Trilinos_MAJOR_MINOR_VERSION 100200) 4 | SET(Trilinos_VERSION_STRING "11.2 (Dev)") 5 | SET(Trilinos_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/cmake/ExtraRepositoriesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 2 | preCopyrightTrilinos "" GIT url1:/git/preCopyrightTrilinos "" Continuous 3 | extraTrilinosRepo "" GIT usr2:/git/extraTrilinosRepo "" Nightly 4 | Dakota packages/TriKota/Dakota GIT url3:/git/Dakota NOPACKAGES Continuous 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/cmake/NativeRepositoriesList1.cmake: -------------------------------------------------------------------------------- 1 | SET(${PROJECT_NAME}_NATIVE_REPOSITORIES 2 | . 3 | preCopyrightTrilinos 4 | extraTrilinosRepo 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/cmake/ProjectDependenciesSetup.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT(${PROJECT_NAME}_PROJECT_EMAIL_URL_ADDRESS_BASE project.site.gov) 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/cmake/RepositoryDependenciesSetup.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT(${REPOSITORY_NAME}_REPOSITORY_EMAIL_URL_ADDRESS_BASE repo.site.gov) 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/extraRepoOnePackage/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | extraRepoOnePackage . ST 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/extraTrilinosRepo/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS( 2 | ExtraTPL1 cmake/ ST 3 | ExtraTPL2 cmake/ PT 4 | ) 5 | 6 | # NOTE: the files cmake/FindTPLExtraTPL[1,2].cmake don't actually exist but 7 | # this shows where they would exist in a real extra repo. 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/packages/TriKota/README: -------------------------------------------------------------------------------- 1 | This directory TriKota and TriKota/Dakota just exists to test out the repo 2 | updating commands in TribitsCTestDriverCore.cmake. The package TriKota is not 3 | actually listed in MockTrilinos/PackagesList.cmake. 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/packages/panzer/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES Teuchos Sacado Phalanx Intrepid Thyra 3 | Tpetra Epetra EpetraExt 4 | LIB_OPTIONAL_PACKAGES Stokhos 5 | TEST_OPTIONAL_PACKAGES Stratimikos 6 | LIB_REQUIRED_TPLS MPI Boost 7 | ) 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/packages/teuchos/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_TPLS BLAS LAPACK 3 | LIB_OPTIONAL_TPLS Boost MPI 4 | ) 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/packages/teuchos/extrastuff/stuff.txt: -------------------------------------------------------------------------------- 1 | This is just some extra stuff in an external git repo that might be cloned 2 | under Teuchos and provide some extra stuff. 3 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/preRepoOnePackage/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | preRepoOnePackage . PT 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/preRepoOnePackage/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/MockTrilinos/preRepoOnePackage/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR) 2 | include(${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake) 3 | 4 | # Called at the top of every CMakeLists.txt file 5 | macro(include_tribits_build) 6 | if (${PROJECT_NAME}_TRIBITS_DIR) 7 | include("${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.tribits.cmake") 8 | return() 9 | endif() 10 | endmacro() 11 | 12 | if (${PROJECT_NAME}_TRIBITS_DIR) 13 | 14 | # TriBITS CMake project 15 | project(${PROJECT_NAME} NONE) 16 | include("${${PROJECT_NAME}_TRIBITS_DIR}/TriBITS.cmake") 17 | # Only one package in this simple project so just enable it :-) 18 | set(${PROJECT_NAME}_ENABLE_HelloWorld ON CACHE BOOL "" FORCE) 19 | tribits_project() 20 | 21 | else() 22 | 23 | # Raw CMake project 24 | project(RawHelloWorld) 25 | enable_testing() 26 | add_subdirectory(hello_world) 27 | 28 | endif() 29 | 30 | # NOTE: The cmake_minimum_required() and project() commands must be executed 31 | # in the base CMakeLists.txt file and *NOT* in an included 32 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | HelloWorld hello_world PT 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/ProjectName.cmake: -------------------------------------------------------------------------------- 1 | set(PROJECT_NAME RawAndTribitsHelloWorld) 2 | # This project does not use Fortran so disable it by default 3 | set(${PROJECT_NAME}_ENABLE_Fortran_DEFAULT OFF) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/README: -------------------------------------------------------------------------------- 1 | This is a simple CMake project shows how to have a default raw CMake build 2 | system and secondary TriBITS build system sit side-by-side. 3 | 4 | To configure this, you just create a build dir as: 5 | 6 | $ cd $SOME_BASE_DIR 7 | $ mkdir BUILD 8 | $ cd BUILD 9 | 10 | and then configure, build, and test with the raw CMake build system, use: 11 | 12 | $ cmake $TRIBITS_DIR/doc/example/RawAndTribitsHelloWorld 13 | $ make 14 | $ ctest 15 | 16 | To configure, build, and test with the TriBITS CMake build system, use: 17 | 18 | $ cmake \ 19 | -DRawAndTribitsHelloWorld_TRIBITS_DIR=${TRIBITS_DIR} \ 20 | $TRIBITS_DIR/doc/example/RawAndTribitsHelloWorld 21 | $ make 22 | $ ctest 23 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/CMakeLists.tribits.cmake: -------------------------------------------------------------------------------- 1 | tribits_package(HelloWorld) 2 | tribits_add_library(hello_world_lib 3 | HEADERS hello_world_lib.hpp SOURCES hello_world_lib.cpp) 4 | tribits_add_executable(hello_world NOEXEPREFIX SOURCES hello_world_main.cpp 5 | INSTALLABLE) 6 | tribits_add_test(hello_world NOEXEPREFIX PASS_REGULAR_EXPRESSION "Hello World") 7 | tribits_add_executable_and_test(unit_tests SOURCES hello_world_unit_tests.cpp 8 | PASS_REGULAR_EXPRESSION "All unit tests passed") 9 | tribits_package_postprocess() 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_tribits_build() 2 | 3 | # Build and install library 4 | set(HEADERS hello_world_lib.hpp) 5 | set(SOURCES hello_world_lib.cpp) 6 | add_library(hello_world_lib ${SOURCES}) 7 | install(TARGETS hello_world_lib DESTINATION lib) 8 | install(FILES ${HEADERS} DESTINATION include) 9 | 10 | # Build and install user executable 11 | add_executable(hello_world hello_world_main.cpp) 12 | target_link_libraries(hello_world hello_world_lib) 13 | install(TARGETS hello_world DESTINATION bin) 14 | 15 | # Test the executable 16 | add_test(test ${CMAKE_CURRENT_BINARY_DIR}/hello_world) 17 | set_tests_properties(test PROPERTIES PASS_REGULAR_EXPRESSION "Hello World") 18 | 19 | # Build and run some unit tests 20 | add_executable(unit_tests hello_world_unit_tests.cpp) 21 | target_link_libraries(unit_tests hello_world_lib) 22 | add_test(unit_test ${CMAKE_CURRENT_BINARY_DIR}/unit_tests) 23 | set_tests_properties(unit_test 24 | PROPERTIES PASS_REGULAR_EXPRESSION "All unit tests passed") 25 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | tribits_package_define_dependencies() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/hello_world_lib.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_lib.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/hello_world_lib.hpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_lib.hpp -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/hello_world_main.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_main.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/RawAndTribitsHelloWorld/hello_world/hello_world_unit_tests.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_unit_tests.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Example of a simple project that uses raw CMake 2 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8.4 FATAL_ERROR) 3 | PROJECT(RawHelloWorld) 4 | ENABLE_TESTING() 5 | ADD_SUBDIRECTORY(hello_world) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/README: -------------------------------------------------------------------------------- 1 | This is a simple raw CMake project that is used to contrast with the TriBITS 2 | CMkae project in ../TribitsHelloWorld. 3 | 4 | To configure this, you just create a build dir as: 5 | 6 | $ cd $SOME_BASE_DIR 7 | $ mkdir BUILD 8 | $ cd BUILD 9 | 10 | and then configure, build, and test with: 11 | 12 | $ cmake $TRIBITS_DIR/doc/example/RawHelloWorld 13 | $ make 14 | $ ctest 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/hello_world/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Build and install library 2 | SET(HEADERS hello_world_lib.hpp) 3 | SET(SOURCES hello_world_lib.cpp) 4 | ADD_LIBRARY(hello_world_lib ${SOURCES}) 5 | INSTALL(TARGETS hello_world_lib DESTINATION lib) 6 | INSTALL(FILES ${HEADERS} DESTINATION include) 7 | 8 | # Build and install user executable 9 | ADD_EXECUTABLE(hello_world hello_world_main.cpp) 10 | TARGET_LINK_LIBRARIES(hello_world hello_world_lib) 11 | INSTALL(TARGETS hello_world DESTINATION bin) 12 | 13 | # Test the executable 14 | ADD_TEST(test ${CMAKE_CURRENT_BINARY_DIR}/hello_world) 15 | SET_TESTS_PROPERTIES(test PROPERTIES PASS_REGULAR_EXPRESSION "Hello World") 16 | 17 | # Build and run some unit tests 18 | ADD_EXECUTABLE(unit_tests hello_world_unit_tests.cpp) 19 | TARGET_LINK_LIBRARIES(unit_tests hello_world_lib) 20 | ADD_TEST(unit_test ${CMAKE_CURRENT_BINARY_DIR}/unit_tests) 21 | SET_TESTS_PROPERTIES(unit_test 22 | PROPERTIES PASS_REGULAR_EXPRESSION "All unit tests passed") 23 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/hello_world/hello_world_lib.cpp: -------------------------------------------------------------------------------- 1 | #include "hello_world_lib.hpp" 2 | std::string HelloWorld::getHelloWorld() 3 | { return "Hello World!"; } 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/hello_world/hello_world_lib.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace HelloWorld { std::string getHelloWorld(); } 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/hello_world/hello_world_main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "hello_world_lib.hpp" 3 | int main() { 4 | std::cout << HelloWorld::getHelloWorld() << "\n"; 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/RawHelloWorld/hello_world/hello_world_unit_tests.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "hello_world_lib.hpp" 3 | 4 | int main() { 5 | 6 | bool success = true; 7 | 8 | const std::string rtn = HelloWorld::getHelloWorld(); 9 | std::cout << "HelloWorld::getHelloWorld() = '"< 5 | 6 | namespace TargetDefinesPkg { 7 | 8 | std::string passThrough(const std::string &str); 9 | 10 | } 11 | 12 | #endif /* TARGETDEFINESPKG_HPP_ */ 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TargetDefinesPkg/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TargetDefinesPkg/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # No defines, just default 2 | TRIBITS_ADD_EXECUTABLE_AND_TEST( testcasedefault1 3 | SOURCES TargetDefinesPkg_test.cpp 4 | NUM_MPI_PROCS 1 5 | PASS_REGULAR_EXPRESSION 6 | "TargetDefinesPkg_test returns DEFAULT" 7 | ) 8 | 9 | TRIBITS_ADD_EXECUTABLE_AND_TEST( testcase1 10 | SOURCES TargetDefinesPkg_test.cpp 11 | TARGET_DEFINES -DTARGETDEFINESPKG_RETURN=\"TEST_CASE_1\" 12 | NUM_MPI_PROCS 1 13 | PASS_REGULAR_EXPRESSION 14 | "TargetDefinesPkg_test returns TEST_CASE_1" 15 | ) 16 | 17 | TRIBITS_ADD_EXECUTABLE_AND_TEST( testcase2 18 | SOURCES TargetDefinesPkg_test.cpp 19 | TARGET_DEFINES -DTARGETDEFINESPKG_RETURN=\"TEST_CASE_2\" 20 | NUM_MPI_PROCS 1 21 | PASS_REGULAR_EXPRESSION 22 | "TargetDefinesPkg_test returns TEST_CASE_2" 23 | ) 24 | 25 | # No defines, just default 26 | TRIBITS_ADD_EXECUTABLE_AND_TEST( testcasedefault2 27 | SOURCES TargetDefinesPkg_test.cpp 28 | NUM_MPI_PROCS 1 29 | PASS_REGULAR_EXPRESSION 30 | "TargetDefinesPkg_test returns DEFAULT" 31 | ) 32 | 33 | ADD_SUBDIRECTORY(deprecated_defines) 34 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TargetDefinesPkg/test/TargetDefinesPkg_test.cpp: -------------------------------------------------------------------------------- 1 | #ifndef TARGETDEFINESPKG_RETURN 2 | # define TARGETDEFINESPKG_RETURN "DEFAULT" 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | #include "TargetDefinesPkg.hpp" 9 | 10 | int main() { 11 | std::cout << "TargetDefinesPkg_test returns " 12 | << TargetDefinesPkg::passThrough(TARGETDEFINESPKG_RETURN) << "\n"; 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/CTestConfig.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE(SetDefaultAndFromEnv) 2 | 3 | SET(CTEST_NIGHTLY_START_TIME "04:00:00 UTC") # 10 PM MDT or 9 PM MST 4 | 5 | IF (NOT DEFINED CTEST_DROP_METHOD) 6 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_METHOD "http") 7 | ENDIF() 8 | 9 | IF (CTEST_DROP_METHOD STREQUAL "http") 10 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_SITE "testing.sandia.gov/cdash") 11 | SET_DEFAULT_AND_FROM_ENV(CTEST_PROJECT_NAME "TribitsExampleMetaProject") 12 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_LOCATION "/submit.php?project=TribitsExampleMetaProject") 13 | SET_DEFAULT_AND_FROM_ENV(CTEST_TRIGGER_SITE "") 14 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_SITE_CDASH TRUE) 15 | ENDIF() 16 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/ProjectName.cmake: -------------------------------------------------------------------------------- 1 | # Must set the project name at very beginning before including anything else 2 | SET(PROJECT_NAME TribitsExMetaProj) 3 | 4 | # Turn on export dependency generation for WrapExteranl package 5 | SET(${PROJECT_NAME}_GENERATE_EXPORT_FILE_DEPENDENCIES_DEFAULT ON) 6 | 7 | # Must always have the PRE extra repo TribitsExampleProject/ or can't build 8 | SET(${PROJECT_NAME}_EXTRAREPOS_FILE 9 | ${CMAKE_CURRENT_LIST_DIR}/cmake/ExtraRepositoriesList.cmake 10 | CACHE FILEPATH "Set in ProjectName.cmake") 11 | SET(${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE Continuous 12 | CACHE STRING "Set in ProjectName.cmake") 13 | 14 | # Generate RepoVersion.txt file 15 | SET(${PROJECT_NAME}_GENERATE_REPO_VERSION_FILE_DEFAULT ON) 16 | 17 | # Do the all-at-once approach with tribits_ctest_driver() by default 18 | SET(${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE_DEFAULT ON) 19 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/README: -------------------------------------------------------------------------------- 1 | # 2 | # TribitsExampleMetaProject Documentation 3 | # 4 | 5 | The project TribitsExampleMetaProject defines a TriBITS CMake project designed 6 | to provide a simple example to demonstrate how to compose a TriBITS Meta 7 | project out of one or more other TriBITS Repositories. 8 | 9 | To get started building you can create a directory structure like: 10 | 11 | ~/TribitsExampleMetaProject.base/ 12 | TribitsExampleMetaProject/ # This directory 13 | TribitsExampleProject/ # Copied or cloned in 14 | TribitsExampleProjectAddons/ # Copied or cloned in 15 | BUILDS/ 16 | SERIAL_DEBUG/ 17 | 18 | Then configure with: 19 | 20 | cd BUILDS/SERIAL_DEBUG/ 21 | cmake -DTribitsExMetaProj_ENABLE_ALL_PACKAGES=ON \ 22 | -DTribitsExMetaProj_ENABLE_TESTS=ON \ 23 | ../../TribitsExampleMetaProject 24 | 25 | and build and test with: 26 | 27 | make -j4 28 | ctest -j4 29 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/Version.cmake: -------------------------------------------------------------------------------- 1 | SET(${REPOSITORY_NAME}_VERSION 1.1) 2 | SET(${REPOSITORY_NAME}_MAJOR_VERSION 01) 3 | SET(${REPOSITORY_NAME}_MAJOR_MINOR_VERSION 010100) 4 | SET(${REPOSITORY_NAME}_VERSION_STRING "1.1 (Dev)") 5 | SET(${REPOSITORY_NAME}_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/cmake/ExtraRepositoriesList.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT_AND_FROM_ENV(TribitsExMetaProj_GIT_URL_REPO_BASE https://github.com/tribits/) 2 | 3 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 4 | TribitsExampleProject "" GIT ${TribitsExMetaProj_GIT_URL_REPO_BASE}TribitsExampleProject.git 5 | "" Continuous 6 | TribitsExampleProjectAddons "" GIT ${TribitsExMetaProj_GIT_URL_REPO_BASE}TribitsExampleProjectAddons.git 7 | "" Continuous 8 | ) 9 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/cmake/ctest/CTestCustom.cmake.in: -------------------------------------------------------------------------------- 1 | # Allow full output to go to CDash 2 | SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) 3 | SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) 4 | # WARNING! This could be a lot of output and could overwhelm CDash and the 5 | # MySQL DB so this might not be a good idea! 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleMetaProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../TribitsExMetaProjCTestDriver.cmake") 2 | 3 | SET(COMM_TYPE SERIAL) 4 | SET(BUILD_TYPE DEBUG) 5 | SET(COMPILER_VERSION GCC) 6 | SET(BUILD_DIR_NAME ${COMM_TYPE}_${BUILD_TYPE}) 7 | 8 | SET_DEFAULT( CTEST_BUILD_FLAGS "-j1 -i" ) 9 | SET_DEFAULT( CTEST_PARALLEL_LEVEL "1" ) 10 | 11 | SET( EXTRA_CONFIGURE_OPTIONS 12 | "-DBUILD_SHARED_LIBS:BOOL=ON" 13 | "-DCMAKE_BUILD_TYPE=DEBUG" 14 | "-DCMAKE_C_COMPILER=gcc" 15 | "-DCMAKE_CXX_COMPILER=g++" 16 | "-DCMAKE_Fortran_COMPILER=gfortran" 17 | "-DTribitsExMetaProj_ENABLE_Fortran=ON" 18 | "-DTribitsExMetaProj_TRACE_ADD_TEST=ON" 19 | ) 20 | 21 | SET_DEFAULT_AND_FROM_ENV(TribitsExMetaProj_CMAKE_INSTALL_PREFIX "") 22 | IF (TribitsExMetaProj_CMAKE_INSTALL_PREFIX) 23 | SET(EXTRA_CONFIGURE_OPTIONS 24 | "${EXTRA_CONFIGURE_OPTIONS}" 25 | "-DCMAKE_INSTALL_PREFIX=${TribitsExMetaProj_CMAKE_INSTALL_PREFIX}" 26 | ) 27 | ENDIF() 28 | 29 | SET(CTEST_TEST_TYPE Continuous) 30 | 31 | TRIBITSEXMETAPROJ_CTEST_DRIVER() 32 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/.gitignore: -------------------------------------------------------------------------------- 1 | # Standard ignores 2 | *~ 3 | *.pyc 4 | \#*# 5 | .#* 6 | .*.swp 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/CTestConfig.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE(SetDefaultAndFromEnv) 2 | 3 | SET(CTEST_NIGHTLY_START_TIME "04:00:00 UTC") # 10 PM MDT or 9 PM MST 4 | 5 | IF (NOT DEFINED CTEST_DROP_METHOD) 6 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_METHOD "http") 7 | ENDIF() 8 | 9 | IF (CTEST_DROP_METHOD STREQUAL "http") 10 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_SITE "my.cdash.org") 11 | SET_DEFAULT_AND_FROM_ENV(CTEST_PROJECT_NAME "TribitsExampleProject") 12 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_LOCATION "/submit.php?project=TribitsExampleProject") 13 | SET_DEFAULT_AND_FROM_ENV(CTEST_TRIGGER_SITE "") 14 | SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_SITE_CDASH TRUE) 15 | ENDIF() 16 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/LICENSE: -------------------------------------------------------------------------------- 1 | TribitsExampleProject is part of the TriBITS system and is provided under a 2 | very liberal 3-clause BSD-like license that is described in the file 3 | ~/Copyright.txt. All of the software under this directory is subject to the 4 | conditions of this lincese by default unless otherwise noted in the individual 5 | files or directories. In particular, there are no files that violate GPL or 6 | any other licnese agreements that would limit distribution. 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | SimpleCxx packages/simple_cxx PT 3 | MixedLang packages/mixed_lang PT 4 | InsertedPkg InsertedPkg ST 5 | WithSubpackages packages/with_subpackages PT 6 | WrapExternal packages/wrap_external ST 7 | ) 8 | 9 | TRIBITS_DISABLE_PACKAGE_ON_PLATFORMS(WrapExternal Windows) 10 | TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(InsertedPkg) 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/ProjectName.cmake: -------------------------------------------------------------------------------- 1 | # Must set the project name at very beginning before including anything else 2 | SET(PROJECT_NAME TribitsExProj) 3 | 4 | # Turn on export dependency generation for WrapExteranl package 5 | SET(${PROJECT_NAME}_GENERATE_EXPORT_FILE_DEPENDENCIES_DEFAULT ON) 6 | 7 | # Turn on by default the gneration of the export files 8 | SET(${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES_DEFAULT ON) 9 | SET(${PROJECT_NAME}_ENABLE_EXPORT_MAKEFILES_DEFAULT ON) 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS( 2 | MPI "${${PROJECT_NAME}_TRIBITS_DIR}/core/std_tpls/FindTPLMPI.cmake" PT 3 | HeaderOnlyTpl "cmake/tpls/" PT 4 | SimpleTpl "cmake/tpls/" ST 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/Version.cmake: -------------------------------------------------------------------------------- 1 | SET(${REPOSITORY_NAME}_VERSION 1.1) 2 | SET(${REPOSITORY_NAME}_MAJOR_VERSION 01) 3 | SET(${REPOSITORY_NAME}_MAJOR_MINOR_VERSION 010100) 4 | SET(${REPOSITORY_NAME}_VERSION_STRING "1.1 (Dev)") 5 | SET(${REPOSITORY_NAME}_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/CallbackDefineRepositoryPackaging.cmake: -------------------------------------------------------------------------------- 1 | MACRO(TRIBITS_REPOSITORY_DEFINE_PACKAGING) 2 | 3 | ASSERT_DEFINED(${REPOSITORY_NAME}_SOURCE_DIR) 4 | APPEND_SET(CPACK_SOURCE_IGNORE_FILES 5 | "${${REPOSITORY_NAME}_SOURCE_DIR}/cmake/ctest/" 6 | ) 7 | 8 | ENDMACRO() 9 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/ExtraRepositoriesList.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT_AND_FROM_ENV(GIT_URL_REPO_BASE git@github.com:TriBITSPub/) 2 | 3 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 4 | TribitsExampleProjectAddons "" GIT ${GIT_URL_REPO_BASE}TribitsExampleProjectAddons 5 | "" Continuous 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/ctest/CTestCustom.cmake.in: -------------------------------------------------------------------------------- 1 | # Allow full output to go to CDash 2 | SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 0) 3 | SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 0) 4 | # WARNING! This could be a lot of output and could overwhelm CDash and the 5 | # MySQL DB so this might not be a good idea! 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/ctest/TribitsExProjCTestDriver.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Set the locations of things for this project 3 | # 4 | 5 | 6 | SET(TRIBITS_PROJECT_ROOT "${CMAKE_CURRENT_LIST_DIR}/../..") 7 | SET(CTEST_SOURCE_NAME "TribitsExampleProject") 8 | INCLUDE("${TRIBITS_PROJECT_ROOT}/ProjectName.cmake") 9 | IF (NOT "$ENV{${PROJECT_NAME}_TRIBITS_DIR}" STREQUAL "") 10 | SET(${PROJECT_NAME}_TRIBITS_DIR "$ENV{${PROJECT_NAME}_TRIBITS_DIR}") 11 | ENDIF() 12 | IF("${${PROJECT_NAME}_TRIBITS_DIR}" STREQUAL "") 13 | # If not set externally, then assume this is inside of tribits example 14 | # directory. 15 | SET(${PROJECT_NAME}_TRIBITS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../..") 16 | ENDIF() 17 | 18 | # 19 | # Include the TriBITS file to get other modules included 20 | # 21 | 22 | INCLUDE("${${PROJECT_NAME}_TRIBITS_DIR}/ctest_driver/TribitsCTestDriverCore.cmake") 23 | 24 | FUNCTION(TRIBITSEXPROJ_CTEST_DRIVER) 25 | SET_DEFAULT_AND_FROM_ENV( CTEST_BUILD_FLAGS "-j1 -i" ) 26 | SET_DEFAULT_AND_FROM_ENV( CTEST_PARALLEL_LEVEL "1" ) 27 | TRIBITS_CTEST_DRIVER() 28 | ENDFUNCTION() 29 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../TribitsExProjCTestDriver.cmake") 2 | 3 | SET(COMM_TYPE SERIAL) 4 | SET(BUILD_TYPE DEBUG) 5 | SET(COMPILER_VERSION GCC) 6 | SET(BUILD_DIR_NAME ${COMM_TYPE}_${BUILD_TYPE}) 7 | 8 | SET( EXTRA_CONFIGURE_OPTIONS 9 | "-DBUILD_SHARED_LIBS:BOOL=ON" 10 | "-DCMAKE_BUILD_TYPE=DEBUG" 11 | "-DCMAKE_C_COMPILER=gcc" 12 | "-DCMAKE_CXX_COMPILER=g++" 13 | "-DCMAKE_Fortran_COMPILER=gfortran" 14 | "-DTribitsExProj_ENABLE_Fortran=ON" 15 | "-DTribitsExProj_TRACE_ADD_TEST=ON" 16 | ) 17 | 18 | SET_DEFAULT_AND_FROM_ENV(TribitsExProj_CMAKE_INSTALL_PREFIX "") 19 | IF (TribitsExProj_CMAKE_INSTALL_PREFIX) 20 | SET(EXTRA_CONFIGURE_OPTIONS 21 | "${EXTRA_CONFIGURE_OPTIONS}" 22 | "-DCMAKE_INSTALL_PREFIX=${TribitsExProj_CMAKE_INSTALL_PREFIX}" 23 | ) 24 | ENDIF() 25 | 26 | SET(CTEST_TEST_TYPE Continuous) 27 | 28 | TRIBITSEXPROJ_CTEST_DRIVER() 29 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/tpls/FindTPLHeaderOnlyTpl.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( HeaderOnlyTpl 2 | REQUIRED_HEADERS HeaderOnlyTpl_stuff.hpp 3 | MUST_FIND_ALL_HEADERS 4 | ) 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/cmake/tpls/FindTPLSimpleTpl.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( SimpleTpl 2 | REQUIRED_HEADERS SimpleTpl.hpp 3 | REQUIRED_LIBS_NAMES simpletpl 4 | MUST_FIND_ALL_HEADERS 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE( MixedLang ENABLE_SHADOWING_WARNINGS CLEANED ) 2 | 3 | TRIBITS_ADD_DEBUG_OPTION() 4 | 5 | TRIBITS_ADD_SHOW_DEPRECATED_WARNINGS_OPTION() 6 | 7 | ADD_SUBDIRECTORY(src) 8 | 9 | TRIBITS_ADD_TEST_DIRECTORIES(test) 10 | 11 | TRIBITS_PACKAGE_POSTPROCESS() 12 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | REGRESSION_EMAIL_LIST mixedlang-regressions@someurl.none 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/cmake/MixedLang_config.h.in: -------------------------------------------------------------------------------- 1 | 2 | #cmakedefine HAVE_MIXEDLANGUAGE_DEBUG 3 | 4 | @MIXEDLANGUAGE_DEPRECATED_DECLARATIONS@ 5 | 6 | /* FORTRAN NAME-MANGLING */ 7 | #define FC_FUNC@F77_FUNC@ 8 | #define FC_FUNC_@F77_FUNC_@ 9 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) 2 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 3 | 4 | SET(HEADERS "") 5 | SET(SOURCES "") 6 | 7 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 8 | 9 | APPEND_SET(HEADERS 10 | MixedLang.hpp 11 | Ray_Tracer.hh 12 | Ray.hh 13 | ) 14 | 15 | APPEND_SET(SOURCES 16 | MixedLang.cpp 17 | Ray_Tracer.cc 18 | Parameters.f90 19 | Ray_Tracer_Kernel.f90 20 | ) 21 | 22 | TRIBITS_ADD_LIBRARY( 23 | mixedlang 24 | HEADERS ${HEADERS} 25 | SOURCES ${SOURCES} 26 | ) 27 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/src/MixedLang.cpp: -------------------------------------------------------------------------------- 1 | #include "MixedLang.hpp" 2 | 3 | std::string tribits_mixed::mixedLang() 4 | { 5 | return "Mixed Language"; 6 | } 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/src/MixedLang.hpp: -------------------------------------------------------------------------------- 1 | #ifndef MIXED_LANG_HPP 2 | #define MIXED_LANG_HPP 3 | 4 | #include 5 | 6 | namespace tribits_mixed { 7 | 8 | std::string mixedLang(); 9 | 10 | } 11 | 12 | #endif // MIXED_LANG_HPP 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/mixed_lang/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE_AND_TEST( 2 | RayTracerTests 3 | SOURCES 4 | tstRay_Tracer.cc 5 | NUM_MPI_PROCS 1 6 | STANDARD_PASS_OUTPUT 7 | ) 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # A) Define the package 3 | # 4 | TRIBITS_PACKAGE( SimpleCxx ENABLE_SHADOWING_WARNINGS CLEANED ) 5 | 6 | # 7 | # B) Platform-specific checks 8 | # 9 | INCLUDE(CheckFor__int64) 10 | CHECK_FOR___INT64(HAVE_SIMPLECXX___INT64) 11 | 12 | # 13 | # C) Set up package-specific options 14 | # 15 | TRIBITS_ADD_DEBUG_OPTION() 16 | TRIBITS_ADD_SHOW_DEPRECATED_WARNINGS_OPTION() 17 | 18 | # 19 | # D) Add the libraries, tests, and examples 20 | # 21 | ADD_SUBDIRECTORY(src) 22 | TRIBITS_ADD_TEST_DIRECTORIES(test) 23 | #TRIBITS_ADD_EXAMPLE_DIRECTORIES(example) 24 | 25 | # 26 | # E) Do standard post processing 27 | # 28 | TRIBITS_PACKAGE_POSTPROCESS() 29 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/cmake/CheckFor__int64.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE(CheckCXXSourceCompiles) 2 | 3 | # This compiler test checks to see if the compiler supports a intrinic 4 | # datatype __int64, such as on some 64 bit Windows compilers. 5 | # 6 | # The below test program checks to see that __int64 is defined, different from 7 | # any existing standard intrinsic 'int' types, except for 'long long int'. 8 | # 9 | FUNCTION(CHECK_FOR___INT64 VARNAME) 10 | 11 | SET(SOURCE 12 | " 13 | template struct MyOrdinalTraits {}; 14 | 15 | template<> struct MyOrdinalTraits { static inline int zero() { return 0; } }; 16 | template<> struct MyOrdinalTraits { static inline long int zero() { return 0; } }; 17 | template<> struct MyOrdinalTraits<__int64> { static inline __int64 zero() { return 0; } }; 18 | 19 | int main() 20 | { 21 | MyOrdinalTraits::zero(); 22 | MyOrdinalTraits::zero(); 23 | MyOrdinalTraits<__int64>::zero(); 24 | return 0; 25 | } 26 | " 27 | ) 28 | 29 | CHECK_CXX_SOURCE_COMPILES("${SOURCE}" ${VARNAME}) 30 | 31 | ENDFUNCTION() 32 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_TPLS HeaderOnlyTpl 3 | LIB_OPTIONAL_TPLS SimpleTpl 4 | REGRESSION_EMAIL_LIST simplecxx-regressions@someurl.none 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/cmake/SimpleCxx_config.h.in: -------------------------------------------------------------------------------- 1 | #cmakedefine HAVE_SIMPLECXX___INT64 2 | 3 | #cmakedefine HAVE_SIMPLECXX_DEBUG 4 | #cmakedefine HAVE_SIMPLECXX_SIMPLETPL 5 | 6 | @SIMPLECXX_DEPRECATED_DECLARATIONS@ 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # A) Package-specific configuration options 3 | # 4 | 5 | TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) 6 | 7 | # 8 | # B) Define the header and source files (and include directories) 9 | # 10 | 11 | SET(HEADERS "") 12 | SET(SOURCES "") 13 | 14 | # To include the configured header above 15 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 16 | 17 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 18 | 19 | APPEND_SET(HEADERS 20 | SimpleCxx_HelloWorld.hpp 21 | ) 22 | 23 | APPEND_SET(SOURCES 24 | SimpleCxx_HelloWorld.cpp 25 | ) 26 | 27 | # 28 | # C) Define the targets for package's library(s) 29 | # 30 | 31 | TRIBITS_ADD_LIBRARY( 32 | simplecxx 33 | HEADERS ${HEADERS} 34 | SOURCES ${SOURCES} 35 | ) 36 | 37 | # 38 | # D) Define an executable that gets installed 39 | # 40 | 41 | TRIBITS_ADD_EXECUTABLE(simplecxx-helloworld NOEXEPREFIX NOEXESUFFIX 42 | SOURCES SimpleCxx_HelloWorld_Prog.cpp 43 | INSTALLABLE 44 | ) 45 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/src/SimpleCxx_HelloWorld.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "SimpleCxx_HelloWorld.hpp" 3 | #include "HeaderOnlyTpl_stuff.hpp" 4 | 5 | #ifdef HAVE_SIMPLECXX_SIMPLETPL 6 | # include "SimpleTpl.hpp" 7 | #endif 8 | 9 | std::string SimpleCxx::deps() 10 | { 11 | return "no_deps"; 12 | } 13 | 14 | 15 | namespace SimpleCxx { 16 | 17 | HelloWorld::HelloWorld() 18 | {} 19 | 20 | void HelloWorld::printHelloWorld(std::ostream &out) const 21 | { 22 | out << "Hello World!\n"; 23 | #ifdef HAVE_SIMPLECXX___INT64 24 | out << "We have __int64!\n"; 25 | #endif 26 | #ifdef HAVE_SIMPLECXX_DEBUG 27 | out << "Debug is enabled!\n"; 28 | #else 29 | out << "Release is enabled!\n"; 30 | #endif 31 | out << "Sqr(3) = " << HeaderOnlyTpl::sqr(3) << "\n"; 32 | 33 | #ifdef HAVE_SIMPLECXX_SIMPLETPL 34 | out << "Cube(3) = " << SimpleTpl::cube(3) << "\n"; 35 | #endif 36 | #ifdef SIMPLECXX_SHOW_DEPRECATED_WARNINGS 37 | (void)someOldFunc(); 38 | (void)someOldFunc2(); 39 | #endif 40 | 41 | } 42 | 43 | 44 | int HelloWorld::someOldFunc() const 45 | { 46 | return 1; 47 | } 48 | 49 | 50 | int HelloWorld::someOldFunc2() const 51 | { 52 | return 2; 53 | } 54 | 55 | 56 | } // namespace SimpleCxx 57 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/src/SimpleCxx_HelloWorld.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SIMPLECXX_HELLO_WOLRD_HPP 2 | #define SIMPLECXX_HELLO_WOLRD_HPP 3 | 4 | 5 | #include 6 | #include "SimpleCxx_config.h" 7 | 8 | 9 | namespace SimpleCxx { 10 | 11 | /** \brief . */ 12 | std::string deps(); 13 | 14 | /* \brief Simple hello world class. 15 | */ 16 | class HelloWorld { 17 | public: 18 | /** \brief. */ 19 | HelloWorld(); 20 | /** \brief . */ 21 | void printHelloWorld(std::ostream &out) const; 22 | /** \brief Deprecated. */ 23 | SIMPLECXX_DEPRECATED int someOldFunc() const; 24 | /** \brief Deprecated. */ 25 | SIMPLECXX_DEPRECATED_MSG("Just don't call this function at all please!") 26 | int someOldFunc2() const; 27 | }; 28 | 29 | 30 | } // namespace SimpleCxx 31 | 32 | 33 | #endif // SIMPLECXX_HELLO_WOLRD_HPP 34 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/src/SimpleCxx_HelloWorld_Prog.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "SimpleCxx_HelloWorld.hpp" 4 | 5 | int main() 6 | { 7 | const SimpleCxx::HelloWorld helloWorld; 8 | helloWorld.printHelloWorld(std::cout); 9 | return 0; 10 | } 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/simple_cxx/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE_AND_TEST( 2 | HelloWorldTests 3 | SOURCES 4 | SimpleCxx_HelloWorld_Tests.cpp 5 | NUM_MPI_PROCS 1 6 | STANDARD_PASS_OUTPUT 7 | ) 8 | 9 | TRIBITS_ADD_TEST(simplecxx-helloworld NOEXEPREFIX NOEXESUFFIX 10 | NAME HelloWorldProg 11 | DIRECTORY ${PACKAGE_BINARY_DIR}/src 12 | NUM_MPI_PROCS 1 13 | PASS_REGULAR_EXPRESSION "Hello World" 14 | ) 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # A) Forward declare the package so that certain options are also defined for 3 | # subpackages 4 | # 5 | TRIBITS_PACKAGE_DECL(WithSubpackages) 6 | 7 | # 8 | # B) Define the common options for the package first so they can be used by 9 | # subpackages as well. 10 | # 11 | TRIBITS_ADD_DEBUG_OPTION() 12 | 13 | # 14 | # C) Process the subpackages 15 | # 16 | TRIBITS_PROCESS_SUBPACKAGES() 17 | 18 | # 19 | # D) Define the package now and perform standard post processing 20 | # 21 | TRIBITS_PACKAGE_DEF() 22 | TRIBITS_PACKAGE_POSTPROCESS() 23 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/A.cpp: -------------------------------------------------------------------------------- 1 | #include "A.hpp" 2 | 3 | #include "SimpleCxx_HelloWorld.hpp" 4 | 5 | std::string WithSubpackages::getA() { 6 | return std::string("A"); 7 | } 8 | 9 | std::string WithSubpackages::depsA() { 10 | return SimpleCxx::deps(); 11 | } 12 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/A.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PACKAGEWITHSUBPACKAGES_A_HPP_ 2 | #define PACKAGEWITHSUBPACKAGES_A_HPP_ 3 | 4 | #include 5 | 6 | namespace WithSubpackages { 7 | 8 | // return a string containing "A" 9 | std::string getA(); 10 | 11 | // return a string describing the dependencies of "A", recursively 12 | std::string depsA(); 13 | 14 | } 15 | 16 | 17 | #endif /* PACKAGEWITHSUBPACKAGES_A_HPP_ */ 18 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # A) Define the subpackage 3 | # 4 | TRIBITS_SUBPACKAGE(A) 5 | 6 | # 7 | # B) Set up subpackage-specific options 8 | # 9 | # Typically there are none or are few as most options are picked up from the 10 | # parent package's CMakeLists.txt file! 11 | 12 | # 13 | # C) Add the libraries, tests, and examples 14 | # 15 | 16 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 17 | TRIBITS_ADD_LIBRARY(pws_a 18 | SOURCES A.cpp 19 | HEADERS A.hpp 20 | NOINSTALLHEADERS 21 | ) 22 | 23 | TRIBITS_ADD_TEST_DIRECTORIES(tests) 24 | 25 | # 26 | # D) Do standard post processing 27 | # 28 | TRIBITS_SUBPACKAGE_POSTPROCESS() 29 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES SimpleCxx 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE(a_test SOURCES a_test.cpp) 2 | 3 | TRIBITS_ADD_ADVANCED_TEST( test_of_a 4 | OVERALL_NUM_MPI_PROCS 1 5 | TEST_0 EXEC a_test 6 | PASS_REGULAR_EXPRESSION_ALL 7 | "A label is: A" 8 | "A deps are: no_deps" 9 | ) 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/a/tests/a_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "A.hpp" 5 | 6 | using namespace WithSubpackages; 7 | 8 | int main() { 9 | std::string label_A = getA(); 10 | std::string deps_A = depsA(); 11 | std::cout << "A label is: " << label_A << std::endl; 12 | std::cout << "A deps are: " << deps_A << std::endl; 13 | 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_SUBPACKAGE(B) 2 | 3 | ADD_SUBDIRECTORY(src) 4 | 5 | TRIBITS_ADD_TEST_DIRECTORIES(tests) 6 | 7 | TRIBITS_SUBPACKAGE_POSTPROCESS() 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES SimpleCxx 3 | LIB_OPTIONAL_PACKAGES WithSubpackagesA InsertedPkg 4 | TEST_OPTIONAL_PACKAGES MixedLang 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/cmake/WithSubpackagesB_config.h.in: -------------------------------------------------------------------------------- 1 | #cmakedefine HAVE_WITHSUBPACKAGESB_WITHSUBPACKAGESA 2 | 3 | #cmakedefine HAVE_WITHSUBPACKAGESB_INSERTEDPKG 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/src/B.cpp: -------------------------------------------------------------------------------- 1 | #include "B.hpp" 2 | 3 | #ifdef HAVE_WITHSUBPACKAGESB_WITHSUBPACKAGESA 4 | # include "A.hpp" 5 | #endif 6 | 7 | #ifdef HAVE_WITHSUBPACKAGESB_INSERTEDPKG 8 | # include "InsertedPkg.hpp" 9 | #endif 10 | 11 | #include "SimpleCxx_HelloWorld.hpp" 12 | 13 | 14 | std::string WithSubpackages::getB() { 15 | return std::string("B"); 16 | } 17 | 18 | 19 | std::string WithSubpackages::depsB() { 20 | std::string B_deps; 21 | #ifdef HAVE_WITHSUBPACKAGESB_WITHSUBPACKAGESA 22 | B_deps += (std::string("A ") + depsA() + std::string(" ")); 23 | #endif 24 | #ifdef HAVE_WITHSUBPACKAGESB_INSERTEDPKG 25 | B_deps += (std::string("InsertedPkg ") + InsertedPkg::deps() + std::string(" ")); 26 | #endif 27 | B_deps += SimpleCxx::deps(); 28 | return B_deps; 29 | } 30 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/src/B.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PACKAGEWITHSUBPACKAGES_B_HPP_ 2 | #define PACKAGEWITHSUBPACKAGES_B_HPP_ 3 | 4 | #include "WithSubpackagesB_config.h" 5 | 6 | #include 7 | 8 | namespace WithSubpackages { 9 | 10 | // return a string containing "B" 11 | std::string getB(); 12 | 13 | // return a string describing the dependencies of "B", recursively 14 | std::string depsB(); 15 | 16 | } 17 | 18 | 19 | #endif /* PACKAGEWITHSUBPACKAGES_B_HPP_ */ 20 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) 2 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 3 | 4 | INCLUDE(${CMAKE_CURRENT_LIST_DIR}/ShowLibErrors.cmake) 5 | 6 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 7 | TRIBITS_ADD_LIBRARY(pws_b 8 | SOURCES B.cpp 9 | HEADERS B.hpp 10 | ADDED_LIB_TARGET_NAME_OUT pws_b_TARGET_NAME 11 | ${EXTRA_TAL_ARGS} 12 | ) 13 | 14 | TRIBITS_VERBOSE_PRINT_VAR(pws_b_TARGET_NAME) 15 | 16 | # Example of how to set properties on created target 17 | SET_TARGET_PROPERTIES( ${pws_b_TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX ) 18 | # NOTE: You don't have to set the LINKER_LANGUAGE 19 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/src/ShowLibErrors.cmake: -------------------------------------------------------------------------------- 1 | # Define these vars to see invalid usage checking and errors! 2 | IF (SPKB_SHOW_UPSTREAM_DEPLIBS_ERROR) 3 | SET(EXTRA_TAL_ARGS DEPLIBS simplecxx) 4 | ELSEIF (SPKB_SHOW_M_DEPLIBS_ERROR) 5 | SET(EXTRA_TAL_ARGS DEPLIBS m) 6 | ELSEIF (SPKB_SHOW_NONTESTONLY_IMPORTEDLIBS_ERROR) 7 | SET(EXTRA_TAL_ARGS IMPORTEDLIBS simplecxx) 8 | ENDIF() 9 | PRINT_NONEMPTY_VAR(EXTRA_TAL_ARGS) 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/ShowLibErrors.cmake: -------------------------------------------------------------------------------- 1 | # Define these vars (one at a time) in your input cach to see invalid usage 2 | # checking and the errors and warnings printed! 3 | IF (SPKB_SHOW_TESTONLY_INSTALLABLE_ERROR) 4 | SET(TAEAT_EXTRALIB_ARGS INSTALLABLE) 5 | ELSEIF (SPKB_SHOW_NON_TESTONLY_LIB_ERROR) 6 | SET(TAEAT_EXTRALIB_ARGS simplecxx) 7 | ELSEIF (SPKB_SHOW_IMPORTED_LIBS_THIS_PKG_ERROR) 8 | SET(TAEAT_EXTRALIB_ARGS IMPORTEDLIBS pws_b) 9 | ELSEIF (SPKB_SHOW_TESTONLY_DEBLIBS_WARNING) # Deprecated 10 | SET(TAEAT_EXTRALIB_ARGS DEPLIBS b_mixed_lang) 11 | ELSEIF (SPKB_SHOW_NONTESTONLY_DEBLIBS_WARNING) # Deprecated 12 | SET(TAEAT_EXTRALIB_ARGS DEPLIBS pws_b) 13 | ELSEIF (SPKB_SHOW_EXTERNAL_DEBLIBS_WARNING) # Deprecated 14 | SET(TAEAT_EXTRALIB_ARGS DEPLIBS m) 15 | ENDIF() 16 | PRINT_NONEMPTY_VAR(TAEAT_EXTRALIB_ARGS) 17 | 18 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/b_mixed_lang_test.cpp: -------------------------------------------------------------------------------- 1 | #include "b_mixed_lang.hpp" 2 | #include "b_test_utils.hpp" 3 | 4 | #include 5 | 6 | int main() 7 | { 8 | std::cout 9 | << WithSubpackages::b_mixed_lang() 10 | << " " << WithSubpackages::b_test_utils() 11 | << "\n"; 12 | } 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/b_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "B.hpp" 5 | 6 | int main() { 7 | using namespace WithSubpackages; 8 | std::string label_B = getB(); 9 | std::string deps_B = depsB(); 10 | std::cout << "B label is: " << label_B << std::endl; 11 | std::cout << "B deps are: " << deps_B << std::endl; 12 | 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # Define the include dirs for the TESTONLY lib. 3 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 4 | 5 | # 6 | # Create a test-only b_mixed_lang lib which uses the optional test dependent 7 | # MixedLang package 8 | # 9 | 10 | ASSERT_DEFINED(${PACKAGE_NAME}_ENABLE_MixedLang) 11 | IF (${PACKAGE_NAME}_ENABLE_MixedLang) 12 | 13 | INCLUDE(${CMAKE_CURRENT_LIST_DIR}/ShowLibErrors.cmake) 14 | 15 | # Define the TESTONLY library 16 | TRIBITS_ADD_LIBRARY( b_mixed_lang 17 | TESTONLY 18 | HEADERS b_mixed_lang.hpp 19 | SOURCES b_mixed_lang.cpp 20 | DEPLIBS pws_b 21 | ${EXTRA_TAL_ARGS} # Used for testing and to demonstrate errors 22 | ) 23 | 24 | ENDIF() 25 | 26 | # 27 | # Create a test-only lib that does not depend on any of the package's main 28 | # libs. 29 | # 30 | 31 | TRIBITS_ADD_LIBRARY( b_test_utils 32 | TESTONLY 33 | HEADERS b_test_utils.hpp 34 | SOURCES b_test_utils.cpp 35 | ) 36 | 37 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/ShowLibErrors.cmake: -------------------------------------------------------------------------------- 1 | # Define these vars to see invalid usage checking and errors! 2 | IF (SPKB_SHOW_SE_PKG_LIB_IMPORTEDLIBS_ERROR) 3 | SET(EXTRA_TAL_ARGS IMPORTEDLIBS pws_b) 4 | ELSEIF (SPKB_SHOW_UPSTREAM_SE_PKG_LIB_IMPORTEDLIBS_ERROR) 5 | SET(EXTRA_TAL_ARGS IMPORTEDLIBS simplecxx) 6 | ENDIF() 7 | PRINT_NONEMPTY_VAR(EXTRA_TAL_ARGS) 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/b_mixed_lang.cpp: -------------------------------------------------------------------------------- 1 | #include "b_mixed_lang.hpp" 2 | 3 | #include "B.hpp" 4 | #include "MixedLang.hpp" 5 | 6 | std::string WithSubpackages::b_mixed_lang() 7 | { 8 | return getB()+" "+tribits_mixed::mixedLang(); 9 | } 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/b_mixed_lang.hpp: -------------------------------------------------------------------------------- 1 | #ifndef WITHSUBPACKAGES_B_MIXED_LANG_HPP 2 | #define WITHSUBPACKAGES_B_MIXED_LANG_HPP 3 | 4 | #include 5 | 6 | namespace WithSubpackages { 7 | 8 | std::string b_mixed_lang(); 9 | 10 | } 11 | 12 | #endif // WITHSUBPACKAGES_B_MIXED_LANG_HPP 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/b_test_utils.cpp: -------------------------------------------------------------------------------- 1 | #include "b_test_utils.hpp" 2 | #include "SimpleCxx_HelloWorld.hpp" 3 | #include 4 | 5 | std::string WithSubpackages::b_test_utils() 6 | { 7 | std::ostringstream oss; 8 | SimpleCxx::HelloWorld().printHelloWorld(oss); 9 | return oss.str(); 10 | } 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/b/tests/testlib/b_test_utils.hpp: -------------------------------------------------------------------------------- 1 | #ifndef WITHSUBPACKAGES_B_TEST_UTILS_HPP 2 | #define WITHSUBPACKAGES_B_TEST_UTILS_HPP 3 | 4 | #include 5 | 6 | namespace WithSubpackages { 7 | 8 | std::string b_test_utils(); 9 | 10 | } 11 | 12 | #endif // WITHSUBPACKAGES_B_TEST_UTILS_HPP 13 | 14 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/C.cpp: -------------------------------------------------------------------------------- 1 | #include "wsp_c/C.hpp" 2 | #include "A.hpp" 3 | #include "B.hpp" 4 | 5 | std::string WithSubpackages::getC() 6 | { 7 | return std::string("C"); 8 | } 9 | 10 | std::string WithSubpackages::depsC() 11 | { 12 | return std::string("B ") + depsB(); 13 | } 14 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_SUBPACKAGE(C) 2 | 3 | TRIBITS_ADD_EXECUTABLE( c_util 4 | NOEXEPREFIX NOEXESUFFIX 5 | SOURCES c_util.cpp 6 | ) 7 | 8 | INCLUDE(${CMAKE_CURRENT_LIST_DIR}/ShowLibErrors.cmake) 9 | 10 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 11 | TRIBITS_ADD_LIBRARY(pws_c 12 | SOURCES C.cpp 13 | HEADERS wsp_c/C.hpp 14 | HEADERS_INSTALL_SUBDIR wsp_c 15 | ${TAL_EXTRALIB_ARGS} # Used to show warnings and errors 16 | ) 17 | 18 | TRIBITS_ADD_TEST_DIRECTORIES(tests) 19 | 20 | TRIBITS_SUBPACKAGE_POSTPROCESS() 21 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/ShowLibErrors.cmake: -------------------------------------------------------------------------------- 1 | # Define these vars (one at a time) in your input cach to see invalid usage 2 | # checking and the errors and warnings printed! 3 | IF (SPKC_SHOW_TESTONLY_DEPLBIS_ERROR) 4 | SET(TAL_EXTRALIB_ARGS DEPLIBS b_mixed_lang) 5 | ELSEIF (SPKC_SHOW_TESTONLY_IMPORTEDLIBS_ERROR) 6 | SET(TAL_EXTRALIB_ARGS IMPORTEDLIBS b_mixed_lang) 7 | ENDIF() 8 | PRINT_NONEMPTY_VAR(TAL_EXTRALIB_ARGS) 9 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/c_util.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "B.hpp" 4 | #include "A.hpp" 5 | 6 | int main() 7 | { 8 | std::cout 9 | << "Called c_util: " 10 | << WithSubpackages::depsB() << " " 11 | << WithSubpackages::depsA() 12 | << "\n"; 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES WithSubpackagesA 3 | WithSubpackagesB 4 | ) 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/tests/c_b_mixed_lang.cpp: -------------------------------------------------------------------------------- 1 | #include "c_b_mixed_lang.hpp" 2 | 3 | #include "wsp_c/C.hpp" 4 | #include "b_mixed_lang.hpp" 5 | 6 | std::string WithSubpackages::c_b_mixed_lang() 7 | { 8 | return (depsC()+" "+b_mixed_lang()); 9 | } 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/tests/c_b_mixed_lang.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace WithSubpackages { 4 | 5 | std::string c_b_mixed_lang(); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/tests/c_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | // I can see this, because they are in subpackage C and so am I! 5 | #include "A.hpp" 6 | #include "B.hpp" 7 | #include "wsp_c/C.hpp" 8 | 9 | using namespace WithSubpackages; 10 | 11 | int main() { 12 | std::string label_A = getA(); 13 | std::string label_B = getB(); 14 | std::string label_C = getC(); 15 | std::string deps_C = depsC(); 16 | std::cout << "A label is: " << label_A << std::endl; 17 | std::cout << "B label is: " << label_B << std::endl; 18 | std::cout << "C label is: " << label_C << std::endl; 19 | std::cout << "C deps are: " << deps_C << std::endl; 20 | 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/tests/test_of_c_b_mixed_lang.cpp: -------------------------------------------------------------------------------- 1 | #include "c_b_mixed_lang.hpp" 2 | 3 | #include 4 | 5 | int main() 6 | { 7 | std::cout << WithSubpackages::c_b_mixed_lang() << "\n"; 8 | } 9 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/c/wsp_c/C.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PACKAGEWITHSUBPACKAGES_C_HPP_ 2 | #define PACKAGEWITHSUBPACKAGES_C_HPP_ 3 | 4 | #include 5 | 6 | namespace WithSubpackages { 7 | 8 | std::string getC(); 9 | 10 | std::string depsC(); 11 | 12 | } 13 | 14 | #endif /* PACKAGEWITHSUBPACKAGES_C_HPP_ */ 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/with_subpackages/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | SUBPACKAGES_DIRS_CLASSIFICATIONS_OPTREQS 3 | A a PT REQUIRED 4 | B b ST OPTIONAL 5 | C c ST OPTIONAL 6 | REGRESSION_EMAIL_LIST with_packages-regressions@someurl.none 7 | ) 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/wrap_external/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES WithSubpackagesA 3 | LIB_OPTIONAL_PACKAGES MixedLang 4 | REGRESSION_EMAIL_LIST wrap_external-regressions@someurl.none 5 | ) 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/wrap_external/cmake/SimpleCxx_config.h.in: -------------------------------------------------------------------------------- 1 | 2 | #cmakedefine HAVE_SIMPLECXX_DEBUG 3 | 4 | @SIMPLECXX_DEPRECATED_DECLARATIONS@ 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/wrap_external/external_func/external_func.cpp: -------------------------------------------------------------------------------- 1 | #include "external_func.hpp" 2 | 3 | #include "SimpleCxx_HelloWorld.hpp" 4 | #include "A.hpp" 5 | 6 | std::string ExternalProj::external_func() 7 | { 8 | return std::string("external_func ") 9 | + WithSubpackages::getA() 10 | + " " 11 | + WithSubpackages::depsA(); 12 | } 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/wrap_external/external_func/external_func.hpp: -------------------------------------------------------------------------------- 1 | #ifndef EXTERANL_PROJ_EXTERNAL_FUNC_HPP 2 | #define EXTERANL_PROJ_EXTERNAL_FUNC_HPP 3 | 4 | #include 5 | 6 | namespace ExternalProj { 7 | 8 | std::string external_func(); 9 | 10 | } // namespace ExternalProj 11 | 12 | #endif /* EXTERANL_PROJ_EXTERNAL_FUNC_HPP */ 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/packages/wrap_external/run_external_func.cpp: -------------------------------------------------------------------------------- 1 | #include "external_func.hpp" 2 | #include 3 | 4 | int main() 5 | { 6 | std::cout << ExternalProj::external_func() << "\n"; 7 | } 8 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/sampleScripts/linux-mpi-debug.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Set TRIBITS_DIR in the env then call this! 3 | # 4 | 5 | EXTRA_ARGS=$@ 6 | cmake \ 7 | -DTribitsExProj_TRIBITS_DIR=$TRIBITS_DIR \ 8 | -DTPL_ENABLE_MPI=ON \ 9 | -DTribitsExProj_ENABLE_TESTS=ON \ 10 | $EXTRA_ARGS \ 11 | $TRIBITS_DIR/doc/examples/TribitsExampleProject 12 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProject/sampleScripts/linux-serial-debug.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Set TRIBITS_DIR in the env then call this! 3 | # 4 | 5 | TRIBITS_DIR_ABS=$(readlink -f $TRIBITS_DIR) 6 | 7 | EXTRA_ARGS=$@ 8 | cmake \ 9 | -DTribitsExProj_TRIBITS_DIR=$TRIBITS_DIR_ABS \ 10 | -DTribitsExProj_ENABLE_TESTS=ON \ 11 | $EXTRA_ARGS \ 12 | $TRIBITS_DIR_ABS/doc/examples/TribitsExampleProject 13 | 14 | # -DCTEST_DROP_SITE=testing.sandia.gov \ 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | Addon1 packages/addon1 PT 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/ProjectName.cmake: -------------------------------------------------------------------------------- 1 | # Must set the project name at very beginning before including anything else 2 | SET(PROJECT_NAME TribitsExProjAddons) 3 | 4 | # Turn on export dependency generation for WrapExteranl package 5 | SET(${PROJECT_NAME}_GENERATE_EXPORT_FILE_DEPENDENCIES_DEFAULT ON) 6 | 7 | # Must always have the PRE extra repo TribitsExampleProject/ or can't build 8 | SET(${PROJECT_NAME}_EXTRAREPOS_FILE cmake/ExtraRepositoriesList.cmake 9 | CACHE FILEPATH "Set in ProjectName.cmake") 10 | SET(${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE Continuous 11 | CACHE STRING "Set in ProjectName.cmake") 12 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/README: -------------------------------------------------------------------------------- 1 | # 2 | # TribitsExampleProjectAddons Documentation 3 | # 4 | 5 | This directory defines a CMake TriBITS Repository. It is designed to provide 6 | a simple example to demonstrate how to add on additional CMake TriBITS 7 | packages to an existing TriBITS CMake project. 8 | 9 | This TriBITS repository is designed to be placed (cloned, copied, or 10 | symlinked) under the TribitsExampleProject repository using the structure: 11 | 12 | TribitsExampleProject/ 13 | TribitsExampleProjectAddons/ 14 | 15 | Then configure the base TribitsExampleProject like before, except add the 16 | cmake cache var: 17 | 18 | -DTribtsExProj_EXTRA_REPOSITORIES=TribitsExampleProjectAddons \ 19 | 20 | and then build and test as before. 21 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/Version.cmake: -------------------------------------------------------------------------------- 1 | SET(${REPOSITORY_NAME}_VERSION 1.1) 2 | SET(${REPOSITORY_NAME}_MAJOR_VERSION 01) 3 | SET(${REPOSITORY_NAME}_MAJOR_MINOR_VERSION 010100) 4 | SET(${REPOSITORY_NAME}_VERSION_STRING "1.1 (Dev)") 5 | SET(${REPOSITORY_NAME}_ENABLE_DEVELOPMENT_MODE_DEFAULT ON) # Change to 'OFF' for a release 6 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/cmake/ExtraRepositoriesList.cmake: -------------------------------------------------------------------------------- 1 | SET_DEFAULT_AND_FROM_ENV(GIT_URL_REPO_BASE git@github.com:TriBITSPub/) 2 | 3 | TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES( 4 | TribitsExampleProject "" GIT ${GIT_URL_REPO_BASE}TribitsExampleProject 5 | PRE Continuous 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE(Addon1) 2 | ADD_SUBDIRECTORY(src) 3 | TRIBITS_ADD_TEST_DIRECTORIES(tests) 4 | TRIBITS_PACKAGE_POSTPROCESS() 5 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( 2 | LIB_REQUIRED_PACKAGES SimpleCxx 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/src/Addon1.cpp: -------------------------------------------------------------------------------- 1 | #include "Addon1.hpp" 2 | 3 | #include "SimpleCxx_HelloWorld.hpp" 4 | 5 | std::string Addon1::getAddon1() { 6 | return std::string("Addon1"); 7 | } 8 | 9 | std::string Addon1::depsAddon1() { 10 | return SimpleCxx::deps(); 11 | } 12 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/src/Addon1.hpp: -------------------------------------------------------------------------------- 1 | #ifndef ADDON1_HPP_ 2 | #define ADDON1_HPP_ 3 | 4 | #include 5 | 6 | namespace Addon1 { 7 | 8 | // return a string containing "Addon1" 9 | std::string getAddon1(); 10 | 11 | // return a string describing the dependencies of "Addon1", recursively 12 | std::string depsAddon1(); 13 | 14 | } 15 | 16 | #endif /* ADDON1_HPP_ */ 17 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 2 | TRIBITS_ADD_LIBRARY(addon1 3 | SOURCES Addon1.cpp 4 | HEADERS Addon1.hpp 5 | NOINSTALLHEADERS 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/tests/Addon1_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "Addon1.hpp" 5 | 6 | int main() { 7 | std::string label_Addon1 = Addon1::getAddon1(); 8 | std::string deps_Addon1 = Addon1::depsAddon1(); 9 | std::cout << "Addon1 label is: " << label_Addon1 << "\n"; 10 | std::cout << "Addon1 deps are: " << deps_Addon1 << "\n"; 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsExampleProjectAddons/packages/addon1/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_ADD_EXECUTABLE(test SOURCES Addon1_test.cpp) 2 | 3 | TRIBITS_ADD_ADVANCED_TEST( test 4 | OVERALL_NUM_MPI_PROCS 1 5 | TEST_0 EXEC test 6 | PASS_REGULAR_EXPRESSION_ALL 7 | "Addon1 label is: Addon1" 8 | "Addon1 deps are: no_deps" 9 | ) 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Example of a simple project that uses TriBITS 2 | CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0 FATAL_ERROR) 3 | INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake) 4 | PROJECT(${PROJECT_NAME} NONE) 5 | SET(${PROJECT_NAME}_TRIBITS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../.. 6 | CACHE PATH "TriBITS base directory (default assumes in TriBITS source tree).") 7 | INCLUDE("${${PROJECT_NAME}_TRIBITS_DIR}/TriBITS.cmake") 8 | # Only one package in this simple project so just enable it :-) 9 | SET(${PROJECT_NAME}_ENABLE_HelloWorld ON CACHE BOOL "" FORCE) 10 | TRIBITS_PROJECT() 11 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/PackagesList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_PACKAGES( 2 | HelloWorld hello_world PT 3 | ) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/ProjectName.cmake: -------------------------------------------------------------------------------- 1 | SET(PROJECT_NAME TribitsHelloWorld) 2 | # This project does not use Fortran so disable it by default 3 | SET(${PROJECT_NAME}_ENABLE_Fortran_DEFAULT OFF) 4 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/README: -------------------------------------------------------------------------------- 1 | This is a simple raw CMake project that is used to contrast with the raw 2 | CMake project in ../RawHelloWorld/. 3 | 4 | To configure this, you just create a build dir as: 5 | 6 | $ cd $SOME_BASE_DIR 7 | $ mkdir BUILD 8 | $ cd BUILD 9 | 10 | and then configure, build, and test with: 11 | 12 | $ cmake $TRIBITS_DIR/doc/example/TribitsHelloWorld 13 | $ make 14 | $ ctest 15 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/TPLsList.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_REPOSITORY_DEFINE_TPLS() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE(HelloWorld) 2 | TRIBITS_ADD_LIBRARY(hello_world_lib 3 | HEADERS hello_world_lib.hpp SOURCES hello_world_lib.cpp) 4 | TRIBITS_ADD_EXECUTABLE(hello_world NOEXEPREFIX SOURCES hello_world_main.cpp 5 | INSTALLABLE) 6 | TRIBITS_ADD_TEST(hello_world NOEXEPREFIX PASS_REGULAR_EXPRESSION "Hello World") 7 | TRIBITS_ADD_EXECUTABLE_AND_TEST(unit_tests SOURCES hello_world_unit_tests.cpp 8 | PASS_REGULAR_EXPRESSION "All unit tests passed") 9 | TRIBITS_PACKAGE_POSTPROCESS() 10 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/cmake/Dependencies.cmake: -------------------------------------------------------------------------------- 1 | TRIBITS_PACKAGE_DEFINE_DEPENDENCIES() 2 | -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/hello_world_lib.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_lib.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/hello_world_lib.hpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_lib.hpp -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/hello_world_main.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_main.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/TribitsHelloWorld/hello_world/hello_world_unit_tests.cpp: -------------------------------------------------------------------------------- 1 | ../../RawHelloWorld/hello_world/hello_world_unit_tests.cpp -------------------------------------------------------------------------------- /cmake/tribits/examples/tpls/HeaderOnlyTpl/HeaderOnlyTpl_stuff.hpp: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_ONLY_TPL_STUFF_HPP 2 | #define HEADER_ONLY_TPL_STUFF_HPP 3 | 4 | 5 | namespace HeaderOnlyTpl { 6 | 7 | /** \brief . */ 8 | template 9 | T sqr(const T &v) 10 | { 11 | return v*v; 12 | } 13 | 14 | } // namespace HeaderOnlyTpl 15 | 16 | 17 | #endif // HEADER_ONLY_TPL_STUFF_HPP 18 | -------------------------------------------------------------------------------- /cmake/tribits/examples/tpls/SimpleTpl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0) 2 | 3 | ADD_LIBRARY(simpletpl SimpleTpl.hpp SimpleTpl.cpp) 4 | 5 | INSTALL( 6 | TARGETS simpletpl 7 | RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" 8 | LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" 9 | ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" 10 | ) 11 | 12 | INSTALL( 13 | FILES SimpleTpl.hpp 14 | DESTINATION "${CMAKE_INSTALL_PREFIX}/include" 15 | ) 16 | -------------------------------------------------------------------------------- /cmake/tribits/examples/tpls/SimpleTpl/SimpleTpl.cpp: -------------------------------------------------------------------------------- 1 | #include "SimpleTpl.hpp" 2 | 3 | double SimpleTpl::cube(const double &v) 4 | { 5 | return v*v*v; 6 | } 7 | -------------------------------------------------------------------------------- /cmake/tribits/examples/tpls/SimpleTpl/SimpleTpl.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SIMPLE_TPL_HPP 2 | #define SIMPLE_TPL_HPP 3 | 4 | namespace SimpleTpl { 5 | 6 | /** \brief . */ 7 | double cube(const double &v); 8 | 9 | } // namespace SimpleTpl 10 | 11 | #endif // SIMPLE_TPL_HPP 12 | -------------------------------------------------------------------------------- /cmake/tribits/python_utils/.gitignore: -------------------------------------------------------------------------------- 1 | /checkin_test_tests/ 2 | /modifiedFiles.txt 3 | *.pyc 4 | -------------------------------------------------------------------------------- /cmake/tribits/python_utils/gitdist: -------------------------------------------------------------------------------- 1 | gitdist.py -------------------------------------------------------------------------------- /cmake/tribits/snapshot_tribits.py: -------------------------------------------------------------------------------- 1 | python_utils/snapshot-dir.py -------------------------------------------------------------------------------- /cmake/tribits/tpls/FindTPLCUDA.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/TribitsDeprecatedTplFindModInclude.cmake") 2 | TPL_DEPRECATED_TPL_FIND_MOD_INCLUDE(CUDA "core/std_tpls") 3 | -------------------------------------------------------------------------------- /cmake/tribits/tpls/FindTPLMPI.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/TribitsDeprecatedTplFindModInclude.cmake") 2 | TPL_DEPRECATED_TPL_FIND_MOD_INCLUDE(MPI "core/std_tpls") 3 | -------------------------------------------------------------------------------- /cmake/tribits/tpls/FindTPLPETSC.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/TribitsDeprecatedTplFindModInclude.cmake") 2 | TPL_DEPRECATED_TPL_FIND_MOD_INCLUDE(PETSC "common_tpls") 3 | -------------------------------------------------------------------------------- /cmake/tribits/tpls/TribitsDeprecatedTplFindModInclude.cmake: -------------------------------------------------------------------------------- 1 | MACRO(TPL_DEPRECATED_TPL_FIND_MOD_INCLUDE TPL_NAME NEW_TPL_DIR) 2 | SET(FIND_TPL_NAME "FindTPL${TPL_NAME}.cmake") 3 | MESSAGE(WARNING "WARNING: The file tpls/${FIND_TPL_NAME}" 4 | " for the TPL='${TPL_NAME}' has been moved to ${NEW_TPL_DIR}/${FIND_TPL_NAME}!" 5 | " Please use the moved copy as this deprecated copy will be removed soon!" 6 | " Make this change in the file:\n" 7 | " ${${TPL_NAME}_TPLS_LIST_FILE}\n") 8 | INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../${NEW_TPL_DIR}/${FIND_TPL_NAME}") 9 | ENDMACRO() 10 | -------------------------------------------------------------------------------- /cmake/tribits/win_interface/include/strings.h: -------------------------------------------------------------------------------- 1 | // On windows stricmp and strnicmp 2 | // are strcasecmp and strncasecmp, and are 3 | // include in other header files 4 | #define strcasecmp stricmp 5 | #define strncasecmp strnicmp 6 | -------------------------------------------------------------------------------- /cmake/tribits/win_interface/include/unistd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/cmake/tribits/win_interface/include/unistd.h -------------------------------------------------------------------------------- /cmake/tribits/win_interface/include/winprocess.h: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | # define NOMINMAX 3 | # include 4 | # include 5 | # define getpid _getpid 6 | inline void sleep(int sec) 7 | { 8 | Sleep(sec * 1000); 9 | } 10 | #pragma comment(lib, "Ws2_32.lib") 11 | #endif 12 | -------------------------------------------------------------------------------- /doc/MergeRequestReviewChecklist.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/doc/MergeRequestReviewChecklist.pdf -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | ADD_SUBDIRECTORY(exampleTAU_Stubs) 10 | ADD_SUBDIRECTORY(exampleFMU) 11 | -------------------------------------------------------------------------------- /examples/exampleFMU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(EXAMPLENAME exampleFMU2_rectifier) 11 | 12 | TRIBITS_ADD_EXECUTABLE(${EXAMPLENAME} 13 | SOURCES ${EXAMPLENAME}.f90 14 | LINKER_LANGUAGE Fortran 15 | ) 16 | UNSET(EXAMPLENAME) 17 | 18 | 19 | SET(EXAMPLENAME exampleFMU2_bouncing_ball) 20 | 21 | TRIBITS_ADD_EXECUTABLE(${EXAMPLENAME} 22 | SOURCES ${EXAMPLENAME}.f90 23 | LINKER_LANGUAGE Fortran 24 | ) 25 | UNSET(EXAMPLENAME) 26 | -------------------------------------------------------------------------------- /examples/exampleTAU_Stubs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(EXAMPLENAME exampleTAU_Stubs) 11 | 12 | TRIBITS_ADD_EXECUTABLE(${EXAMPLENAME} 13 | SOURCES ${EXAMPLENAME}.f90 14 | LINKER_LANGUAGE Fortran 15 | ) 16 | UNSET(EXAMPLENAME) 17 | -------------------------------------------------------------------------------- /header: -------------------------------------------------------------------------------- 1 | !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | ! Futility Development Group ! 3 | ! All rights reserved. ! 4 | ! ! 5 | ! Futility is a jointly maintained open-source project between the University of ! 6 | ! Michigan and the Oak Ridge National Laboratory. The copyright and license ! 7 | ! can be found in Copyright.txt in the head directory of this repository. ! 8 | !++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++! 9 | 10 | -------------------------------------------------------------------------------- /src/BLAS.f90: -------------------------------------------------------------------------------- 1 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | !   Futility Development Group    ! 3 | !              All rights reserved.           ! 4 | !                         ! 5 | ! Futility is a jointly-maintained, open-source project between the University ! 6 | ! of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | ! can be found in LICENSE.txt in the head directory of this repository.   ! 8 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | !> @brief The global module for collecting all public members of 10 | !> other BLAS modules. This is the module that should be used elsewhere 11 | !> in the code. 12 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 13 | MODULE BLAS 14 | 15 | USE BLAS1 16 | USE BLAS2 17 | USE BLAS3 18 | IMPLICIT NONE 19 | ! 20 | ENDMODULE BLAS 21 | -------------------------------------------------------------------------------- /src/Futility_DBC.h: -------------------------------------------------------------------------------- 1 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | !   Futility Development Group    ! 3 | !              All rights reserved.           ! 4 | !                         ! 5 | ! Futility is a jointly-maintained, open-source project between the University ! 6 | ! of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | ! can be found in LICENSE.txt in the head directory of this repository.   ! 8 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | #ifdef FUTILITY_DBC 11 | #define REQUIRE(test) IF(.NOT. (test)) CALL DBC_FAIL("test",__FILE__,__LINE__) 12 | #define ENSURE(test) IF(.NOT. (test)) CALL DBC_FAIL("test",__FILE__,__LINE__) 13 | #else 14 | #define REQUIRE(test) ! DBC REQUIRE - test 15 | #define ENSURE(test) ! DBC ENSURE - test 16 | #endif 17 | -------------------------------------------------------------------------------- /src/floatingpointchecks.c: -------------------------------------------------------------------------------- 1 | /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | /   Futility Development Group    ! 3 | /              All rights reserved.           ! 4 | /                         ! 5 | / Futility is a jointly-maintained, open-source project between the University ! 6 | / of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | / can be found in LICENSE.txt in the head directory of this repository.   ! 8 | /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ 9 | #include 10 | #ifdef WIN32 11 | #define isnan(x) _isnan(x) 12 | #define isinf(x) (!_finite(x)) 13 | #endif 14 | int isNAN_float_c(float *x){ 15 | return isnan(*x); 16 | } 17 | int isNAN_double_c(double *x){ 18 | return isnan(*x); 19 | } 20 | int isINF_float_c(float *x){ 21 | return isinf(*x); 22 | } 23 | int isINF_double_c(double *x){ 24 | return isinf(*x); 25 | } 26 | -------------------------------------------------------------------------------- /src/floatingpointchecks.h: -------------------------------------------------------------------------------- 1 | /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | /   Futility Development Group    ! 3 | /              All rights reserved.           ! 4 | /                         ! 5 | / Futility is a jointly-maintained, open-source project between the University ! 6 | / of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | / can be found in LICENSE.txt in the head directory of this repository.   ! 8 | /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ 9 | #pragma 10 | extern "C" 11 | { 12 | int isNAN_float_c(float *x); 13 | int isNAN_double_c(double *x); 14 | int isINF_float_c(float *x); 15 | int isINF_double_c(double *x); 16 | } 17 | -------------------------------------------------------------------------------- /src/getSysProcInfo.h: -------------------------------------------------------------------------------- 1 | /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | /   Futility Development Group    ! 3 | /              All rights reserved.           ! 4 | /                         ! 5 | / Futility is a jointly-maintained, open-source project between the University ! 6 | / of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | / can be found in LICENSE.txt in the head directory of this repository.   ! 8 | /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ 9 | #pragma 10 | extern "C" 11 | { 12 | void getSysMemInfo(long long *totalPhysMem, long long *totalSwap, long long *totalFreeMem); 13 | void getProcMemInfo(long long *curUsage, long long *peakUsage); 14 | void getPWD_c(char* pwdpath, int* pathlen, int* status); 15 | } 16 | -------------------------------------------------------------------------------- /src/getSysProcInfo_F.h: -------------------------------------------------------------------------------- 1 | INTERFACE 2 | SUBROUTINE getSysMemInfo(totalPhysMem,totalSwap,totalFreeMem) & 3 | BIND(C,NAME="getSysMemInfo") 4 | USE ISO_C_BINDING 5 | INTEGER(C_LONG_LONG),INTENT(OUT) :: totalPhysMem 6 | INTEGER(C_LONG_LONG),INTENT(OUT) :: totalSwap 7 | INTEGER(C_LONG_LONG),INTENT(OUT) :: totalFreeMem 8 | ENDSUBROUTINE getSysMemInfo 9 | 10 | SUBROUTINE getProcMemInfo(curUsage,peakUsage) & 11 | BIND(C,NAME="getProcMemInfo") 12 | USE ISO_C_BINDING 13 | INTEGER(C_LONG_LONG),INTENT(OUT) :: curUsage 14 | INTEGER(C_LONG_LONG),INTENT(OUT) :: peakUsage 15 | ENDSUBROUTINE getProcMemInfo 16 | 17 | SUBROUTINE getPWD_c(pwdpath,pathlen,status) & 18 | BIND(C,NAME="getPWD_c") 19 | USE ISO_C_BINDING 20 | CHARACTER(KIND=C_CHAR,LEN=1),INTENT(IN) :: pwdpath(*) 21 | INTEGER(C_INT),INTENT(IN) :: pathlen 22 | INTEGER(C_INT),INTENT(OUT) :: status 23 | ENDSUBROUTINE getPWD_c 24 | ENDINTERFACE 25 | -------------------------------------------------------------------------------- /src/trilinos_interfaces/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 11 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 12 | 13 | TRIBITS_ADD_LIBRARY(TrilinosUtils 14 | HEADERS 15 | trilinos_mat_vec.hpp 16 | trilinos_pc.hpp 17 | trilinos_solvers.hpp 18 | #trilinos_ts.hpp 19 | #trilinos_anderson.hpp 20 | SOURCES 21 | trilinos_mat_vec.cpp 22 | trilinos_pc.cpp 23 | trilinos_solvers.cpp 24 | #trilinos_ts.cpp 25 | #trilinos_anderson.cpp 26 | trilinos_c_interfaces.cpp 27 | ) 28 | -------------------------------------------------------------------------------- /unit_tests/testAllocs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testAllocs) 11 | -------------------------------------------------------------------------------- /unit_tests/testAllocsOOM/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testAllocsOOM) 11 | -------------------------------------------------------------------------------- /unit_tests/testAndersonAcceleration/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testAndersonAcceleration) 11 | -------------------------------------------------------------------------------- /unit_tests/testArrayUtils/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testArrayUtils) 11 | -------------------------------------------------------------------------------- /unit_tests/testBLAS/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testBLAS) 11 | -------------------------------------------------------------------------------- /unit_tests/testBinaryTrees/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 3 | #   Futility Development Group    ! 4 | #              All rights reserved.           ! 5 | #                         ! 6 | # Futility is a jointly-maintained, open-source project between the University ! 7 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 8 | # can be found in LICENSE.txt in the head directory of this repository.   ! 9 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 10 | INCLUDE(Futility_CreateUnitTest) 11 | Futility_CreateUnitTest(testBinaryTrees) 12 | -------------------------------------------------------------------------------- /unit_tests/testCmdLineProc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testCmdLineProc) 11 | -------------------------------------------------------------------------------- /unit_tests/testConversions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testConversions) 11 | -------------------------------------------------------------------------------- /unit_tests/testEigenvalueSolver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testEigenvalueSolver) 11 | -------------------------------------------------------------------------------- /unit_tests/testElementsIsotopes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testElementsIsotopes) 11 | -------------------------------------------------------------------------------- /unit_tests/testExceptionHandler/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testExceptionHandler) 11 | -------------------------------------------------------------------------------- /unit_tests/testExpTables/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testExpTables) 11 | -------------------------------------------------------------------------------- /unit_tests/testExtendedMath/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testExtendedMath) 11 | -------------------------------------------------------------------------------- /unit_tests/testFMU_Wrapper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | 11 | ADD_SUBDIRECTORY(testFMU_BouncingBall) 12 | Futility_CreateUnitTest(testFMU_Wrapper) 13 | 14 | -------------------------------------------------------------------------------- /unit_tests/testFileType_Base/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testFileType_Base) 11 | -------------------------------------------------------------------------------- /unit_tests/testFileType_Checkpoint/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testFileType_Checkpoint) 11 | -------------------------------------------------------------------------------- /unit_tests/testFileType_DA32/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | # List any files from the main source directory that the test depends on 13 | # SET(ADDITIONAL_FILES 14 | # 15 | # ) 16 | 17 | Futility_CreateUnitTest(testFileType_DA32) 18 | 19 | # Futility_CopyFiles(ADDITIONAL_FILES) 20 | # UNSET(ADDITIONAL_FILES) 21 | -------------------------------------------------------------------------------- /unit_tests/testFileType_Fortran/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testFileType_Fortran) 11 | -------------------------------------------------------------------------------- /unit_tests/testFileType_Input/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testFileType_Input) 11 | -------------------------------------------------------------------------------- /unit_tests/testFileType_Log/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testFileType_Log) 11 | -------------------------------------------------------------------------------- /unit_tests/testFileType_XML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | 11 | # List any files from the main source directory that the test depends on 12 | SET(ADDITIONAL_FILES 13 | testFile.xml 14 | ) 15 | 16 | Futility_CreateUnitTest(testFileType_XML) 17 | 18 | Futility_CopyFiles(ADDITIONAL_FILES) 19 | UNSET(ADDITIONAL_FILES) -------------------------------------------------------------------------------- /unit_tests/testFunctionTableGenerator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | 11 | Futility_CreateUnitTest(testFunctionTableGenerator) -------------------------------------------------------------------------------- /unit_tests/testFutilityComputingEnvironment/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | 11 | Futility_CreateUnitTest(testFutilityComputingEnvironment) -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest01/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions from one path argument and one file extension. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest02/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions of multiple files with the same extension. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest02/testB.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions of multiple files with the same extension. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is another test input for the requirement parser' 8 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest03/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions from multiple files with two different extentions (.inp). 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest03/testC.f90: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions from multiple files with two different extentions (.f90). 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is another test input for the requirement parser' 8 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest04/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions from a file without requirement blocks. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest04/testC.f90: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement descriptions from a file without requirement blocks. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is another test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest04/testD.txt: -------------------------------------------------------------------------------- 1 | [CASEID] 2 | title 'This is another test input without a requirement' 3 | 4 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest05/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to skip file without requirement when --skip--no-require is on. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest05/testC.f90: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to skip file without requirement when --skip--no-require is on. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is another test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest05/testD.txt: -------------------------------------------------------------------------------- 1 | [CASEID] 2 | title 'This is another test input without a requirement' 3 | 4 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest06/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement without a ticket number. 3 | !> - ticket 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest06/testB.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse requirement without a ticket entry. 3 | !> @endreq 4 | 5 | [CASEID] 6 | title 'This is a test input for the requirement parser' 7 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest07/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able 3 | !> to parse a multiline 4 | !> description. 5 | !> - ticket 5690 6 | !> @endreq 7 | 8 | [CASEID] 9 | title 'This is a test input for the requirement parser' 10 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest08/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser: requirement defined, but empty description.' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest09/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse a description with too many - dashes. 3 | !> - ticket 5690 4 | !> @endreq 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest09/testB.f90: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to parse a description with too many 3 | !> - dashes. 4 | !> - ticket 5690 5 | !> @endreq 6 | 7 | [CASEID] 8 | title 'This is a test input for the requirement parser' 9 | 10 | -------------------------------------------------------------------------------- /unit_tests/testGenReqTables/subtest10/testA.inp: -------------------------------------------------------------------------------- 1 | !> @beginreq 2 | !> - The GenerateRequirements.py script shall be able to detect if the end keyword is missing or as a typo. 3 | !> - ticket 5690 4 | !> @endrep 5 | 6 | [CASEID] 7 | title 'This is a test input for the requirement parser' 8 | 9 | -------------------------------------------------------------------------------- /unit_tests/testGeom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Box/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Box) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_CircCyl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_CircCyl) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Graph/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Graph) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Line/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Line) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Plane/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Plane) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Points/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Points) 11 | -------------------------------------------------------------------------------- /unit_tests/testGeom_Poly/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testGeom_Poly) 11 | -------------------------------------------------------------------------------- /unit_tests/testHDF5FileType/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | # List any files from the main source directory that the test depends on 13 | SET(ADDITIONAL_FILES 14 | readtest.h5 15 | ) 16 | 17 | Futility_CreateUnitTest(testHDF5FileType) 18 | 19 | Futility_CopyFiles(ADDITIONAL_FILES) 20 | UNSET(ADDITIONAL_FILES) 21 | -------------------------------------------------------------------------------- /unit_tests/testHDF5FileType/readtest.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/unit_tests/testHDF5FileType/readtest.h5 -------------------------------------------------------------------------------- /unit_tests/testHash/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testHash) 11 | -------------------------------------------------------------------------------- /unit_tests/testIAPWSWaterProperties/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testIAPWSWaterProperties) 11 | -------------------------------------------------------------------------------- /unit_tests/testIOutil/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testIOutil) 11 | -------------------------------------------------------------------------------- /unit_tests/testInterpolators/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testInterpolators) 11 | -------------------------------------------------------------------------------- /unit_tests/testIntrType/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testIntrType) 11 | -------------------------------------------------------------------------------- /unit_tests/testLinearSolver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testLinearSolver) 11 | IF (${PACKAGE_NAME}_ENABLE_MPI) 12 | Futility_CreateParUnitTest(testLinearSolverParallel 2) 13 | ENDIF() 14 | -------------------------------------------------------------------------------- /unit_tests/testLinearSolver_Multigrid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateParUnitTest(testLinearSolver_Multigrid 2) 11 | -------------------------------------------------------------------------------- /unit_tests/testMatrixTypes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testMatrixTypes) 11 | IF (${PACKAGE_NAME}_ENABLE_MPI) 12 | Futility_CreateParUnitTest(testMatrixTypesParallel 2) 13 | ENDIF() 14 | -------------------------------------------------------------------------------- /unit_tests/testMeshTransfer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testMeshTransfer) 11 | -------------------------------------------------------------------------------- /unit_tests/testMultigridMesh/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testMultigridMesh) 11 | -------------------------------------------------------------------------------- /unit_tests/testNonLinearSolver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testNonLinearSolver) 11 | -------------------------------------------------------------------------------- /unit_tests/testODESolver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testODESolver) 11 | -------------------------------------------------------------------------------- /unit_tests/testParTPLPETSC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateParUnitTest(testParTPLPETSC 4) 11 | -------------------------------------------------------------------------------- /unit_tests/testParallelEnv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | IF (${PACKAGE_NAME}_ENABLE_MPI) 11 | Futility_CreateParUnitTest(testParallelEnv 2) 12 | ELSE() 13 | Futility_CreateUnitTest(testParallelEnv) 14 | ENDIF() 15 | -------------------------------------------------------------------------------- /unit_tests/testParameterLists/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | SET(ADDITIONAL_FILES 13 | testInit.xml 14 | ) 15 | 16 | Futility_CreateUnitTest(testParameterLists) 17 | Futility_CopyFiles(ADDITIONAL_FILES) 18 | UNSET(ADDITIONAL_FILES) 19 | -------------------------------------------------------------------------------- /unit_tests/testParameterLists/testInit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /unit_tests/testPartitionGraph/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testPartitionGraph) 11 | -------------------------------------------------------------------------------- /unit_tests/testPicard/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testPicard) 11 | -------------------------------------------------------------------------------- /unit_tests/testPreconditionerTypes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | SET(ADDITIONAL_FILES 13 | matrices/1g_matrix.txt 14 | matrices/mg_matrix.txt 15 | matrices/refBILU_1gL.txt 16 | matrices/refBILU_1gU.txt 17 | matrices/refBILU_mgL.txt 18 | matrices/refBILU_mgU.txt 19 | ) 20 | 21 | Futility_CreateUnitTest(testPreconditionerTypes) 22 | 23 | Futility_CopyFiles(ADDITIONAL_FILES) 24 | UNSET(ADDITIONAL_FILES) 25 | -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testRSORPrecon) 11 | Futility_CreateParUnitTest(testRSORPreconParallel 2) 12 | -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/matrices/LU.txt: -------------------------------------------------------------------------------- 1 | LU(1) 2 | -64.0000 16.0000 0 3 | -0.2500 -60.0000 16.0000 4 | 0 -0.2667 -59.7333 5 | 6 | LU(2) 7 | -64.0000 16.0000 0 8 | -0.2500 -60.0000 16.0000 9 | 0 -0.2667 -59.7333 10 | 11 | LU(3) 12 | -64.0000 16.0000 0 13 | -0.2500 -60.0000 16.0000 14 | 0 -0.2667 -59.7333 -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/matrices/LpU.txt: -------------------------------------------------------------------------------- 1 | 0 0 0 16 0 0 0 0 0 2 | 0 0 0 0 16 0 0 0 0 3 | 0 0 0 0 0 16 0 0 0 4 | 16 0 0 0 0 0 16 0 0 5 | 0 16 0 0 0 0 0 16 0 6 | 0 0 16 0 0 0 0 0 16 7 | 0 0 0 16 0 0 0 0 0 8 | 0 0 0 0 16 0 0 0 0 9 | 0 0 0 0 0 16 0 0 0 -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/matrices/matrix.txt: -------------------------------------------------------------------------------- 1 | -64 16 0 16 0 0 0 0 0 2 | 16 -64 16 0 16 0 0 0 0 3 | 0 16 -64 0 0 16 0 0 0 4 | 16 0 0 -64 16 0 16 0 0 5 | 0 16 0 16 -64 16 0 16 0 6 | 0 0 16 0 16 -64 0 0 16 7 | 0 0 0 16 0 0 -64 16 0 8 | 0 0 0 0 16 0 16 -64 16 9 | 0 0 0 0 0 16 0 16 -64 -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/matrices/solution.txt: -------------------------------------------------------------------------------- 1 | 0.134981101936174 2 | 1.48029736616688e-17 3 | -0.134981101936174 4 | -0.246252472291998 5 | -3.70074341541719e-17 6 | 0.246252472291998 7 | 0.134981101936174 8 | 7.40148683083438e-18 9 | -0.134981101936174 -------------------------------------------------------------------------------- /unit_tests/testRSORprecon/matrices/vector.txt: -------------------------------------------------------------------------------- 1 | -16 2 | -1.95943487863577e-15 3 | 16 4 | 25.1327412287183 5 | 3.07787310995486e-15 6 | -25.1327412287183 7 | -16.0000000000000 8 | -1.95943487863576e-15 9 | 16.0000000000000 -------------------------------------------------------------------------------- /unit_tests/testSchemaParser/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | SET(ADDITIONAL_FILES 13 | testFile.inp 14 | ) 15 | 16 | Futility_CreateUnitTest(testSchemaParser) 17 | Futility_CopyFiles(ADDITIONAL_FILES) 18 | UNSET(ADDITIONAL_FILES) 19 | 20 | -------------------------------------------------------------------------------- /unit_tests/testSchemaParser/testFile.inp: -------------------------------------------------------------------------------- 1 | SINGLE_SIK_BLOCK 2 | SINGLE_SIK_CARD 5 3 | 4 | SINGLE_SRK_BLOCK 5 | SINGLE_SRK_CARD 3.0 6 | 7 | SINGLE_SBK_BLOCK 8 | SINGLE_SBK_CARD true 9 | 10 | SINGLE_STR_BLOCK 11 | SINGLE_STR_CARD string 12 | 13 | 14 | !Some Comments to ignore 15 | MULTPL_SBK_BLOCK MULTPL_SBK_CARD true MULTPL_SBK_CARD T MULTPL_SBK_BLOCK MULTPL_SBK_CARD False 16 | MULTPL_SBK_BLOCK MULTPL_SBK_CARD f 17 | 18 | SINGLE_SIKA1_BLOCK 19 | SINGLE_SIKA1_CARD 1 2 3 4 5 20 | 21 | SINGLE_SRKA1_BLOCK 22 | SINGLE_SRKA1_CARD 1.0 2.0 3.0 4.0 23 | 24 | SINGLE_SBKA1_BLOCK 25 | SINGLE_SBKA1_CARD T F T T 26 | 27 | SINGLE_STRA1_BLOCK 28 | SINGLE_STRA1_CARD Word1 wOrD2 WORD3 29 | 30 | GEOM 31 | ASSEM 4 / 4 / 32 | 1 2 3 4 33 | 5 6 7 8 34 | 8 7 6 5 35 | 4 3 2 1 36 | 37 | USER_BLOCK USER_CARD str1 20 str2 31 str3 8 38 | 39 | -------------------------------------------------------------------------------- /unit_tests/testSearch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testSearch) 11 | -------------------------------------------------------------------------------- /unit_tests/testSorting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testSorting) 11 | -------------------------------------------------------------------------------- /unit_tests/testSpaceFillingCurve/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testSpaceFillingCurve) 11 | -------------------------------------------------------------------------------- /unit_tests/testSpeciesElements/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testSpeciesElements) 11 | -------------------------------------------------------------------------------- /unit_tests/testStochasticSampler/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testStochasticSampler) 11 | -------------------------------------------------------------------------------- /unit_tests/testStrings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testStrings) 11 | -------------------------------------------------------------------------------- /unit_tests/testTPLHDF5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testTPLHDF5) 11 | -------------------------------------------------------------------------------- /unit_tests/testTPLPARDISO/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testTPLPARDISO) 11 | -------------------------------------------------------------------------------- /unit_tests/testTPLPETSC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateParUnitTest(testTPLPETSC 1) 11 | -------------------------------------------------------------------------------- /unit_tests/testTPLSLEPC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateParUnitTest(testTPLSLEPC 1) 11 | -------------------------------------------------------------------------------- /unit_tests/testTimes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testTimes) 11 | -------------------------------------------------------------------------------- /unit_tests/testUnitTest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | # List any files from the main source directory that the test depends on 13 | SET(ADDITIONAL_FILES 14 | ) 15 | 16 | Futility_CreateUnitTest(testUnitTest) 17 | 18 | Futility_CopyFiles(ADDITIONAL_FILES) 19 | UNSET(ADDITIONAL_FILES) 20 | -------------------------------------------------------------------------------- /unit_tests/testVTKFiles/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | # List any files from the main source directory that the test depends on 13 | SET(ADDITIONAL_FILES 14 | mesh3Points.txt 15 | mesh3Data.txt 16 | VtktestCyl.vtk 17 | mesh5ref.txt 18 | ) 19 | 20 | Futility_CreateUnitTest(testVTKFiles) 21 | 22 | Futility_CopyFiles(ADDITIONAL_FILES) 23 | UNSET(ADDITIONAL_FILES) 24 | -------------------------------------------------------------------------------- /unit_tests/testVTUFiles/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | INCLUDE(Futility_CopyFiles) 11 | 12 | # List any files from the main source directory that the test depends on 13 | SET(ADDITIONAL_FILES 14 | mesh2Points.txt 15 | mesh2Data.txt 16 | ) 17 | 18 | Futility_CreateUnitTest(testVTUFiles) 19 | 20 | Futility_CopyFiles(ADDITIONAL_FILES) 21 | UNSET(ADDITIONAL_FILES) 22 | -------------------------------------------------------------------------------- /unit_tests/testVectorTypes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testVectorTypes) 11 | IF (${PACKAGE_NAME}_ENABLE_MPI) 12 | Futility_CreateParUnitTest(testVectorTypesParallel 2) 13 | ENDIF() 14 | -------------------------------------------------------------------------------- /unit_tests/testWaterSatProperties/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testWaterSatProperties) 11 | -------------------------------------------------------------------------------- /unit_tests/testXDMFMesh/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | 11 | # List any files from the main source directory that the test depends on 12 | SET(ADDITIONAL_FILES 13 | gridmesh_two_pins.xdmf 14 | gridmesh_two_pins.h5 15 | gridmesh_three_level_grid.xdmf 16 | gridmesh_three_level_grid.h5 17 | three_level_grid.xdmf 18 | three_level_grid.h5 19 | ) 20 | 21 | 22 | Futility_CreateUnitTest(testXDMFMesh) 23 | 24 | Futility_CopyFiles(ADDITIONAL_FILES) 25 | UNSET(ADDITIONAL_FILES) 26 | -------------------------------------------------------------------------------- /unit_tests/testXDMFMesh/gridmesh_three_level_grid.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/unit_tests/testXDMFMesh/gridmesh_three_level_grid.h5 -------------------------------------------------------------------------------- /unit_tests/testXDMFMesh/gridmesh_two_pins.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/unit_tests/testXDMFMesh/gridmesh_two_pins.h5 -------------------------------------------------------------------------------- /unit_tests/testXDMFMesh/three_level_grid.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CASL/Futility/0d82728e8c510409c4217acc1f8efcfb666cd81b/unit_tests/testXDMFMesh/three_level_grid.h5 -------------------------------------------------------------------------------- /unit_tests/trilinos_interfaces/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | 10 | SET(UNIT_TEST_NAMES 11 | testKokkosInit 12 | testInterfaces 13 | ) 14 | 15 | FOREACH(test ${UNIT_TEST_NAMES}) 16 | ADD_SUBDIRECTORY(${test}) 17 | ENDFOREACH() 18 | 19 | # Clear these variables 20 | UNSET(UNIT_TEST_NAMES) 21 | UNSET(test) 22 | -------------------------------------------------------------------------------- /unit_tests/trilinos_interfaces/testInterfaces/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testInterfaces) 11 | -------------------------------------------------------------------------------- /unit_tests/trilinos_interfaces/testKokkosInit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | #   Futility Development Group    ! 3 | #              All rights reserved.           ! 4 | #                         ! 5 | # Futility is a jointly-maintained, open-source project between the University ! 6 | # of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | # can be found in LICENSE.txt in the head directory of this repository.   ! 8 | #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | INCLUDE(Futility_CreateUnitTest) 10 | Futility_CreateUnitTest(testKokkosInit) 11 | -------------------------------------------------------------------------------- /unit_tests/trilinos_interfaces/testKokkosInit/testKokkosInit.f90: -------------------------------------------------------------------------------- 1 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 2 | !   Futility Development Group    ! 3 | !              All rights reserved.           ! 4 | !                         ! 5 | ! Futility is a jointly-maintained, open-source project between the University ! 6 | ! of Michigan and Oak Ridge National Laboratory.  The copyright and license ! 7 | ! can be found in LICENSE.txt in the head directory of this repository.   ! 8 | !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++! 9 | PROGRAM test_kokkos_init 10 | USE ISO_C_BINDING 11 | USE trilinos_interfaces 12 | IMPLICIT NONE 13 | #ifdef FUTILITY_HAVE_Kokkos 14 | !Initializing Kokkos. 15 | CALL InitializeKokkos(4,-1) 16 | WRITE(*,*) "Kokkos initialization successful." 17 | !Finalizing Kokkos. 18 | CALL FinalizeKokkos() 19 | WRITE(*,*) "Kokkos finalization successful." 20 | #endif 21 | 22 | ENDPROGRAM test_kokkos_init 23 | --------------------------------------------------------------------------------