diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index 5d4b82fa1d14fba948b92ac77a536a876df9895c..d9025f2aa8c899bc07400064d7494638643747bd 100644 --- a/Applications/ApplicationsLib/CMakeLists.txt +++ b/Applications/ApplicationsLib/CMakeLists.txt @@ -6,9 +6,8 @@ set(LIB_SOURCES ${SOURCES_APPLICATIONSLIB}) add_library(ApplicationsLib ${LIB_SOURCES}) target_link_libraries(ApplicationsLib - MeshGeoToolsLib - NumLib - ProcessLib + PUBLIC BaseLib GeoLib NumLib ProcessLib logog + PRIVATE MathLib MeshLib ) if(TARGET Eigen) diff --git a/Applications/CLI/CMakeLists.txt b/Applications/CLI/CMakeLists.txt index 442531766f0fd78f41ada3c2df437158d6c3c63c..bb2be2714538f099cdf9d337ff910a2a81094696 100644 --- a/Applications/CLI/CMakeLists.txt +++ b/Applications/CLI/CMakeLists.txt @@ -2,20 +2,17 @@ add_executable(ogs ogs.cpp) target_link_libraries(ogs - ApplicationsLib - MeshGeoToolsLib - ProcessLib - NumLib + PRIVATE BaseLib ApplicationsLib NumLib ProcessLib ) ADD_VTK_DEPENDENCY(ogs) if(OGS_USE_PETSC) - target_link_libraries(ogs ${PETSC_LIBRARIES}) + target_link_libraries(ogs PRIVATE ${PETSC_LIBRARIES}) endif() if(OGS_INSITU) - target_link_libraries(ogs InSituLib) + target_link_libraries(ogs PRIVATE InSituLib) endif() if(OGS_USE_PCH) diff --git a/Applications/DataHolderLib/CMakeLists.txt b/Applications/DataHolderLib/CMakeLists.txt index cfcd824d0985c32ddb86c72f9656614788cf8305..9740aafa4b5976820093e57e8fad228d7619349e 100644 --- a/Applications/DataHolderLib/CMakeLists.txt +++ b/Applications/DataHolderLib/CMakeLists.txt @@ -5,9 +5,8 @@ GET_SOURCE_FILES(SOURCES_DataHolderLib) add_library(DataHolderLib ${SOURCES_DataHolderLib}) target_link_libraries(DataHolderLib - GeoLib - MeshLib - logog + PUBLIC GeoLib MeshLib + PRIVATE BaseLib logog ) if(OGS_USE_PCH) diff --git a/Applications/FileIO/CMakeLists.txt b/Applications/FileIO/CMakeLists.txt index fffd2690063c7edb699368eb8da277e035e4505f..cb5cc7f9d29de646e731984d826afdcf7aefbfa0 100644 --- a/Applications/FileIO/CMakeLists.txt +++ b/Applications/FileIO/CMakeLists.txt @@ -19,10 +19,17 @@ include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake) # Create the library add_library(ApplicationsFileIO ${SOURCES}) -target_link_libraries(ApplicationsFileIO DataHolderLib) +target_link_libraries(ApplicationsFileIO + PUBLIC BaseLib DataHolderLib GeoLib MathLib logog + PRIVATE ApplicationsLib MeshLib +) if(Shapelib_FOUND) - target_link_libraries(ApplicationsFileIO ${Shapelib_LIBRARIES}) + target_link_libraries(ApplicationsFileIO PRIVATE ${Shapelib_LIBRARIES}) +endif() + +if(OGS_BUILD_SWMM) + target_link_libraries(ApplicationsFileIO PRIVATE SwmmInterface) endif() ADD_VTK_DEPENDENCY(ApplicationsFileIO) diff --git a/Applications/InSituLib/CMakeLists.txt b/Applications/InSituLib/CMakeLists.txt index 38b9b025b7fb621111530a5a336c0fe040b3e882..732d546c4e559e08b681b4a480a38d8184faf348 100644 --- a/Applications/InSituLib/CMakeLists.txt +++ b/Applications/InSituLib/CMakeLists.txt @@ -3,6 +3,9 @@ GET_SOURCE_FILES(SOURCES) # Library add_library(InSituLib ${SOURCES}) + +target_link_libraries(PUBLIC BaseLib PRIVATE MeshLib) + if(OGS_USE_PCH) cotire(InSituLib) endif() diff --git a/BaseLib/CMakeLists.txt b/BaseLib/CMakeLists.txt index 69e46a1af3cefff47138dd741117513a05774a90..377ac3b07a39aadfff758da72ba59383ff06957b 100644 --- a/BaseLib/CMakeLists.txt +++ b/BaseLib/CMakeLists.txt @@ -14,18 +14,16 @@ add_library(BaseLib ${SOURCES}) set_target_properties(BaseLib PROPERTIES LINKER_LANGUAGE CXX) -target_link_libraries(BaseLib - logog -) +target_link_libraries(BaseLib PUBLIC logog) if(MSVC) - target_link_libraries(BaseLib WinMM) # needed for timeGetTime + target_link_libraries(BaseLib PRIVATE WinMM) # needed for timeGetTime endif() if(Qt5XmlPatterns_FOUND) - target_link_libraries(BaseLib Qt5::Xml Qt5::XmlPatterns) + target_link_libraries(BaseLib PUBLIC Qt5::Xml Qt5::XmlPatterns) if(WIN32 AND CMAKE_CROSSCOMPILING AND OPENSSL_FOUND) - target_link_libraries(BaseLib Qt5::Network ${OPENSSL_LIBRARIES} ws2_32) + target_link_libraries(BaseLib PUBLIC Qt5::Network ${OPENSSL_LIBRARIES} ws2_32) endif() endif() diff --git a/GeoLib/CMakeLists.txt b/GeoLib/CMakeLists.txt index 747e074dca54d9508d9817748fa7ddda16d31840..f7b51618a7a2056ed0d03bb82baef72418e71c56 100644 --- a/GeoLib/CMakeLists.txt +++ b/GeoLib/CMakeLists.txt @@ -16,14 +16,12 @@ add_library(GeoLib ${SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/../ThirdParty/tetgen/predicates.cxx ) -target_link_libraries(GeoLib - MathLib -) +target_link_libraries(GeoLib PUBLIC BaseLib MathLib logog) if(Qt5XmlPatterns_FOUND) - target_link_libraries(GeoLib Qt5::Xml Qt5::XmlPatterns) + target_link_libraries(GeoLib PUBLIC Qt5::Xml Qt5::XmlPatterns) if(WIN32 AND CMAKE_CROSSCOMPILING AND OPENSSL_FOUND) - target_link_libraries(GeoLib Qt5::Network ${OPENSSL_LIBRARIES} ws2_32) + target_link_libraries(GeoLib PUBLIC Qt5::Network ${OPENSSL_LIBRARIES} ws2_32) endif() endif() diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt index d2488350c069566ef85f19ecf27ef6e169736ecd..52b82c27b8bc2e5c93af4dba18d77005ce046649 100644 --- a/MaterialLib/CMakeLists.txt +++ b/MaterialLib/CMakeLists.txt @@ -21,7 +21,8 @@ append_source_files(SOURCES TwoPhaseModels) add_library(MaterialLib ${SOURCES}) target_link_libraries(MaterialLib - BaseLib + PUBLIC BaseLib NumLib ProcessLib logog + PRIVATE MathLib MeshLib ) if(OGS_USE_PCH) diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index aeccec33ff759731e7b936910fee3538ee988243..41abeba6e00a0d15c4853a12069eabfdc06e0662 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -28,28 +28,26 @@ add_library(MathLib ${SOURCES}) set_target_properties(MathLib PROPERTIES LINKER_LANGUAGE CXX) -target_link_libraries(MathLib - BaseLib -) +target_link_libraries(MathLib PUBLIC BaseLib logog) if (CVODE_FOUND) - target_link_libraries(MathLib ${CVODE_LIBRARIES}) + target_link_libraries(MathLib PUBLIC ${CVODE_LIBRARIES}) endif() if(LAPACK_FOUND) - target_link_libraries(MathLib ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) + target_link_libraries(MathLib PUBLIC ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) endif() if (OGS_USE_LIS) - target_link_libraries(MathLib ${LIS_LIBRARIES}) + target_link_libraries(MathLib PUBLIC ${LIS_LIBRARIES}) endif() if (OGS_USE_MKL) - target_link_libraries(MathLib ${MKL_LIBRARIES}) + target_link_libraries(MathLib PUBLIC ${MKL_LIBRARIES}) endif() if (OGS_USE_PETSC) - target_link_libraries(MathLib ${PETSC_LIBRARIES}) + target_link_libraries(MathLib PUBLIC ${PETSC_LIBRARIES}) endif() if(TARGET Boost) diff --git a/MeshGeoToolsLib/CMakeLists.txt b/MeshGeoToolsLib/CMakeLists.txt index 662f25ece847db597cbb27a1e6527c41ddd50e04..94e3ce86759976ed1be86e97121fedffa9504c29 100644 --- a/MeshGeoToolsLib/CMakeLists.txt +++ b/MeshGeoToolsLib/CMakeLists.txt @@ -5,10 +5,8 @@ GET_SOURCE_FILES(SOURCES) add_library(MeshGeoToolsLib ${SOURCES}) target_link_libraries(MeshGeoToolsLib - BaseLib - MathLib - MeshLib - GeoLib + PUBLIC GeoLib MathLib + PRIVATE BaseLib MeshLib logog ) if(TARGET Boost) diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt index 7da5c02a33ea0243de06e991a85cd7d43983bb71..13ec4dcd1f2e994c1f99ecfc9c6845f56e180d6c 100644 --- a/MeshLib/CMakeLists.txt +++ b/MeshLib/CMakeLists.txt @@ -27,7 +27,7 @@ if(OGS_USE_PCH) endif() target_link_libraries(MeshLib - PUBLIC BaseLib GeoLib MathLib + PUBLIC BaseLib GeoLib MathLib logog INTERFACE vtkIOXML ) diff --git a/NumLib/CMakeLists.txt b/NumLib/CMakeLists.txt index ac83fc180736734f2ba25aec4920e6d95e387b4c..bcd102b8e2ca06af7254c5d093f544b593e562ec 100644 --- a/NumLib/CMakeLists.txt +++ b/NumLib/CMakeLists.txt @@ -20,12 +20,8 @@ add_library(NumLib ${SOURCES}) set_target_properties(NumLib PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(NumLib - BaseLib - GeoLib - MathLib - MeshLib - MeshGeoToolsLib - logog + PUBLIC BaseLib GeoLib MathLib MeshLib logog + PRIVATE MeshGeoToolsLib ) if(TARGET Eigen)