Skip to content

Commit

Permalink
Always print <Package>_LIB_ALL_DEPENCENCIES (#63, #299)
Browse files Browse the repository at this point in the history
Otherwise, you get an empty line for packages like TribitsExmapleProject
MixedLang that has no dependencies..  I decided not to print
<Package>_TEST_ALL_DEPENCENCIES but we could change that if needed later.  I
just did not want an empyt line.

I also:

* Added new function print_var_with_spaces()
  • Loading branch information
bartlettroscoe committed May 5, 2022
1 parent 1b00d18 commit ad464df
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ tribits_add_advanced_test( TribitsExampleProject_ALL_ST_NoFortran
"Dumping direct dependencies for each SE package ..."
"-- SimpleCxx_LIB_ENABLED_DEPENDENCIES: HeaderOnlyTpl"
"-- SimpleCxx_LIB_ALL_DEPENDENCIES: HeaderOnlyTpl SimpleTpl"
"-- MixedLang_LIB_ALL_DEPENDENCIES: "
"-- WithSubpackagesA_LIB_ENABLED_DEPENDENCIES: SimpleCxx"
"-- WithSubpackagesA_LIB_ALL_DEPENDENCIES: SimpleCxx"
"-- WithSubpackagesB_LIB_ENABLED_DEPENDENCIES: SimpleCxx WithSubpackagesA"
Expand Down
6 changes: 2 additions & 4 deletions tribits/core/package_arch/TribitsAdjustPackageEnables.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ include(CMakeBuildTypesList)
include(FindListElement)
include(GlobalNullSet)
include(PrintNonemptyVar)
include(PrintVarWithSpaces)
include(PrintNonemptyVarWithSpaces)
include(PrintVar)
include(RemoveGlobalDuplicates)
Expand Down Expand Up @@ -679,15 +680,12 @@ endmacro()
# Function to print the direct package dependency lists
#
function(tribits_print_direct_package_dependencies_lists packageName)

set(PRINTED_VAR "")

message("")
print_nonempty_var_with_spaces(${packageName}_LIB_ENABLED_DEPENDENCIES PRINTED_VAR)
print_nonempty_var_with_spaces(${packageName}_LIB_ALL_DEPENDENCIES PRINTED_VAR)
print_var_with_spaces(${packageName}_LIB_ALL_DEPENDENCIES PRINTED_VAR)
print_nonempty_var_with_spaces(${packageName}_TEST_ENABLED_DEPENDENCIES PRINTED_VAR)
print_nonempty_var_with_spaces(${packageName}_TEST_ALL_DEPENDENCIES PRINTED_VAR)

endfunction()


Expand Down
66 changes: 66 additions & 0 deletions tribits/core/utils/PrintVarWithSpaces.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# @HEADER
# ************************************************************************
#
# TriBITS: Tribal Build, Integrate, and Test System
# Copyright 2013 Sandia Corporation
#
# Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
# the U.S. Government retains certain rights in this software.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# 3. Neither the name of the Corporation nor the names of the
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# ************************************************************************
# @HEADER

include(AssertDefined)
include(AppendStringVarWithSep)

#
# @FUNCTION: print_var_with_spaces()
#
# Print a defined variable giving its name then value printed with spaces
# instead of ``';'``.
#
# Usage::
#
# print_var_with_spaces(<varName> <printedVarInOut>)
#
# Prints the variable as::
#
# <varName>: <ele0> <ele1> ...
#
# If ``$<printedVarInOut>`` is ``TRUE`` on input, then the variable is not
# touched. If however, the variable ``$<printedVarInOut>`` is not ``TRUE`` on
# input, then it is set to ``TRUE`` on output.
#
function(print_var_with_spaces VARIBLE_NAME PRINTED_VAR_OUT)
assert_defined(VARIBLE_NAME)
string(REPLACE ";" " " OUTSTR "${${VARIBLE_NAME}}")
message("-- ${VARIBLE_NAME}: ${OUTSTR}")
set(${PRINTED_VAR_OUT} TRUE PARENT_SCOPE)
endfunction()
1 change: 1 addition & 0 deletions tribits/doc/guides/UtilsMacroFunctionDocTemplate.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
@FUNCTION: print_nonempty_var() +
@FUNCTION: print_nonempty_var_with_spaces() +
@FUNCTION: print_var() +
@FUNCTION: print_var_with_spaces() +
@FUNCTION: remove_global_duplicates() +
@MACRO: set_and_inc_dirs() +
@FUNCTION: set_cache_on_off_empty() +
Expand Down

0 comments on commit ad464df

Please sign in to comment.