diff --git a/src/config/CMakeLists.txt b/src/config/CMakeLists.txt index 6e694627a..86322f22a 100644 --- a/src/config/CMakeLists.txt +++ b/src/config/CMakeLists.txt @@ -118,6 +118,7 @@ configure_package_config_file( install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ConduitConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/ConduitConfigVersion.cmake + conduit_setup_deps.cmake conduit_setup_targets.cmake DESTINATION ${CONDUIT_INSTALL_CMAKE_MODULE_DIR}) diff --git a/src/config/ConduitConfig.cmake.in b/src/config/ConduitConfig.cmake.in index d8fc3a6fa..bff959aa3 100644 --- a/src/config/ConduitConfig.cmake.in +++ b/src/config/ConduitConfig.cmake.in @@ -67,11 +67,17 @@ if(NOT CONDUIT_FOUND) set(CONDUIT_PYTHON_EXECUTABLE "@PYTHON_EXECUTABLE@") set(CONDUIT_PYTHON_MODULE_DIR "@CONDUIT_INSTALL_PYTHON_MODULE_DIR@") - get_filename_component(CONDUIT_CMAKE_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + + # setup dependent pkgs + include(${CONDUIT_CMAKE_CONFIG_DIR}/conduit_setup_deps.cmake) + # include targets exported by cmake include(${CONDUIT_CMAKE_CONFIG_DIR}/conduit.cmake) + # setup dependent pkgs + include(${CONDUIT_CMAKE_CONFIG_DIR}/conduit_setup_deps.cmake) + # finally setup our final imported targets include(${CONDUIT_CMAKE_CONFIG_DIR}/conduit_setup_targets.cmake) diff --git a/src/config/conduit_setup_deps.cmake b/src/config/conduit_setup_deps.cmake new file mode 100644 index 000000000..54acb9f80 --- /dev/null +++ b/src/config/conduit_setup_deps.cmake @@ -0,0 +1,57 @@ +############################################################################### +# Copyright (c) 2014-2019, Lawrence Livermore National Security, LLC. +# +# Produced at the Lawrence Livermore National Laboratory +# +# LLNL-CODE-666778 +# +# All rights reserved. +# +# This file is part of Conduit. +# +# For details, see: http://software.llnl.gov/conduit/. +# +# Please also read conduit/LICENSE +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the disclaimer below. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the disclaimer (as noted below) in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the name of the LLNS/LLNL nor the names of its contributors may +# be used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 LAWRENCE LIVERMORE NATIONAL SECURITY, +# LLC, THE U.S. DEPARTMENT OF ENERGY OR 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. +# +############################################################################### + +include(CMakeFindDependencyMacro) + +############################################################################### +# Setup Threads +############################################################################### +if(UNIX AND NOT APPLE) +# we depend on Threads::Threads in our exported targets +# so we need to bootstrap that here + if(NOT Threads::Threads) + find_package( Threads REQUIRED ) + endif() +endif() + diff --git a/src/libs/relay/CMakeLists.txt b/src/libs/relay/CMakeLists.txt index 778b01ff9..864e1ba5a 100644 --- a/src/libs/relay/CMakeLists.txt +++ b/src/libs/relay/CMakeLists.txt @@ -179,7 +179,7 @@ set(conduit_relay_deps conduit conduit_blueprint) if(UNIX AND NOT APPLE) # we need these for civetweb on linux, we may need similar libs # on windows (OSX appears ok without them) - list(APPEND conduit_relay_deps dl rt ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND conduit_relay_deps dl rt Threads::Threads) set(CONDUIT_MAKE_EXTRA_LIBS "${CONDUIT_MAKE_EXTRA_LIBS} -ldl -lrt ${CMAKE_THREAD_LIBS_INIT}" CACHE STRING "" FORCE) endif()