diff --git a/CMakeLists.txt b/CMakeLists.txt index 575b79a16969a70eff5c8e2d3c924d0e064ecd4e..b3102216022dbffab49604330787d9944cabfc83 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,14 +55,19 @@ include(CMakeDependentOption) # Setup shared library / -fPIC stuff get_property(SHARED_LIBS_SUPPORTED GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS) -cmake_dependent_option(ADIOS2_BUILD_SHARED_LIBS - "Whether or not to build shared libraries" ON - "SHARED_LIBS_SUPPORTED" OFF) +option(BUILD_SHARED_LIBS "Build shared libraries (so/dylib/dll)." ${SHARED_LIBS_SUPPORTED}) +if(NOT SHARED_LIBS_SUPPORTED) + if(BUILD_SHARED_LIBS) + message(WARNING "A shared library build was requested but is not supported on this platform / compiler. Unexpected build results will likely occur") + endif() + set(BUILD_SHARED_LIBS OFF CACHE BOOL + "Build shared libraries (so/dylib/dll)." FORCE + ) +endif() + cmake_dependent_option(ADIOS2_ENABLE_PIC "Build with Position Independent Code" ON "SHARED_LIBS_SUPPORTED" OFF) -set(BUILD_SHARED_LIBS ${ADIOS2_BUILD_SHARED_LIBS}) - if(ADIOS2_ENABLE_PIC) set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif()