diff --git a/src/IO/CMakeLists.txt b/src/IO/CMakeLists.txt index 14401c4092..c225214236 100644 --- a/src/IO/CMakeLists.txt +++ b/src/IO/CMakeLists.txt @@ -83,33 +83,33 @@ endif() include(stir_lib_target) if (LLN_FOUND) - target_link_libraries(IO ${LLN_LIBRARIES}) + target_link_libraries(IO PUBLIC ${LLN_LIBRARIES}) endif() if (CERN_ROOT_FOUND) target_include_directories(IO PRIVATE ${CERN_ROOT_INCLUDE_DIRS}) if (TARGET ROOT::Tree) - target_link_libraries(IO ROOT::Tree) + target_link_libraries(IO PUBLIC ROOT::Tree) else() - target_link_libraries(IO ${CERN_ROOT_LIBRARIES}) + target_link_libraries(IO PUBLIC ${CERN_ROOT_LIBRARIES}) endif() endif() if (HAVE_HDF5) - target_link_libraries(IO ${HDF5_CXX_LIBRARIES}) + target_link_libraries(IO PUBLIC ${HDF5_CXX_LIBRARIES}) endif() if (AVW_FOUND) - target_link_libraries(IO ${AVW_LIBRARIES}) + target_link_libraries(IO PUBLIC ${AVW_LIBRARIES}) endif() if (HAVE_ITK) - target_link_libraries(IO ITKCommon ${ITK_LIBRARIES}) + target_link_libraries(IO PUBLIC ITKCommon ${ITK_LIBRARIES}) endif() if (UPENN_FOUND) target_include_directories(IO PUBLIC ${UPENN_INCLUDE_DIR}) - target_link_libraries(IO ${UPENN_libsss_tof} ${UPENN_libfit} ${UPENN_libdist} ${UPENN_libgeom} + target_link_libraries(IO PUBLIC ${UPENN_libsss_tof} ${UPENN_libfit} ${UPENN_libdist} ${UPENN_libgeom} ${UPENN_liblor} ${UPENN_liblist} ${UPENN_libmhdr} ${JANSSON_LIBRARY} ${ZLIB_LIBRARY_RELEASE} ${UPENN_libimagio} ${UPENN_libimagio++}) endif() @@ -119,7 +119,7 @@ if (HAVE_JSON) # Unfortunately, the simple line below exports the dependency while this is really not # necessary. # - # target_link_libraries(IO PRIVATE "$") + # target_link_libraries(IO PUBLIC PRIVATE "$") # So, we currently use an ugly work-around from # https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_334852 @@ -131,5 +131,5 @@ if (HAVE_JSON) endif() # currently needed for ParametricDensity (TODO get rid of this somehow?) -target_link_libraries(IO modelling_buildblock ) -target_link_libraries(IO listmode_buildblock) +target_link_libraries(IO PUBLIC modelling_buildblock ) +target_link_libraries(IO PUBLIC listmode_buildblock) diff --git a/src/Shape_buildblock/CMakeLists.txt b/src/Shape_buildblock/CMakeLists.txt index 61e3a51232..05b8136015 100644 --- a/src/Shape_buildblock/CMakeLists.txt +++ b/src/Shape_buildblock/CMakeLists.txt @@ -18,4 +18,4 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(Shape_buildblock buildblock IO numerics_buildblock ) +target_link_libraries(Shape_buildblock PUBLIC buildblock IO numerics_buildblock ) diff --git a/src/analytic/FBP2D/CMakeLists.txt b/src/analytic/FBP2D/CMakeLists.txt index d72dce63e0..533520f440 100644 --- a/src/analytic/FBP2D/CMakeLists.txt +++ b/src/analytic/FBP2D/CMakeLists.txt @@ -13,7 +13,7 @@ set(${dir_LIB_SOURCES} #$(dir)_REGISTRY_SOURCES:= include(stir_lib_target) -target_link_libraries(analytic_FBP2D recon_buildblock IO ) +target_link_libraries(analytic_FBP2D PUBLIC recon_buildblock IO ) set (dir_EXE_SOURCES ${dir}_EXE_SOURCES) diff --git a/src/analytic/FBP3DRP/CMakeLists.txt b/src/analytic/FBP3DRP/CMakeLists.txt index 892b14c445..860bb5156a 100644 --- a/src/analytic/FBP3DRP/CMakeLists.txt +++ b/src/analytic/FBP3DRP/CMakeLists.txt @@ -13,7 +13,7 @@ set(${dir_LIB_SOURCES} #$(dir)_REGISTRY_SOURCES:= include(stir_lib_target) -target_link_libraries(analytic_FBP3DRP analytic_FBP2D recon_buildblock ) +target_link_libraries(analytic_FBP3DRP PUBLIC analytic_FBP2D recon_buildblock ) set (dir_EXE_SOURCES ${dir}_EXE_SOURCES) diff --git a/src/buildblock/CMakeLists.txt b/src/buildblock/CMakeLists.txt index 7842ba7771..1d90c88c6a 100644 --- a/src/buildblock/CMakeLists.txt +++ b/src/buildblock/CMakeLists.txt @@ -130,17 +130,17 @@ endif() # TODO Remove but currently needed for ProjData.cxx, DynamicDisc*cxx, TimeFrameDef if (LLN_FOUND) - target_link_libraries(buildblock ${LLN_LIBRARIES}) + target_link_libraries(buildblock PUBLIC ${LLN_LIBRARIES}) endif() if (RDF_FOUND) # TODO cannot do this as it creates circular dependencies - # target_link_libraries(buildblock local_IO_GE) + # target_link_libraries(buildblock PUBLIC local_IO_GE) endif() # TODO currently needed as filters need fourier -#target_link_libraries(buildblock numerics_buildblock) +#target_link_libraries(buildblock PUBLIC numerics_buildblock) if (STIR_OPENMP) - target_link_libraries(buildblock ${OpenMP_EXE_LINKER_FLAGS}) + target_link_libraries(buildblock PUBLIC ${OpenMP_EXE_LINKER_FLAGS}) endif() diff --git a/src/data_buildblock/CMakeLists.txt b/src/data_buildblock/CMakeLists.txt index de99dbf5a2..e04f5c4529 100644 --- a/src/data_buildblock/CMakeLists.txt +++ b/src/data_buildblock/CMakeLists.txt @@ -35,4 +35,4 @@ endif() include(stir_lib_target) -target_link_libraries(${dir} buildblock) +target_link_libraries(${dir} PUBLIC buildblock) diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index dc71408145..05d1a5147b 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -46,7 +46,7 @@ include(stir_lib_target) if( "${GRAPHICS}" STREQUAL "X") find_package(Curses REQUIRED) INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR} ${CURSES_INCLUDE_DIR}) - target_link_libraries(${dir} ${X11_LIBRARIES} ${CURSES_LIBRARY}) + target_link_libraries(${dir} PUBLIC ${X11_LIBRARIES} ${CURSES_LIBRARY}) endif() -target_link_libraries(${dir} buildblock) +target_link_libraries(${dir} PUBLIC buildblock) diff --git a/src/eval_buildblock/CMakeLists.txt b/src/eval_buildblock/CMakeLists.txt index 15dd6ac419..2f640cf30b 100644 --- a/src/eval_buildblock/CMakeLists.txt +++ b/src/eval_buildblock/CMakeLists.txt @@ -15,6 +15,6 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(eval_buildblock buildblock ) +target_link_libraries(eval_buildblock PUBLIC buildblock ) diff --git a/src/experimental/buildblock/CMakeLists.txt b/src/experimental/buildblock/CMakeLists.txt index d68f8aa9bf..519a6461ef 100644 --- a/src/experimental/buildblock/CMakeLists.txt +++ b/src/experimental/buildblock/CMakeLists.txt @@ -8,5 +8,5 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(${dir} buildblock) +target_link_libraries(${dir} PUBLIC buildblock) diff --git a/src/experimental/listmode/CMakeLists.txt b/src/experimental/listmode/CMakeLists.txt index 30ae63c8e8..845f467f75 100644 --- a/src/experimental/listmode/CMakeLists.txt +++ b/src/experimental/listmode/CMakeLists.txt @@ -16,4 +16,4 @@ endif() include(stir_lib_target) -target_link_libraries(local_listmode_buildblock listmode_buildblock ) +target_link_libraries(local_listmode_buildblock PUBLIC listmode_buildblock ) diff --git a/src/experimental/motion/CMakeLists.txt b/src/experimental/motion/CMakeLists.txt index c9bc2989ef..21e2834088 100644 --- a/src/experimental/motion/CMakeLists.txt +++ b/src/experimental/motion/CMakeLists.txt @@ -11,5 +11,5 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(${dir} numerics_buildblock local_buildblock ) +target_link_libraries(${dir} PUBLIC numerics_buildblock local_buildblock ) diff --git a/src/experimental/motion_utilities/CMakeLists.txt b/src/experimental/motion_utilities/CMakeLists.txt index 7397b263e8..58299a07f9 100644 --- a/src/experimental/motion_utilities/CMakeLists.txt +++ b/src/experimental/motion_utilities/CMakeLists.txt @@ -22,7 +22,7 @@ set(${dir_EXE_SOURCES} #include(stir_exe_targets) foreach(executable ${${dir_EXE_SOURCES}}) add_executable(${executable} ${executable} ${STIR_IO_REGISTRIES} ) - target_link_libraries(${executable} buildblock IO buildblock local_motion_buildblock buildblock IO buildblock listmode_buildblock display) + target_link_libraries(${executable} PUBLIC buildblock IO buildblock local_motion_buildblock buildblock IO buildblock listmode_buildblock display) SET_PROPERTY(TARGET ${executable} PROPERTY FOLDER "Executables") endforeach() diff --git a/src/experimental/recon_buildblock/CMakeLists.txt b/src/experimental/recon_buildblock/CMakeLists.txt index 668004ebc6..7abfbca267 100644 --- a/src/experimental/recon_buildblock/CMakeLists.txt +++ b/src/experimental/recon_buildblock/CMakeLists.txt @@ -22,7 +22,7 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(local_recon_buildblock display buildblock recon_buildblock) +target_link_libraries(local_recon_buildblock PUBLIC display buildblock recon_buildblock) diff --git a/src/iterative/KOSMAPOSL/CMakeLists.txt b/src/iterative/KOSMAPOSL/CMakeLists.txt index 3858baee17..cc59bb67f4 100644 --- a/src/iterative/KOSMAPOSL/CMakeLists.txt +++ b/src/iterative/KOSMAPOSL/CMakeLists.txt @@ -23,5 +23,5 @@ if (STIR_MPI) SET_PROPERTY(TARGET KOSMAPOSL PROPERTY LINK_FLAGS ${MPI_CXX_LINK_FLAGS}) endif() -target_link_libraries(iterative_KOSMAPOSL recon_buildblock ) +target_link_libraries(iterative_KOSMAPOSL PUBLIC recon_buildblock ) diff --git a/src/iterative/OSMAPOSL/CMakeLists.txt b/src/iterative/OSMAPOSL/CMakeLists.txt index 64ef89a2e0..d1f26ec13e 100644 --- a/src/iterative/OSMAPOSL/CMakeLists.txt +++ b/src/iterative/OSMAPOSL/CMakeLists.txt @@ -23,5 +23,5 @@ if (STIR_MPI) SET_PROPERTY(TARGET OSMAPOSL PROPERTY LINK_FLAGS ${MPI_CXX_LINK_FLAGS}) endif() -target_link_libraries(iterative_OSMAPOSL recon_buildblock ) +target_link_libraries(iterative_OSMAPOSL PUBLIC recon_buildblock ) diff --git a/src/iterative/OSSPS/CMakeLists.txt b/src/iterative/OSSPS/CMakeLists.txt index d5f7aafdf8..9e7f77a055 100644 --- a/src/iterative/OSSPS/CMakeLists.txt +++ b/src/iterative/OSSPS/CMakeLists.txt @@ -24,4 +24,4 @@ if (STIR_MPI) SET_PROPERTY(TARGET OSSPS PROPERTY LINK_FLAGS ${MPI_CXX_LINK_FLAGS}) endif() -target_link_libraries(iterative_OSSPS recon_buildblock ) +target_link_libraries(iterative_OSSPS PUBLIC recon_buildblock ) diff --git a/src/listmode_buildblock/CMakeLists.txt b/src/listmode_buildblock/CMakeLists.txt index b21d21d3dc..baed95da42 100644 --- a/src/listmode_buildblock/CMakeLists.txt +++ b/src/listmode_buildblock/CMakeLists.txt @@ -57,4 +57,4 @@ endif() include(stir_lib_target) -target_link_libraries(listmode_buildblock data_buildblock ) +target_link_libraries(listmode_buildblock PUBLIC data_buildblock ) diff --git a/src/modelling_buildblock/CMakeLists.txt b/src/modelling_buildblock/CMakeLists.txt index aab6d86d89..aed39c0c1a 100644 --- a/src/modelling_buildblock/CMakeLists.txt +++ b/src/modelling_buildblock/CMakeLists.txt @@ -15,4 +15,4 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(modelling_buildblock buildblock IO) +target_link_libraries(modelling_buildblock PUBLIC buildblock IO) diff --git a/src/numerics_buildblock/CMakeLists.txt b/src/numerics_buildblock/CMakeLists.txt index 823e78dafd..c6e8f4158c 100644 --- a/src/numerics_buildblock/CMakeLists.txt +++ b/src/numerics_buildblock/CMakeLists.txt @@ -13,4 +13,4 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(${dir} buildblock) +target_link_libraries(${dir} PUBLIC buildblock) diff --git a/src/recon_buildblock/CMakeLists.txt b/src/recon_buildblock/CMakeLists.txt index 711fd42977..89d3c5e272 100644 --- a/src/recon_buildblock/CMakeLists.txt +++ b/src/recon_buildblock/CMakeLists.txt @@ -131,27 +131,27 @@ include(stir_lib_target) if (STIR_MPI) - target_link_libraries(recon_buildblock ${MPI_CXX_LIBRARIES}) + target_link_libraries(recon_buildblock PUBLIC ${MPI_CXX_LIBRARIES}) endif() if (STIR_OPENMP) - target_link_libraries(recon_buildblock ${OpenMP_EXE_LINKER_FLAGS}) + target_link_libraries(recon_buildblock PUBLIC ${OpenMP_EXE_LINKER_FLAGS}) endif() # TODO what to do with IO? # modelling_buildblock currently needed for ParametricDensity and Patlak (TODO get rid of this somehow?) -target_link_libraries(recon_buildblock modelling_buildblock display numerics_buildblock listmode_buildblock data_buildblock buildblock spatial_transformation_buildblock ) +target_link_libraries(recon_buildblock PUBLIC modelling_buildblock display numerics_buildblock listmode_buildblock data_buildblock buildblock spatial_transformation_buildblock ) if (STIR_WITH_NiftyPET_PROJECTOR) - target_link_libraries(recon_buildblock NiftyPET::petprj) - target_link_libraries(recon_buildblock NiftyPET::mmr_auxe) - target_link_libraries(recon_buildblock NiftyPET::mmr_lmproc) - target_link_libraries(recon_buildblock CUDA::cudart) + target_link_libraries(recon_buildblock PUBLIC NiftyPET::petprj) + target_link_libraries(recon_buildblock PUBLIC NiftyPET::mmr_auxe) + target_link_libraries(recon_buildblock PUBLIC NiftyPET::mmr_lmproc) + target_link_libraries(recon_buildblock PUBLIC CUDA::cudart) endif() if (STIR_WITH_Parallelproj_PROJECTOR) - target_link_libraries(recon_buildblock parallelproj::parallelproj_c) + target_link_libraries(recon_buildblock PUBLIC parallelproj::parallelproj_c) if (parallelproj_built_with_CUDA) - target_link_libraries(recon_buildblock parallelproj::parallelproj_cuda) + target_link_libraries(recon_buildblock PUBLIC parallelproj::parallelproj_cuda) endif() endif() diff --git a/src/scatter_buildblock/CMakeLists.txt b/src/scatter_buildblock/CMakeLists.txt index abc5527cf4..1a22da605d 100644 --- a/src/scatter_buildblock/CMakeLists.txt +++ b/src/scatter_buildblock/CMakeLists.txt @@ -22,4 +22,4 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(scatter_buildblock recon_buildblock) +target_link_libraries(scatter_buildblock PUBLIC recon_buildblock) diff --git a/src/spatial_transformation_buildblock/CMakeLists.txt b/src/spatial_transformation_buildblock/CMakeLists.txt index a26196e431..0434d5836c 100644 --- a/src/spatial_transformation_buildblock/CMakeLists.txt +++ b/src/spatial_transformation_buildblock/CMakeLists.txt @@ -23,4 +23,4 @@ set(${dir_LIB_SOURCES} include(stir_lib_target) -target_link_libraries(${dir} buildblock numerics_buildblock ) +target_link_libraries(${dir} PUBLIC buildblock numerics_buildblock ) diff --git a/src/swig/CMakeLists.txt b/src/swig/CMakeLists.txt index 51b3a5abac..984ff9f459 100644 --- a/src/swig/CMakeLists.txt +++ b/src/swig/CMakeLists.txt @@ -156,8 +156,8 @@ if(BUILD_SWIG_PYTHON) endif() endif() SWIG_WORKAROUND(${SWIG_MODULE_stir_REAL_NAME}) - SWIG_LINK_LIBRARIES(stir ${STIR_LIBRARIES} ${STIR_Python_dependency}) - target_link_libraries(${SWIG_MODULE_stir_REAL_NAME} ${OpenMP_EXE_LINKER_FLAGS}) + SWIG_LINK_LIBRARIES(stir PUBLIC ${STIR_LIBRARIES} ${STIR_Python_dependency}) + target_link_libraries(${SWIG_MODULE_stir_REAL_NAME} PUBLIC ${OpenMP_EXE_LINKER_FLAGS}) CONFIGURE_FILE(./pyfragments.swg ./ COPYONLY) set(PYTHON_DEST ${CMAKE_INSTALL_PREFIX}/python CACHE PATH "Destination for python module") @@ -207,7 +207,7 @@ if (BUILD_SWIG_OCTAVE) endif() SET_TARGET_PROPERTIES(${SWIG_MODULE_stiroct_REAL_NAME} PROPERTIES SUFFIX ${OCTAVE_SUFFIX} PREFIX "${OCTAVE_PREFIX}") SWIG_WORKAROUND(${SWIG_MODULE_stiroct_REAL_NAME}) - SWIG_LINK_LIBRARIES(stiroct ${STIR_LIBRARIES} ${OCTAVE_LIBRARIES}) + SWIG_LINK_LIBRARIES(stiroct PUBLIC ${STIR_LIBRARIES} ${OCTAVE_LIBRARIES}) # add OCTAVE_INCFLAGS to swig-generated file only, not to all files as # 1) we don't need it at the moment 2) we'd need to change from -Ibla to bla @@ -242,9 +242,9 @@ if (BUILD_SWIG_MATLAB) LINK_FLAGS "${Matlab_CXXLINKER_FLAGS}" FOLDER "Matlab") SWIG_WORKAROUND(${SWIG_MODULE_stirMATLAB_REAL_NAME}) - target_link_libraries(${SWIG_MODULE_stirMATLAB_REAL_NAME} ${OpenMP_EXE_LINKER_FLAGS}) + target_link_libraries(${SWIG_MODULE_stirMATLAB_REAL_NAME} PUBLIC ${OpenMP_EXE_LINKER_FLAGS}) - SWIG_LINK_LIBRARIES(stirMATLAB ${STIR_LIBRARIES} ${Matlab_LIBRARIES}) + SWIG_LINK_LIBRARIES(stirMATLAB PUBLIC ${STIR_LIBRARIES} ${Matlab_LIBRARIES}) include_directories(${Matlab_INCLUDE_DIRS}) # disabled, as currently set via add_definitions in main CMakeLists.txt diff --git a/src/utilities/UPENN/CMakeLists.txt b/src/utilities/UPENN/CMakeLists.txt index 54fe8d1337..c0d6a0d771 100644 --- a/src/utilities/UPENN/CMakeLists.txt +++ b/src/utilities/UPENN/CMakeLists.txt @@ -12,5 +12,5 @@ set(${dir_EXE_SOURCES} include(stir_exe_targets) -target_link_libraries(conv_UPENN_projdata_to_STIR ${UPENN_libgeom} +target_link_libraries(conv_UPENN_projdata_to_STIR PUBLIC ${UPENN_libgeom} ${UPENN_liblor} ${UPENN_libimagio} ${UPENN_libimagio++} -lboost_system)