Unverified Commit a2b1d75f authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon Committed by GitHub
Browse files

Merge pull request #1081 from chuckatkins/fix-export-configs

Fix export configs
parents b09e49d4 78cf76e7
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -101,23 +101,6 @@ cmake_dependent_option(BUILD_SHARED_LIBS
)
mark_as_advanced(BUILD_SHARED_LIBS)

# Setup PIC defaults.  If explicitly specified somehow, then default 
# to that.  Otherwise base the default on whether or not shared libs are even
# supported.
if(DEFINED ADIOS2_ENABLE_PIC)
  set(ADIOS2_ENABLE_PIC_DEFAULT ${ADIOS2_ENABLE_PIC})
elseif(DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
  set(ADIOS2_ENABLE_PIC_DEFAULT ${CMAKE_POSITION_INDEPENDENT_CODE})
else()
  set(ADIOS2_ENABLE_PIC_DEFAULT ${SHARED_LIBS_SUPPORTED})
endif()
cmake_dependent_option(ADIOS2_ENABLE_PIC
  "Build with Position Independent Code" ${ADIOS2_ENABLE_PIC_DEFAULT}
  "SHARED_LIBS_SUPPORTED" OFF
)
set(CMAKE_POSITION_INDEPENDENT_CODE ${ADIOS2_ENABLE_PIC})
mark_as_advanced(CMAKE_POSITION_INDEPENDENT_CODE)

adios_option(BZip2     "Enable support for BZip2 transforms" AUTO)
adios_option(ZFP       "Enable support for ZFP transforms" AUTO)
adios_option(SZ        "Enable support for SZ transforms" AUTO)
+4 −13
Original line number Diff line number Diff line
list(INSERT CMAKE_MODULE_PATH 0 "@ADIOS2_SOURCE_DIR@/cmake")

if(@ADIOS2_HAVE_SST@ AND NOT @ADIOS2_USE_SYSTEM_EVPath@)
  if(NOT @ADIOS2_USE_SYSTEM_ATL@)
if(@ADIOS2_HAVE_SST@)
  set(EVPath_DIR @EVPath_DIR@)
  if(NOT @BUILD_SHARED_LIBS@)
    set(atl_DIR @atl_DIR@)
  endif()

  if(NOT @ADIOS2_USE_SYSTEM_FFS@)
    if(NOT @ADIOS2_USE_SYSTEM_DILL@)
    set(dill_DIR @dill_DIR@)
    endif()
    set(ffs_DIR @ffs_DIR@)
  endif()

  if(NOT @ADIOS2_USE_SYSTEM_ENET@)
    set(enet_DIR @enet_DIR@)
  endif()

  set(EVPath_DIR @EVPath_DIR@)
endif()

include("${CMAKE_CURRENT_LIST_DIR}/ADIOS2ConfigCommon.cmake")
+13 −2
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.6)

if(POLICY CMP0074)
  cmake_policy(SET CMP0074 NEW)
endif()

include(CMakeFindDependencyMacro)

@@ -15,6 +19,9 @@ if(ADIOS2_HAVE_MPI)
endif()

if(NOT @BUILD_SHARED_LIBS@)
  # Setup dummy interface targets for the private compile-time dependencies
  add_library(adios2::thirdparty::nlohmann_json INTERFACE IMPORTED)

  set(ADIOS2_HAVE_BZip2 @ADIOS2_HAVE_BZip2@)
  if(ADIOS2_HAVE_BZip2)
    find_dependency(BZip2)
@@ -43,6 +50,10 @@ if(NOT @BUILD_SHARED_LIBS@)
  set(ADIOS2_HAVE_SST @ADIOS2_HAVE_SST@)
  if(ADIOS2_HAVE_SST)
    find_dependency(EVPath COMPONENTS C)
    add_library(adios2::thirdparty::EVPath INTERFACE IMPORTED)
    set_target_properties(adios2::thirdparty::EVPath PROPERTIES
      INTERFACE_LINK_LIBRARIES EVPath::EVPath
    )
  endif()

endif()
@@ -51,7 +62,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/ADIOS2ConfigVersion.cmake")

include(FindPackageHandleStandardArgs)
set(ADIOS2_CONFIG "${CMAKE_CURRENT_LIST_FILE}")
find_package_handle_standard_args(ADIOS2 DEFAULT_MESSAGE ADIOS2_VERSION)
find_package_handle_standard_args(ADIOS2 CONFIG_MODE)

if(NOT TARGET adios2::adios2)
  include("${CMAKE_CURRENT_LIST_DIR}/ADIOS2Targets.cmake")
+14 −11
Original line number Diff line number Diff line
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}/Modules")

if(@ADIOS2_HAVE_SST@ AND NOT @ADIOS2_USE_SYSTEM_EVPath@)
  if(NOT @ADIOS2_USE_SYSTEM_ATL@)
    set(atl_DIR @CMAKE_INSTALL_CMAKEDIR@/deps)
