Skip to content

Commit

Permalink
Merge pull request #2294 from KyleFromKitware/fix-thirdparty-targets-…
Browse files Browse the repository at this point in the history
…static-build

Fix install of static build
  • Loading branch information
Chuck Atkins committed May 29, 2020
2 parents c8097f0 + 4e82b17 commit a2d821b
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 16 deletions.
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ jobs:
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-ubsan
"fedora-asan":
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-asan
#"fedora-asan":
# <<: *defaults
# docker:
# - image: ornladios/adios2:ci-fedora-asan
"fedora-msan":
<<: *defaults
docker:
Expand All @@ -43,6 +43,6 @@ workflows:
sanitizers:
jobs:
- "fedora-ubsan"
- "fedora-asan"
#- "fedora-asan"
- "fedora-msan"
- "fedora-tsan"
21 changes: 21 additions & 0 deletions cmake/adios2-config-common.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ endif()
set(ADIOS2_HAVE_Fortran @ADIOS2_HAVE_Fortran@)
set(ADIOS2_HAVE_MPI @ADIOS2_HAVE_MPI@)

function(adios2_add_thirdparty_target PackageName)
add_library(adios2::thirdparty::${PackageName} INTERFACE IMPORTED)
endfunction()

# Add default find components.
set(_ADIOS2_FIND_COMPONENTS_DEFAULT "")
if(NOT ";${${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS};" MATCHES ";(C|CXX|Fortran);")
Expand Down Expand Up @@ -117,6 +121,23 @@ if(NOT @BUILD_SHARED_LIBS@)
find_dependency(HDF5 COMPONENTS C)
endif()

adios2_add_thirdparty_target(pugixml)
set(ADIOS2_USE_EXTERNAL_PUGIXML @ADIOS2_USE_EXTERNAL_PUGIXML@)
if(ADIOS2_USE_EXTERNAL_PUGIXML)
find_dependency(pugixml 1.10)
target_link_libraries(adios2::thirdparty::pugixml INTERFACE pugixml)
endif()

adios2_add_thirdparty_target(yaml-cpp)
set(ADIOS2_USE_EXTERNAL_YAMLCPP @ADIOS2_USE_EXTERNAL_YAMLCPP@)
if(ADIOS2_USE_EXTERNAL_YAMLCPP)
find_dependency(yaml-cpp)
target_link_libraries(adios2::thirdparty::yaml-cpp INTERFACE yaml-cpp)
endif()

# No concrete implementation, just put this here to satisfy quasi-dependency
adios2_add_thirdparty_target(nlohmann_json)

set(ADIOS2_HAVE_SST @ADIOS2_HAVE_SST@)
if(ADIOS2_HAVE_SST)
set(ADIOS2_SST_HAVE_LIBFABRIC @ADIOS2_SST_HAVE_LIBFABRIC@)
Expand Down
2 changes: 1 addition & 1 deletion source/adios2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ target_include_directories(adios2_core
$<BUILD_INTERFACE:${ADIOS2_SOURCE_DIR}/source>
$<BUILD_INTERFACE:${ADIOS2_BINARY_DIR}/source>
)
target_link_libraries(adios2_core PRIVATE adios2sys_interface adios2::thirdparty::pugixml_impl taustubs adios2::thirdparty::yaml-cpp)
target_link_libraries(adios2_core PRIVATE adios2sys_interface adios2::thirdparty::pugixml taustubs adios2::thirdparty::yaml-cpp)
target_link_libraries(adios2_core PUBLIC ${CMAKE_THREAD_LIBS_INIT})
target_compile_features(adios2_core PUBLIC "$<BUILD_INTERFACE:${ADIOS2_CXX11_FEATURES}>")

Expand Down
3 changes: 0 additions & 3 deletions thirdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,10 @@ endif()

if(ADIOS2_USE_EXTERNAL_PUGIXML)
find_package(pugixml 1.10 REQUIRED)
add_library(pugixml_impl INTERFACE)
target_link_libraries(pugixml_impl INTERFACE pugixml)
else()
add_subdirectory(pugixml)
endif()
adios2_add_thirdparty_target(pugixml pugixml)
adios2_add_thirdparty_target(pugixml_impl pugixml_impl)
if(ADIOS2_USE_EXTERNAL_NLOHMANN_JSON)
find_package(nlohmann_json REQUIRED)
adios2_add_thirdparty_target(nlohmann_json nlohmann_json::nlohmann_json)
Expand Down
7 changes: 2 additions & 5 deletions thirdparty/pugixml/pugixml/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
add_library(pugixml_impl INTERFACE)
target_sources(pugixml_impl INTERFACE
add_library(pugixml INTERFACE)
target_sources(pugixml INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/pugiconfig.hpp>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/pugixml.hpp>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/pugixml.cpp>
)
add_library(pugixml INTERFACE)
target_include_directories(pugixml INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
)
target_link_libraries(pugixml_impl INTERFACE pugixml)
install(TARGETS pugixml_impl pugixml EXPORT adios2Exports)
2 changes: 0 additions & 2 deletions thirdparty/yaml-cpp/yaml-cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,3 @@ target_sources(yaml-cpp INTERFACE
target_include_directories(yaml-cpp INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
)

install(TARGETS yaml-cpp EXPORT adios2Exports)

0 comments on commit a2d821b

Please sign in to comment.