diff --git a/cmake/XRootDDefaults.cmake b/cmake/XRootDDefaults.cmake index 5a505c63c4d..665caa89f36 100644 --- a/cmake/XRootDDefaults.cmake +++ b/cmake/XRootDDefaults.cmake @@ -19,4 +19,5 @@ option( ENABLE_TESTS "Enable unit tests." option( ENABLE_HTTP "Enable HTTP component." TRUE ) option( ENABLE_PYTHON "Enable python bindings." TRUE ) option( XRDCL_ONLY "Build only the client and necessary dependencies" FALSE ) +option( XRDCL_LIB_ONLY "Build only the client libraries and necessary dependencies" FALSE ) define_default( XRD_PYTHON_REQ_VERSION 2.4 ) diff --git a/packaging/wheel/install.sh b/packaging/wheel/install.sh index 580c63cdd0a..2b196916dbf 100755 --- a/packaging/wheel/install.sh +++ b/packaging/wheel/install.sh @@ -10,7 +10,7 @@ cd xrootdbuild # set the respective version of python # replace the default BINDIR with a custom one that can be easily removed afterwards # (for the python bindings we don't want to install the binaries) -CMAKE_ARGS="-DXRDCL_ONLY=TRUE -DENABLE_PYTHON=TRUE -DCMAKE_INSTALL_PREFIX=$1 -DXRD_PYTHON_REQ_VERSION=$2 -DCMAKE_INSTALL_BINDIR=$startdir/xrootdbuild/bin" +CMAKE_ARGS="-DXRDCL_LIB_ONLY=TRUE -DENABLE_PYTHON=TRUE -DCMAKE_INSTALL_PREFIX=$1 -DXRD_PYTHON_REQ_VERSION=$2 -DCMAKE_INSTALL_BINDIR=$startdir/xrootdbuild/bin" cmake .. $CMAKE_ARGS diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7dd2518f90d..a7ed0dbfc1e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,10 @@ #------------------------------------------------------------------------------- # Include the subcomponents #------------------------------------------------------------------------------- +if( XRDCL_LIB_ONLY ) + set ( XRDCL_ONLY TRUE ) +endif() + include( XrdUtils ) include( XrdApps ) include( XrdCrypto ) @@ -57,6 +61,7 @@ endif() #------------------------------------------------------------------------------- # Install the utility scripts #------------------------------------------------------------------------------- +if( NOT XRDCL_ONLY ) install( FILES ${CMAKE_SOURCE_DIR}/utils/XrdCmsNotify.pm @@ -68,7 +73,9 @@ install( OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ ) +endif() +if( NOT XRDCL_LIB_ONLY ) #------------------------------------------------------------------------------- # Install xrootd-config #------------------------------------------------------------------------------- @@ -102,3 +109,4 @@ install( COMMAND mv -f \${MANPAGE}.new \${MANPAGE} ) ENDFOREACH()" ) +endif() diff --git a/src/XrdCl/CMakeLists.txt b/src/XrdCl/CMakeLists.txt index b4fa405c263..c457cc81f76 100644 --- a/src/XrdCl/CMakeLists.txt +++ b/src/XrdCl/CMakeLists.txt @@ -111,6 +111,7 @@ set_target_properties( #------------------------------------------------------------------------------- # xrdfs #------------------------------------------------------------------------------- +if( NOT XRDCL_LIB_ONLY ) add_executable( xrdfs XrdClFS.cc @@ -122,10 +123,12 @@ target_link_libraries( XrdCl ${READLINE_LIBRARY} ${NCURSES_LIBRARY} ) +endif() #------------------------------------------------------------------------------- # xrdcopy #------------------------------------------------------------------------------- +if( NOT XRDCL_LIB_ONLY ) add_executable( xrdcp XrdClCopy.cc ) @@ -134,15 +137,23 @@ target_link_libraries( xrdcp XrdCl XrdAppUtils ) +endif() #------------------------------------------------------------------------------- # Install #------------------------------------------------------------------------------- install( - TARGETS XrdCl xrdfs xrdcp + TARGETS XrdCl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) +if( NOT XRDCL_LIB_ONLY ) +install( + TARGETS xrdfs xrdcp + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) +endif() + install( FILES XrdClAnyObject.hh @@ -174,11 +185,12 @@ install( XrdClOperationHandlers.hh XrdClArg.hh XrdClFwd.hh - XrdClParallelOperation.hh - XrdClFileOperations.hh - XrdClFileSystemOperations.hh + XrdClParallelOperation.hh + XrdClFileOperations.hh + XrdClFileSystemOperations.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xrootd/private/XrdCl ) +if( NOT XRDCL_LIB_ONLY ) install( FILES ${PROJECT_SOURCE_DIR}/docs/man/xrdfs.1 @@ -213,3 +225,5 @@ install( WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_MANDIR}/man1 ) ENDFOREACH()" ) + +endif() diff --git a/src/XrdSec.cmake b/src/XrdSec.cmake index 9bf108eb5fa..068582f6ad7 100644 --- a/src/XrdSec.cmake +++ b/src/XrdSec.cmake @@ -87,6 +87,7 @@ set_target_properties( INTERFACE_LINK_LIBRARIES "" LINK_INTERFACE_LIBRARIES "" ) +if( NOT XRDCL_LIB_ONLY ) #------------------------------------------------------------------------------- # xrdpwdadmin #------------------------------------------------------------------------------- @@ -98,6 +99,7 @@ target_link_libraries( xrdpwdadmin XrdCrypto XrdUtils ) +endif() #------------------------------------------------------------------------------- # The XrdSecsss module @@ -119,6 +121,7 @@ set_target_properties( INTERFACE_LINK_LIBRARIES "" LINK_INTERFACE_LIBRARIES "" ) +if( NOT XRDCL_LIB_ONLY ) #------------------------------------------------------------------------------- # xrdsssadmin #------------------------------------------------------------------------------- @@ -129,6 +132,7 @@ add_executable( target_link_libraries( xrdsssadmin XrdUtils ) +endif() #------------------------------------------------------------------------------- # The XrdSecunix module @@ -154,6 +158,12 @@ set_target_properties( install( TARGETS ${LIB_XRD_SEC} ${LIB_XRD_SEC_PWD} ${LIB_XRD_SEC_SSS} ${LIB_XRD_SEC_UNIX} ${LIB_XRD_SEC_PROT} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + +if( NOT XRDCL_LIB_ONLY ) +install( + TARGETS xrdsssadmin xrdpwdadmin RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) @@ -163,3 +173,4 @@ install( ${PROJECT_SOURCE_DIR}/docs/man/xrdsssadmin.8 ${PROJECT_SOURCE_DIR}/docs/man/xrdpwdadmin.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8 ) +endif() diff --git a/src/XrdSecgsi.cmake b/src/XrdSecgsi.cmake index 1d5890513e1..3c7ce427f60 100644 --- a/src/XrdSecgsi.cmake +++ b/src/XrdSecgsi.cmake @@ -65,6 +65,7 @@ set_target_properties( INTERFACE_LINK_LIBRARIES "" LINK_INTERFACE_LIBRARIES "" ) +if( NOT XRDCL_LIB_ONLY ) #------------------------------------------------------------------------------- # xrdgsiproxy #------------------------------------------------------------------------------- @@ -90,6 +91,7 @@ target_link_libraries( XrdCrypto XrdUtils ${OPENSSL_CRYPTO_LIBRARY} ) +endif() #------------------------------------------------------------------------------- # Install @@ -99,6 +101,12 @@ install( ${LIB_XRD_SEC_GSI} ${LIB_XRD_SEC_GSI_AUTHZVO} ${LIB_XRD_SEC_GSI_GMAPDN} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + +if( NOT XRDCL_LIB_ONLY ) +install( + TARGETS xrdgsiproxy xrdgsitest RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} @@ -109,3 +117,6 @@ install( ${PROJECT_SOURCE_DIR}/docs/man/xrdgsiproxy.1 ${PROJECT_SOURCE_DIR}/docs/man/xrdgsitest.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) + +endif() +