if(NOT @BUILD_SHARED_LIBS@)
  if(NOT @ADIOS2_USE_EXTERNAL_EVPATH@)
    set(EVPath_DIR ${CMAKE_CURRENT_LIST_DIR}/deps)
  endif()

  if(NOT @ADIOS2_USE_SYSTEM_FFS@)
    if(NOT @ADIOS2_USE_SYSTEM_DILL@)
      set(dill_DIR @CMAKE_INSTALL_CMAKEDIR@/deps)
  if(NOT @ADIOS2_USE_EXTERNAL_ATL@)
    set(atl_DIR ${CMAKE_CURRENT_LIST_DIR}/deps)
  endif()
    set(ffs_DIR @CMAKE_INSTALL_CMAKEDIR@/deps)

  if(NOT @ADIOS2_USE_EXTERNAL_DILL@)
    set(dill_DIR ${CMAKE_CURRENT_LIST_DIR}/deps)
  endif()

  if(NOT @ADIOS2_USE_SYSTEM_ENET@)
    set(enet_DIR @CMAKE_INSTALL_CMAKEDIR@/deps)
  if(NOT @ADIOS2_USE_EXTERNAL_FFS@)
    set(ffs_DIR ${CMAKE_CURRENT_LIST_DIR}/deps)
  endif()

  set(EVPath_DIR @CMAKE_INSTALL_CMAKEDIR@/deps)
  if(NOT @ADIOS2_USE_EXTERNAL_ENET@)
    set(enet_DIR ${CMAKE_CURRENT_LIST_DIR}/deps)
  endif()
endif()

include("${CMAKE_CURRENT_LIST_DIR}/ADIOS2ConfigCommon.cmake")
+1 −67
Original line number Diff line number Diff line
@@ -153,73 +153,7 @@ function(GenerateADIOSPackageConfig)
    DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
  )

  # Install helper find modules if needed
  # Also build flags needed for non-cmake config generation
  set(ADIOS2_CXX_LIBS ${CMAKE_THREAD_LIBS_INIT})
  set(ADIOS2_CXX_OPTS ${CMAKE_CXX11_EXTENSION_COMPILE_OPTION})
  set(ADIOS2_CXX_DEFS)
  set(ADIOS2_CXX_INCS)
  if(ADIOS2_HAVE_MPI)
    list(APPEND ADIOS2_CXX_LIBS ${MPI_C_LIBRARIES})
    list(APPEND ADIOS2_CXX_INCS ${MPI_C_INCLUDE_PATH})
  endif()
  if(NOT BUILD_SHARED_LIBS)
    if(ADIOS2_HAVE_DataMan)
    list(APPEND ADIOS2_CXX_LIBS -ldataman)
    endif()
    if(ADIOS2_HAVE_BZip2)
      install(FILES cmake/FindBZip2.cmake
        DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/Modules
      )
      install(FILES cmake/upstream/FindBZip2.cmake
        DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/Modules/upstream
      )
      list(APPEND ADIOS2_CXX_LIBS ${BZIP2_LIBRARIES})
      list(APPEND ADIOS2_CXX_INCS ${BZIP2_INCLUDE_DIR})
    endif()
    if(ADIOS2_HAVE_ZFP)
      install(FILES cmake/FindZFP.cmake
        DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/Modules
      )
      list(APPEND ADIOS2_CXX_LIBS ${ZFP_LIBRARIES})
      list(APPEND ADIOS2_CXX_INCS ${ZFP_INCLUDE_DIRS})
    endif()
    if(ADIOS2_HAVE_MGARD)
      install(FILES cmake/FindMGARD.cmake
        DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/Modules
      )
      list(APPEND ADIOS2_CXX_LIBS ${MGARD_LIBRARIES})
      list(APPEND ADIOS2_CXX_INCS ${MGARD_INCLUDE_DIRS})
    endif()
    if(ADIOS2_HAVE_ZeroMQ)
      install(FILES cmake/FindZeroMQ.cmake
        DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/Modules
      )
      list(APPEND ADIOS2_CXX_LIBS ${ZeroMQ_LIBRARIES})
      list(APPEND ADIOS2_CXX_INCS ${ZeroMQ_INCLUDE_DIRS})
    endif()
    if(ADIOS2_HAVE_HDF5)
      list(APPEND ADIOS2_CXX_LIBS ${HDF5_C_LIBRARIES})
      if(HDF5_C_INCLUDE_DIRS)
        list(APPEND ADIOS2_CXX_INCS ${HDF5_C_INCLUDE_DIRS})
      else()
        list(APPEND ADIOS2_CXX_INCS ${HDF5_INCLUDE_DIRS})
      endif()
    endif()
  endif()

  # Build the non-cmake config script
  __adios2_list_make_link_args(ADIOS2_CXX_LIBS)
  __adios2_list_cleanup_for_bash(ADIOS2_CXX_LIBS)
  __adios2_list_cleanup_for_bash(ADIOS2_CXX_OPTS)
  __adios2_list_cleanup_for_bash(ADIOS2_CXX_DEFS)
  __adios2_list_cleanup_for_bash(ADIOS2_CXX_INCS)
  configure_file(
    ${ADIOS2_SOURCE_DIR}/cmake/adios2-config.in
    ${ADIOS2_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/adios2-config
    @ONLY
  )
  install(PROGRAMS ${ADIOS2_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/adios2-config
  install(PROGRAMS ${ADIOS2_SOURCE_DIR}/cmake/adios2-config
    DESTINATION ${CMAKE_INSTALL_BINDIR}
  )
endfunction()
Loading