From baf09095322dbd946b452657b6878c097cc90c39 Mon Sep 17 00:00:00 2001
From: bartlettroscoe 2024-08-01 2024-09-01 tribits_start-3464-g47437558 tribits_start-3472-g7cfa35ad Roscoe A. Bartlett (rabartl@sandia.gov) 2024-08-01 2024-09-01 tribits_start-3464-g47437558 tribits_start-3472-g7cfa35ad 12.3 General Utility Macros and Functions 13 TriBITS System Maintainers Documentation 13.1 TriBITS System Data Structures User-level TriBITS Project, Repository, Package and Subpackage Variables Processing of external packages/TPLs and TriBITS-compliant external packages User-level TriBITS Project, Repository, Package and Subpackage Variables Processing of external packages/TPLs and TriBITS-compliant external packages 13.2 Function call tree for constructing package dependency graph 13.2 Function call tree for constructing package dependency graph 13.3 TriBITS System Macros and Functions tribits_read_defined_external_and_internal_toplevel_packages_lists() tribits_write_package_client_export_files_export_and_install_targets() tribits_read_defined_external_and_internal_toplevel_packages_lists() tribits_write_package_client_export_files_export_and_install_targets()
diff --git a/build_ref/search.html b/build_ref/search.html
index 80e20c58e..fd29bf372 100644
--- a/build_ref/search.html
+++ b/build_ref/search.html
@@ -3,7 +3,7 @@
-
@@ -715,183 +718,186 @@
-
-
-
-
-
-
tribits_find_most_r
the source code.
In: core/package_arch/TribitsFindMostRecentFileTimestamp.cmake:269
+Function that determines a given external or internal package’s enable +status (e.g. ‘ON’ or ‘OFF’ or any valid CMake bool)
+Usage:
+tribits_get_package_enable_status(<packageName> <packageEnableOut>
+ <packageEnableVarNameOut>)
+
On return, if non-empty, the variable <packageEnableOut>
will contain
+the actual value of ${${PROJECT_NAME}_ENABLE_<packageName>}
or
+${TPL_ENABLE_<packageName>}
or will return empty “”. If
+${packageName}_PACKAGE_BUILD_STATUS == "INTERNAL"
, then only the value
+of ${PROJECT_NAME}_ENABLE_<packageName>
will be considered.
On return, if non-empty, the variable <packageEnableVarNameOut>
will be
+either ${${PROJECT_NAME}_ENABLE_<packageName>}
or
+${TPL_ENABLE_<packageName>}
, depending on which one is used to obtain
+the value <packageEnableOut>
.
This works for both external packages/TPLs and internal packages.
+In: core/package_arch/TribitsGetPackageEnableStatus.cmake:11
+Function used to (optionally) install header files using install()
command.
Usage:
@@ -15033,7 +15060,7 @@In: core/package_arch/TribitsInstallHeaders.cmake:14
This function overrides the standard behavior of the built-in CMake
include_directories()
command for special behavior for installation
testing.
In: core/package_arch/TribitsIncludeDirectories.cmake:14
Macro that registers a package-level cache var to be exported in the
<Package>Config.cmake
file
Usage:
@@ -15075,7 +15102,7 @@In: core/package_arch/TribitsPkgExportCacheVars.cmake:11
Macro called at the very beginning of a package’s top-level <packageDir>/CMakeLists.txt file.
Usage:
@@ -15094,7 +15121,7 @@In: core/package_arch/TribitsPackageMacros.cmake:323
Macro called at the very beginning of a package’s top-level <packageDir>/CMakeLists.txt file when a package has subpackages.
Usage:
@@ -15163,7 +15190,7 @@In: core/package_arch/TribitsPackageMacros.cmake:78
Macro called in <packageDir>/CMakeLists.txt after subpackages are processed in order to handle the libraries, tests, and examples of the parent package.
@@ -15183,7 +15210,7 @@In: core/package_arch/TribitsPackageMacros.cmake:251
Define the dependencies for a given TriBITS Package (i.e. a top-level TriBITS Package or a TriBITS Subpackage) in the package’s <packageDir>/cmake/Dependencies.cmake file.
@@ -15343,8 +15370,43 @@In: core/package_arch/TribitsPackageDefineDependencies.cmake:13
Process an enabled TPL’s FindTPL${TPL_NAME}.cmake module.
+In: core/package_arch/TribitsProcessEnabledTpls.cmake:124
+Function that determines if a package’s enable variable evaluates to true or +is unset.
+Usage:
+tribits_package_is_enabled_or_unset((<packageEnableVarName>
+ <packageIsEnabledOrUnsetOut>)
+
On return, the value of <packageIsEnabledOrUnsetOut>
will set to
+TRUE
if the variable <packageEnableVarName>
evaluates to true and
+or is empty “”. Otherwise, <packageIsEnabledOrUnsetOut>
will set
+to FALSE
on return.
In: core/package_arch/TribitsGetPackageEnableStatus.cmake:64
+Function that determines if a package’s enable variable is +explicitly disabled (i.e. evaluates to false but is not emapty).
+Usage:
+tribits_package_is_explicitly_disabled((<packageEnableVarName>
+ <packageIsExplicitlyDisabledOut>)
+
On return, the value of <packageIsExplicitlyDisabledOut>
will set to
+TRUE
if the variable <packageEnableVarName>
evaluates to false and
+is not empty “”. Otherwise, <packageIsExplicitlyDisabledOut>
will set
+to FALSE
on return.
In: core/package_arch/TribitsGetPackageEnableStatus.cmake:92
+Macro called at the very end of a package’s top-level <packageDir>/CMakeLists.txt file that performs some critical post-processing activities.
@@ -15361,7 +15423,7 @@In: core/package_arch/TribitsPackageMacros.cmake:742
Macro that processes the TriBITS Subpackages for a parent TriBITS package for packages that are broken down into subpackages. This is called in the parent packages top-level <packageDir>/CMakeLists.txt file.
@@ -15373,13 +15435,8 @@In: core/package_arch/TribitsPackageMacros.cmake:852
Process an enabled TPL’s FindTPL${TPL_NAME}.cmake module.
-In: core/package_arch/TribitsProcessEnabledTpls.cmake:124
-Processes a TriBITS Project’s files and configures its software which is called from the project’s top-level <projectDir>/CMakeLists.txt file.
Usage:
@@ -15396,7 +15453,7 @@In: core/package_arch/TribitsProject.cmake:43
Declare a set of extra repositories for the TriBITS Project (i.e. in the project’s <projectDir>/cmake/ExtraRepositoriesList.cmake file).
Usage:
@@ -15494,7 +15551,7 @@In: core/package_arch/TribitsProcessExtraRepositoriesList.cmake:20
Process a project where you enable all of the packages by default.
Usage:
tribits_project_enable_all()
@@ -15509,7 +15566,7 @@ tribits_project_ena
In: core/package_arch/TribitsProjectImpl.cmake:299
-tribits_repository_define_packages()
+tribits_repository_define_packages()
Define the set of packages for a given TriBITS Repository. This macro is
typically called from inside of a <repoDir>/PackagesList.cmake file for a
given TriBITS repo.
@@ -15585,7 +15642,7 @@ tribits_repository_
In: core/package_arch/TribitsProcessPackagesAndDirsLists.cmake:26
-tribits_repository_define_tpls()
+tribits_repository_define_tpls()
Define the list of TriBITS External Packages/TPLs for a given TriBITS
Repository which includes the external package/TPL name, TriBITS TPL find
module, and classification . This macro is typically called from inside of
@@ -15648,7 +15705,7 @@
tribits_repository_
In: core/package_arch/TribitsProcessTplsLists.cmake:18
-tribits_set_and_inc_dirs()
+tribits_set_and_inc_dirs()
Set a variable to an include directory and call
tribits_include_directories() (removes boiler-plate code).
Usage:
@@ -15660,7 +15717,7 @@ tribits_set_and_inc
In: core/package_arch/TribitsSetAndIncDirs.cmake:11
-tribits_set_st_for_dev_mode()
+tribits_set_st_for_dev_mode()
Function that allows packages to easily make a feature ST
for
development builds and PT
for release builds by default.
Usage:
@@ -15683,7 +15740,7 @@ tribits_set_st_for_
In: core/package_arch/TribitsGeneralMacros.cmake:62
-tribits_subpackage()
+tribits_subpackage()
Forward declare a TriBITS Subpackage called at the top of the
subpackage’s <packageDir>/<spkgDir>/CMakeLists.txt file.
Usage:
@@ -15715,7 +15772,7 @@ tribits_subpackage(
In: core/package_arch/TribitsSubPackageMacros.cmake:14
-tribits_subpackage_postprocess()
+tribits_subpackage_postprocess()
Macro that performs standard post-processing after defining a TriBITS
Subpackage which is called at the bottom of a subpackage’s
<packageDir>/<spkgDir>/CMakeLists.txt file.
@@ -15731,7 +15788,7 @@ tribits_subpackage_
In: core/package_arch/TribitsSubPackageMacros.cmake:113
-tribits_tpl_allow_pre_find_package()
+tribits_tpl_allow_pre_find_package()
Function that determines if a TriBITS find module file
FindTPL<tplName>.cmake
is allowed to call find_package(<tplName>
...)
before calling tribits_tpl_find_include_dirs_and_libraries().
@@ -15777,7 +15834,7 @@ tribits_tpl_allow_p
In: core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake:26
-tribits_tpl_find_include_dirs_and_libraries()
+tribits_tpl_find_include_dirs_and_libraries()
This function reads (cache) variables that specify where to find a TriBITS
TPL’s headers and libraries and then creates IMPORTED targets, the
<tplName>::all_libs
target, and writes the file
@@ -15909,7 +15966,7 @@
tribits_tpl_find_in
In: core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake:129
-tribits_tpl_tentatively_enable()
+tribits_tpl_tentatively_enable()
Function that sets up for an optionally enabled TPL that is attempted to be
enabled but will be disabled if all of the parts are not found.
Usage:
@@ -15934,7 +15991,7 @@ tribits_tpl_tentati
In: core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake:705
-tribits_write_flexible_package_client_export_files()
+tribits_write_flexible_package_client_export_files()
Utility function for writing the ${PACKAGE_NAME}Config.cmake
files for
the build dir and/or for the install dir for the package <packageName>
with some flexibility . (See NOTE below for what is actually generated and
@@ -16001,7 +16058,7 @@
tribits_write_flexi
In: core/package_arch/TribitsInternalPackageWriteConfigFile.cmake:304
-tribits_verbose_print_var()
+tribits_verbose_print_var()
print a variable giving its name then value if
${PROJECT_NAME}_VERBOSE_CONFIGURE=TRUE
.
Usage:
@@ -16018,7 +16075,7 @@ tribits_verbose_pri
-12.3 General Utility Macros and Functions
+12.3 General Utility Macros and Functions
The following subsections give detailed documentation for some CMake macros
and functions which are not a core part of the TriBITS system but are
included in the TriBITS source tree, are used inside of the TriBITS system,
@@ -16035,7 +16092,7 @@
some_builtin_command(), one can always access the original built-in
command as _some_builtin_command()
.
-add_subdirectories()
+add_subdirectories()
Macro that adds a list of subdirectories all at once (removes boiler-plate
code).
Usage:
@@ -16051,7 +16108,7 @@ add_subdirectories(
In: core/utils/AddSubdirectories.cmake:11
-advanced_option()
+advanced_option()
Macro that sets an option and marks it as advanced (removes boiler-plate and
duplication).
Usage:
@@ -16066,7 +16123,7 @@ advanced_option()
In: core/utils/AdvancedOption.cmake:11
-advanced_set()
+advanced_set()
Macro that sets a variable and marks it as advanced (removes boiler-plate
and duplication).
Usage:
@@ -16081,7 +16138,7 @@ advanced_set()<
In: core/utils/AdvancedSet.cmake:11
-append_cmndline_args()
+append_cmndline_args()
Utility function that appends command-line arguments to a variable of
command-line arguments.
Usage:
@@ -16094,7 +16151,7 @@ append_cmndline_arg
In: core/utils/AppendCmndlineArgs.cmake:11
-append_glob()
+append_glob()
Utility macro that does a file(GLOB ...)
and appends to an existing list
(removes boiler-plate code).
Usage:
@@ -16105,7 +16162,7 @@ append_glob()In: core/utils/AppendGlob.cmake:13
-append_global_set()
+append_global_set()
Utility macro that appends arguments to a global variable (reduces
boiler-plate code and mistakes).
Usage:
@@ -16117,7 +16174,7 @@ append_global_set()
In: core/utils/AppendGlobalSet.cmake:14
-append_set()
+append_set()
Utility function to append elements to a variable (reduces boiler-plate
code).
Usage:
@@ -16133,7 +16190,7 @@ append_set()In: core/utils/AppendSet.cmake:11
-append_string_var()
+append_string_var()
Append strings to an existing string variable (reduces boiler-place code and
reduces mistakes).
Usage:
@@ -16151,7 +16208,7 @@ append_string_var()
In: core/utils/AppendStringVar.cmake:17
-append_string_var_ext()
+append_string_var_ext()
Append a single string to an existing string variable, ignoring ‘;’ (reduces
boiler-place code and reduces mistakes).
Usage:
@@ -16163,7 +16220,7 @@ append_string_var_e
In: core/utils/AppendStringVar.cmake:46
-append_string_var_with_sep()
+append_string_var_with_sep()
Append strings to a given string variable, joining them using a separator
string.
Usage:
@@ -16175,7 +16232,7 @@ append_string_var_w
In: core/utils/AppendStringVarWithSep.cmake:13
-assert_defined()
+assert_defined()
Assert that a variable is defined and if not call message(SEND_ERROR
...)
.
Usage:
@@ -16211,7 +16268,7 @@ assert_defined()In: core/utils/AssertDefined.cmake:11
-combined_option()
+combined_option()
Set up a BOOL
cache variable (i.e. an option) based on a set of
dependent options.
Usage:
@@ -16233,7 +16290,7 @@ combined_option()
In: core/utils/CombinedOption.cmake:15
-concat_strings()
+concat_strings()
Concatenate a set of string arguments.
Usage:
concat_strings(<outputVar> "<str0>" "<str1>" ...)
@@ -16244,7 +16301,7 @@ concat_strings()In: core/utils/ConcatStrings.cmake:13
-dual_scope_append_cmndline_args()
+dual_scope_append_cmndline_args()
Utility function that appends command-line arguments to a variable of
command-line options and sets the result in current scope and parent scope.
Usage:
@@ -16255,7 +16312,7 @@ dual_scope_append_c
In: core/utils/DualScopeAppendCmndlineArgs.cmake:14
-dual_scope_prepend_cmndline_args()
+dual_scope_prepend_cmndline_args()
Utility function that prepends command-line arguments to a variable of
command-line arguments and sets the result in current scope and parent
scope.
@@ -16267,7 +16324,7 @@ dual_scope_prepend_
In: core/utils/DualScopePrependCmndlineArgs.cmake:14
-dual_scope_set()
+dual_scope_set()
Macro that sets a variable name both in the current scope and the
parent scope.
Usage:
@@ -16292,7 +16349,7 @@ dual_scope_set()In: core/utils/DualScopeSet.cmake:11
-global_null_set()
+global_null_set()
Set a variable as a null internal global (cache) variable (removes
boiler-plate code).
Usage:
@@ -16307,7 +16364,7 @@ global_null_set()
In: core/utils/GlobalNullSet.cmake:11
-global_set()
+global_set()
Set a variable as an internal global (cache) variable (removes boiler-plate
code).
Usage:
@@ -16322,7 +16379,7 @@ global_set()In: core/utils/GlobalSet.cmake:11
-join()
+join()
Join a set of strings into a single string using a join string.
Usage:
join(<outputStrVar> "<sepStr>" <quoteElements>
@@ -16369,7 +16426,7 @@ join()In: core/utils/Join.cmake:11
-message_wrapper()
+message_wrapper()
Function that wraps the standard CMake/CTest message()
function call in
order to allow unit testing to intercept the output.
Usage:
@@ -16394,7 +16451,7 @@ message_wrapper()
In: core/utils/MessageWrapper.cmake:14
-multiline_set()
+multiline_set()
Function to set a single string by concatenating a list of separate strings
Usage:
multiline_set(<outputStrVar>
@@ -16415,7 +16472,7 @@ multiline_set()
In: core/utils/MultilineSet.cmake:11
-prepend_cmndline_args()
+prepend_cmndline_args()
Utility function that prepends command-line arguments to a variable of
command-line arguments.
Usage:
@@ -16428,7 +16485,7 @@ prepend_cmndline_ar
In: core/utils/PrependCmndlineArgs.cmake:11
-prepend_global_set()
+prepend_global_set()
Utility macro that prepends arguments to a global variable (reduces
boiler-plate code and mistakes).
Usage:
@@ -16440,7 +16497,7 @@ prepend_global_set(
In: core/utils/PrependGlobalSet.cmake:14
-print_nonempty_var()
+print_nonempty_var()
Print a defined variable giving its name then value only if it is not empty.
Usage:
print_nonempty_var(<varName>)
@@ -16450,7 +16507,7 @@ print_nonempty_var(
In: core/utils/PrintNonemptyVar.cmake:14
-print_nonempty_var_with_spaces()
+print_nonempty_var_with_spaces()
Print a list variable giving its name then value printed with spaces instead
of ';'
, but only if the list is non-empty.
Usage:
@@ -16468,7 +16525,7 @@ print_nonempty_var_
In: core/utils/PrintNonemptyVarWithSpaces.cmake:14
-print_var()
+print_var()
Unconditionally print a variable giving its name then value.
Usage:
print_var(<varName>)
@@ -16483,7 +16540,7 @@ print_var()In: core/utils/PrintVar.cmake:12
-print_var_with_spaces()
+print_var_with_spaces()
Print a defined variable giving its name then value printed with spaces
instead of ';'
.
Usage:
@@ -16500,7 +16557,7 @@ print_var_with_spac
In: core/utils/PrintVarWithSpaces.cmake:14
-remove_global_duplicates()
+remove_global_duplicates()
Remove duplicate elements from a global list variable (removes boiler-plate
code and errors).
Usage:
@@ -16517,7 +16574,7 @@ remove_global_dupli
In: core/utils/RemoveGlobalDuplicates.cmake:14
-set_cache_on_off_empty()
+set_cache_on_off_empty()
Usage:
set_cache_on_off_empty(<varName> <initialVal> "<docString>" [FORCE])
@@ -16528,7 +16585,7 @@ set_cache_on_off_em
In: core/utils/SetCacheOnOffEmpty.cmake:11
-set_default()
+set_default()
Give a local variable a default value if a non-empty value is not already
set.
Usage:
@@ -16541,7 +16598,7 @@ set_default()In: core/utils/SetDefault.cmake:11
-set_default_and_from_env()
+set_default_and_from_env()
Set a default value for a local variable and override from an environment
variable of the same name if it is set.
Usage:
@@ -16558,7 +16615,7 @@ set_default_and_fro
In: core/utils/SetDefaultAndFromEnv.cmake:15
-split()
+split()
Split a string variable into a string array/list variable.
Usage:
split("<inputStr>" "<sepStr>" <outputStrListVar>)
@@ -16573,7 +16630,7 @@ split()In: core/utils/Split.cmake:11
-timer_get_raw_seconds()
+timer_get_raw_seconds()
Return the raw time in seconds (nano-second accuracy) since epoch, i.e.,
since 1970-01-01 00:00:00 UTC.
Usage:
@@ -16594,7 +16651,7 @@ timer_get_raw_secon
In: core/utils/TimingUtils.cmake:20
-timer_get_rel_seconds()
+timer_get_rel_seconds()
Return the relative time between start and stop seconds.
Usage:
timer_get_rel_seconds(<startSeconds> <endSeconds> <relSecondsOutVar>)
@@ -16607,7 +16664,7 @@ timer_get_rel_secon
In: core/utils/TimingUtils.cmake:49
-timer_print_rel_time()
+timer_print_rel_time()
Print the relative time between start and stop timers in <min>m<sec>s
format.
Usage:
@@ -16636,7 +16693,7 @@ timer_print_rel_tim
In: core/utils/TimingUtils.cmake:86
-tribits_add_enum_cache_var()
+tribits_add_enum_cache_var()
Set up a string cache variable that must match a fixed set of values
(i.e. an enum) and assert that it matches those values.
Usage:
@@ -16652,7 +16709,7 @@ tribits_add_enum_ca
In: core/utils/TribitsAddEnumCacheVar.cmake:13
-tribits_advanced_set_cache_var_and_default()
+tribits_advanced_set_cache_var_and_default()
Set an advanced cache variable with a default value (passing in a default
default value).
Usage:
@@ -16666,7 +16723,7 @@ tribits_advanced_se
In: core/utils/TribitsSetCacheVarAndDefault.cmake:13
-tribits_deprecated()
+tribits_deprecated()
Notify the user that some TriBITS functionality is deprecated.
Usage:
tribits_deprecated(<message>)
@@ -16689,7 +16746,7 @@ tribits_deprecated(
In: core/utils/TribitsDeprecatedHelpers.cmake:25
-tribits_deprecated_command()
+tribits_deprecated_command()
Notify the user that a TriBITS function or macro is deprecated. This should
be the first command called at the top of any deprecated function or macro.
Usage:
@@ -16701,7 +16758,7 @@ tribits_deprecated_
In: core/utils/TribitsDeprecatedHelpers.cmake:66
-tribits_create_reverse_list()
+tribits_create_reverse_list()
Create a reverse list var in one shot.
Usage:
tribits_create_reverse_list(<oldListName> <newListName>)
@@ -16710,7 +16767,7 @@ tribits_create_reve
In: core/utils/TribitsCreateReverseList.cmake:11
-tribits_set_cache_var_and_default()
+tribits_set_cache_var_and_default()
Set a cache variable with a default value (passing in a default default
value).
Usage:
@@ -16724,7 +16781,7 @@ tribits_set_cache_v
In: core/utils/TribitsSetCacheVarAndDefault.cmake:36
-tribits_strip_quotes_from_str()
+tribits_strip_quotes_from_str()
Remove one set of quotes from the outside of a string if they exist.
Usage:
tribits_strip_quotes_from_str(<str_in> <str_var_out>)
@@ -16735,7 +16792,7 @@ tribits_strip_quote
In: core/utils/TribitsStripQuotesFromStr.cmake:1
-unittest_compare_const()
+unittest_compare_const()
Perform a single unit test equality check and update overall test statistics
Usage:
unittest_compare_const(<varName> <expectedValue>)
@@ -16749,7 +16806,7 @@ unittest_compare_co
In: core/utils/UnitTestHelpers.cmake:34
-unittest_has_substr_const()
+unittest_has_substr_const()
Check that a given string var contains the given substring and update
overall test statistics
Usage:
@@ -16765,7 +16822,7 @@ unittest_has_substr
In: core/utils/UnitTestHelpers.cmake:318
-unittest_not_has_substr_const()
+unittest_not_has_substr_const()
Check that a given string var does NOT contains the given substring and
update overall test statistics
Usage:
@@ -16781,7 +16838,7 @@ unittest_not_has_su
In: core/utils/UnitTestHelpers.cmake:364
-unittest_string_regex()
+unittest_string_regex()
Perform a series of regexes on a given string and update overall test
statistics.
Usage:
@@ -16799,7 +16856,7 @@ unittest_string_reg
In: core/utils/UnitTestHelpers.cmake:208
-unittest_string_var_regex()
+unittest_string_var_regex()
Perform a series of regexes on a given string variable and update overall
test statistics.
Usage:
@@ -16817,7 +16874,7 @@ unittest_string_var
In: core/utils/UnitTestHelpers.cmake:267
-unittest_file_regex()
+unittest_file_regex()
Perform a series regexes of given strings and update overall test statistics.
Usage:
unittest_file_regex(
@@ -16831,7 +16888,7 @@ unittest_file_regex
In: core/utils/UnitTestHelpers.cmake:410
-unittest_final_result()
+unittest_final_result()
Print final statistics from all tests and assert final pass/fail
Usage:
unittest_final_result(<expectedNumPassed>)
@@ -16858,14 +16915,14 @@ unittest_final_resu
-13 TriBITS System Maintainers Documentation
+13 TriBITS System Maintainers Documentation
This section contains more detailed information about the internal
implementation of TriBITS. This information is meant to make it easier to
understand and manipulate the data-structures and macros/functions that make
up internal implementation of TriBITS and is important for TriBITS System
Developers and TriBITS System Architects.
-13.1 TriBITS System Data Structures
+13.1 TriBITS System Data Structures
This section describes the global CMake variables that make up the
data-structures and the macros/functions that create them that define the
TriBITS package dependency system. All of these variables all exist at the
@@ -16878,7 +16935,7 @@
TriBITS
Project Developers or even TriBITS Project Architects.
-TriBITS naming conventions
+TriBITS naming conventions
Before describing the TriBITS package architecture data-structures and the
macros/functions that create and manipulate those data-structures in detail,
first we define some naming conventions for TriBITS macros/function and
@@ -16933,7 +16990,7 @@
TriBITS naming conv
-User-level TriBITS Project, Repository, Package and Subpackage Variables
+User-level TriBITS Project, Repository, Package and Subpackage Variables
The user-level variables that define a TriBITS Project, Repository, Package
and Subpackage are listed in:
@@ -16947,7 +17004,7 @@ User-level TriBITS
are also used in the internal implementation of TriBITS functionality.
-Lists of external and internal packages
+Lists of external and internal packages
List of non-cache top-level project variables:
${PROJECT_NAME}_DEFINED_TPLS: List of all defined external packages/TPLs
@@ -17106,7 +17163,7 @@ Lists of external a
-Variables defining the package dependencies graph
+Variables defining the package dependencies graph
TriBITS sets up the following project-level non-cache variables that define
the dependencies for each external package/TPL and internal package:
@@ -17205,7 +17262,7 @@ Variables defining
-User enable/disable cache variables
+User enable/disable cache variables
The following variables can be set by the user to determine what packages get
enabled or disabled:
${PROJECT_NAME}_ENABLE_ALL_PACKAGES
@@ -17231,7 +17288,7 @@ User enable/disable
Logic.
-Determining if a package is internal or external
+Determining if a package is internal or external
As mentioned above, some subset of initially internal packages listed in
${PROJECT_NAME}_DEFINED_INTERNAL_TOPLEVEL_PACKAGES (which all have
${PACKAGE_NAME}_SOURCE_DIR != ""
) may be chosen to be external packages.
@@ -17256,7 +17313,7 @@
Determining if a pa
subpackage and every other peer subpackage will also be set to EXTERNAL.
-Processing of external packages/TPLs and TriBITS-compliant external packages
+Processing of external packages/TPLs and TriBITS-compliant external packages
The processing of external packages/TPLs is influenced by whether the external
package is a regular TriBITS TPL (i.e with a FindTPL<tplName>.cmake
modules) or is a TriBITS-compliant external package. Here, a
@@ -17337,7 +17394,7 @@
Processing of exter
For more details, see the implementation in tribits_process_enabled_tpls().
-13.2 Function call tree for constructing package dependency graph
+13.2 Function call tree for constructing package dependency graph
Below is the CMake macro and function call graph for constructing the packages
lists and dependency data-structures described above.
@@ -17477,12 +17534,12 @@
-13.3 TriBITS System Macros and Functions
+13.3 TriBITS System Macros and Functions
These are key macros and functions that are used to implement the guts of
TriBITS that TriBITS System Maintainers need to know about in order to
understand the internals of TriBITS.
-tribits_abort_on_missing_package()
+tribits_abort_on_missing_package()
Usage:
tribits_abort_on_missing_package(<depPkg> <packageName>)
@@ -17494,7 +17551,7 @@ tribits_abort_on_mi
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:667
-tribits_abort_on_self_dep()
+tribits_abort_on_self_dep()
Usage:
tribits_abort_on_self_dep(<packageName> <depPkgListName>)
@@ -17505,7 +17562,7 @@ tribits_abort_on_se
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:696
-tribits_adjust_package_enables()
+tribits_adjust_package_enables()
Usage:
tribits_adjust_package_enables()
@@ -17515,7 +17572,7 @@ tribits_adjust_pack
In: core/package_arch/TribitsAdjustPackageEnables.cmake:43
-tribits_append_forward_dep_packages()
+tribits_append_forward_dep_packages()
Appends forward/downstream package dependency lists for the upstream
dependent package list provided.
Usage:
@@ -17535,7 +17592,7 @@ tribits_append_forw
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:569
-tribits_assert_read_dependency_vars()
+tribits_assert_read_dependency_vars()
Usage:
tribits_assert_read_dependency_vars(<packageName>)
@@ -17547,7 +17604,7 @@ tribits_assert_read
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:329
-tribits_dump_package_dependencies_info()
+tribits_dump_package_dependencies_info()
Usage:
tribits_dump_package_dependencies_info()
@@ -17558,7 +17615,7 @@ tribits_dump_packag
In: core/package_arch/TribitsPrintDependencyInfo.cmake:56
-tribits_extpkg_append_create_all_libs_target_str()
+tribits_extpkg_append_create_all_libs_target_str()
Creates the <tplName>::all_libs
target command text using input info and
from TPL_<tplName>_INCLUDE_DIRS
.
Usage:
@@ -17583,7 +17640,7 @@ tribits_extpkg_appe
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:821
-tribits_extpkg_append_find_upstream_dependencies_str()
+tribits_extpkg_append_find_upstream_dependencies_str()
Add includes for all upstream external packages/TPLs listed in
<tplName>_LIB_ENABLED_DEPENDENCIES
.
Usage:
@@ -17597,7 +17654,7 @@ tribits_extpkg_appe
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:396
-tribits_extpkg_install_config_file()
+tribits_extpkg_install_config_file()
Install an already-generated <tplName>Config.cmake
file.
Usage:
tribits_write_external_package_install_config_file(
@@ -17613,7 +17670,7 @@ tribits_extpkg_inst
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:97
-tribits_extpkg_install_config_version_file()
+tribits_extpkg_install_config_version_file()
Install an already-generated <tplName>ConfigVersion.cmake
file.
Usage:
tribits_write_external_package_install_config_version_file(
@@ -17630,7 +17687,7 @@ tribits_extpkg_inst
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:121
-tribits_extpkg_process_libraries_list()
+tribits_extpkg_process_libraries_list()
Read the TPL_<tplName>_LIBRARIES
and
<tplName>_LIB_ENABLED_DEPENDENCIES
list variables and produce the string
for the IMPORTED targets commands with upstream linkages and return list of
@@ -17658,7 +17715,7 @@
tribits_extpkg_proc
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:446
-tribits_extpkg_setup_enabled_dependencies()
+tribits_extpkg_setup_enabled_dependencies()
Usage:
tribits_extpkg_setup_enabled_dependencies(<externalPkgName>)
@@ -17679,7 +17736,7 @@ tribits_extpkg_setu
In: core/package_arch/TribitsPackageDependencies.cmake:86
-tribits_extpkg_write_config_version_file()
+tribits_extpkg_write_config_version_file()
Write out a <tplName>ConfigVersion.cmake
file.
Usage:
tribits_write_external_package_config_version_file(
@@ -17696,7 +17753,7 @@ tribits_extpkg_writ
In: core/package_arch/TribitsExternalPackageWriteConfigFile.cmake:57
-tribits_filter_package_list_from_var()
+tribits_filter_package_list_from_var()
Filter a list of packages based on several criteria including
internal/external, enable status (with empty or non-empty)
Usage:
@@ -17722,7 +17779,7 @@ tribits_filter_pack
In: core/package_arch/TribitsGetPackageSublists.cmake:13
-tribits_get_sublist_disabled()
+tribits_get_sublist_disabled()
Get sub-list of disabled packages
Usage:
tribits_get_sublist_disabled( <enableListName>
@@ -17735,7 +17792,7 @@ tribits_get_sublist
In: core/package_arch/TribitsGetPackageSublists.cmake:123
-tribits_get_sublist_enabled()
+tribits_get_sublist_enabled()
Get sub-list of enabled packages
Usage:
tribits_get_sublist_enabled( <enableListName>
@@ -17747,7 +17804,7 @@ tribits_get_sublist
In: core/package_arch/TribitsGetPackageSublists.cmake:62
-tribits_get_sublist_internal_external()
+tribits_get_sublist_internal_external()
Get sub-list of packages that are INTERNAL, EXTERNAL, or either.
Usage:
tribits_get_sublist_internal_external( <inputPackageListName> <internalOrExternal>
@@ -17767,7 +17824,7 @@ tribits_get_sublist
In: core/package_arch/TribitsGetPackageSublists.cmake:185
-tribits_get_sublist_nondisabled()
+tribits_get_sublist_nondisabled()
Get sub-list of non-disabled packages
Usage:
tribits_get_sublist_nondisabled( <enableListName>
@@ -17780,7 +17837,7 @@ tribits_get_sublist
In: core/package_arch/TribitsGetPackageSublists.cmake:92
-tribits_get_sublist_nonenabled()
+tribits_get_sublist_nonenabled()
Get sub-list of non-enabled entries
Usage:
tribits_get_sublist_nonenabled( <enableListName>
@@ -17793,7 +17850,7 @@ tribits_get_sublist
In: core/package_arch/TribitsGetPackageSublists.cmake:154
-tribits_print_initial_dependency_info()
+tribits_print_initial_dependency_info()
Usage:
tribits_print_initial_dependency_info()
@@ -17810,7 +17867,7 @@ tribits_print_initi
In: core/package_arch/TribitsPrintDependencyInfo.cmake:14
-tribits_print_tentatively_enabled_tpls()
+tribits_print_tentatively_enabled_tpls()
Usage:
tribits_print_tentatively_enabled_tpls()
@@ -17820,7 +17877,7 @@ tribits_print_tenta
In: core/package_arch/TribitsPrintDependencyInfo.cmake:36
-tribits_parse_subpackages_append_packages_add_options()
+tribits_parse_subpackages_append_packages_add_options()
Usage:
tribits_parse_subpackages_append_packages_add_options(<parentPackageName>)
@@ -17853,7 +17910,7 @@ tribits_parse_subpa
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:720
-tribits_prep_to_read_dependencies()
+tribits_prep_to_read_dependencies()
Usage:
tribits_prep_to_read_dependencies(<packageName>)
@@ -17873,21 +17930,21 @@ tribits_prep_to_rea
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:288
-tribits_process_all_repository_deps_setup_files()
+tribits_process_all_repository_deps_setup_files()
Process any dependency logic at the repo level by loading
<repoDir>/cmake/RepositoryDependenciesSetup.cmake files.
See Function call tree for constructing package dependency graph.
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:60
-tribits_process_enabled_tpls()
+tribits_process_enabled_tpls()
Gather information and targets from enabled TPLs
For more info, see Processing of external packages/TPLs and
TriBITS-compliant external packages.
In: core/package_arch/TribitsProcessEnabledTpls.cmake:24
-tribits_process_package_dependencies_lists()
+tribits_process_package_dependencies_lists()
Usage:
tribits_process_package_dependencies_lists(<packageName>)
@@ -17902,7 +17959,7 @@ tribits_process_pac
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:407
-tribits_process_packages_and_dirs_lists()
+tribits_process_packages_and_dirs_lists()
Usage:
tribits_process_packages_and_dirs_lists()
@@ -17942,14 +17999,14 @@ tribits_process_pac
In: core/package_arch/TribitsProcessPackagesAndDirsLists.cmake:338
-tribits_process_project_dependency_setup_file()
+tribits_process_project_dependency_setup_file()
Process any dependency logic at the project level by loading the
<projectDir>/cmake/ProjectDependenciesSetup.cmake file
See Function call tree for constructing package dependency graph.
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:92
-tribits_process_tpls_lists()
+tribits_process_tpls_lists()
This macro that processes the project-level variable:
${REPOSITORY_NAME}_TPLS_FINDMODS_CLASSIFICATIONS
@@ -17975,7 +18032,7 @@ tribits_process_tpl
In: core/package_arch/TribitsProcessTplsLists.cmake:89
-tribits_read_all_package_deps_files_create_deps_graph()
+tribits_read_all_package_deps_files_create_deps_graph()
Usage:
tribits_read_all_package_deps_files_create_deps_graph()
@@ -18005,7 +18062,7 @@ tribits_read_all_pa
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:119
-tribits_read_all_project_deps_files_create_deps_graph()
+tribits_read_all_project_deps_files_create_deps_graph()
Usage:
tribits_read_all_project_deps_files_create_deps_graph()
@@ -18026,7 +18083,7 @@ tribits_read_all_pr
In: core/package_arch/TribitsReadAllProjectDepsFilesCreateDepsGraph.cmake:23
-tribits_read_back_dependencies_vars()
+tribits_read_back_dependencies_vars()
Usage:
tribits_read_back_dependencies_vars(<postfix>)
@@ -18037,7 +18094,7 @@ tribits_read_back_d
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:381
-tribits_read_defined_external_and_internal_toplevel_packages_lists()
+tribits_read_defined_external_and_internal_toplevel_packages_lists()
Usage:
tribits_read_defined_external_and_internal_toplevel_packages_lists()
@@ -18081,7 +18138,7 @@ tribits_read_define
In: core/package_arch/TribitsReadAllProjectDepsFilesCreateDepsGraph.cmake:65
-tribits_read_deps_files_create_deps_graph()
+tribits_read_deps_files_create_deps_graph()
Usage:
tribits_read_deps_files_create_deps_graph()
@@ -18114,7 +18171,7 @@ tribits_read_deps_f
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:15
-tribits_read_external_package_deps_files_add_to_graph()
+tribits_read_external_package_deps_files_add_to_graph()
Reads in dependencies for the external packages/TPL <tplName>
and
creates the package dependency graph entries for it.
Usage:
@@ -18130,7 +18187,7 @@ tribits_read_extern
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:165
-tribits_read_package_subpackage_deps_files_add_to_graph()
+tribits_read_package_subpackage_deps_files_add_to_graph()
Usage:
tribits_read_package_subpackage_deps_files_add_to_graph(<toplevelPackageName>)
@@ -18141,7 +18198,7 @@ tribits_read_packag
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:851
-tribits_read_subpackage_deps_file_add_to_graph()
+tribits_read_subpackage_deps_file_add_to_graph()
Usage:
tribits_read_subpackage_deps_file_add_to_graph(<toplevelPackageName>
<subpackageName> <subpackageDir>)
@@ -18154,7 +18211,7 @@ tribits_read_subpac
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:875
-tribits_read_toplevel_package_deps_files_add_to_graph()
+tribits_read_toplevel_package_deps_files_add_to_graph()
Usage:
tribits_read_toplevel_package_deps_files_add_to_graph(<packageName>)
@@ -18177,7 +18234,7 @@ tribits_read_toplev
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:202
-tribits_save_off_dependency_vars()
+tribits_save_off_dependency_vars()
Usage:
tribits_save_off_dependency_vars(<postfix>)
@@ -18187,7 +18244,7 @@ tribits_save_off_de
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:356
-tribits_set_dep_packages()
+tribits_set_dep_packages()
Macro set up backward package dependency lists for a given package given the
vars read in from the macro tribits_package_define_dependencies().
Usage:
@@ -18214,7 +18271,7 @@ tribits_set_dep_pac
In: core/package_arch/TribitsReadDepsFilesCreateDepsGraph.cmake:451
-tribits_trace_file_processing()
+tribits_trace_file_processing()
Print trace of file processing when
${PROJECT_NAME}_TRACE_FILE_PROCESSING
is TRUE
.
Usage:
@@ -18231,7 +18288,7 @@ tribits_trace_file_
In: core/package_arch/TribitsGeneralMacros.cmake:103
-tribits_write_package_client_export_files_export_and_install_targets()
+tribits_write_package_client_export_files_export_and_install_targets()
Create the <Package>ConfigTargets.cmake
file and install rules and the
install() target for the previously generated
<Package>Config_install.cmake
files generated by the
@@ -18249,7 +18306,7 @@
tribits_write_packa
In: core/package_arch/TribitsInternalPackageWriteConfigFile.cmake:62
-tribits_write_xml_dependency_files()
+tribits_write_xml_dependency_files()
Usage:
tribits_write_xml_dependency_files()
@@ -18259,7 +18316,7 @@ tribits_write_xml_d
In: ci_support/TribitsWriteXmlDependenciesFiles.cmake:21
-tribits_write_xml_dependency_files_if_supported()
+tribits_write_xml_dependency_files_if_supported()
Usage:
tribits_write_xml_dependency_files_if_supported()
@@ -18272,7 +18329,7 @@ tribits_write_xml_d
-14 References
+14 References
Martin, Robert. Agile Software Development (Principles, Patterns, and
Practices). Prentice Hall. 2003.
Bartlett, Roscoe. Integration Strategies for Computational Science &
@@ -18283,7 +18340,7 @@ LiveV https://github.com/lifev/cmake
-15 FAQ
+15 FAQ
Q: Why does not TriBITS just use the standard CMake Find<PACKAGE_NAME>.cmake
modules and the standard find_package()
function to find TPLs?
A: The different “standard” CMake Find<PACKAGE_NAME>.cmake
modules do not
@@ -18291,9 +18348,9 @@
-16 Appendix
+16 Appendix
-16.1 CMake Language Overview and Gotchas
+16.1 CMake Language Overview and Gotchas
TriBITS removes a lot of the boiler plate code needed to write a CMake
project. As a result, many people can come into a project that uses TriBITS
and quickly start to contribute by adding new source files, adding new
@@ -18515,7 +18572,7 @@
-16.2 History of TriBITS
+16.2 History of TriBITS
TriBITS started development in November 2007 as a set of helper macros to
provide a CMake build system for a small subset of packages in Trilinos. The
initial goal was to support a native Windows build (using Visual C++) to
@@ -18559,7 +18616,7 @@
-16.3 Why a TriBITS Package is not a CMake Package
+16.3 Why a TriBITS Package is not a CMake Package
Note that a TriBITS Package is not the same thing as a “Package” in raw
CMake terminology. In raw CMake, a “Package” is some externally provided bit
of software or other utility for which the current CMake project has an
@@ -18580,7 +18637,7 @@
-