diff --git a/CHOLMOD/CMakeLists.txt b/CHOLMOD/CMakeLists.txt index ec2efe0637..419662e654 100644 --- a/CHOLMOD/CMakeLists.txt +++ b/CHOLMOD/CMakeLists.txt @@ -688,21 +688,46 @@ add_executable ( cholmod_si_demo "Demo/cholmod_si_demo.c" ) add_executable ( cholmod_sl_demo "Demo/cholmod_sl_demo.c" ) # Libraries required for tests -target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) -if ( SUITESPARSE_CUDA ) - target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_CUDA ) -endif ( ) -target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) -if ( SUITESPARSE_CUDA ) - target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_CUDA ) -endif ( ) -target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) -if ( SUITESPARSE_CUDA ) - target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_CUDA ) -endif ( ) -target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) -if ( SUITESPARSE_CUDA ) - target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_CUDA ) +if ( BUILD_SHARED_LIBS ) + + # link the tests with shared libraries + target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_CUDA ) + endif ( ) + target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_CUDA ) + endif ( ) + target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_CUDA ) + endif ( ) + target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_CUDA ) + endif ( ) + +else ( ) + + # link the tests with static libraries + target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_di_demo PUBLIC CHOLMOD_CUDA_static ) + endif ( ) + target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_si_demo PUBLIC CHOLMOD_CUDA_static ) + endif ( ) + target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_dl_demo PUBLIC CHOLMOD_CUDA_static ) + endif ( ) + target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_static SuiteSparse::SuiteSparseConfig ) + if ( SUITESPARSE_CUDA ) + target_link_libraries ( cholmod_sl_demo PUBLIC CHOLMOD_CUDA_static ) + endif ( ) + endif ( ) add_test ( NAME CHOLMOD_int32_double_bcsstk01