Skip to content

Commit 06f1b8a

Browse files
committed
introduced option PHASAR_DEBUG_LIBDEPS to introduce private linking of phasar libraries to be able to detect and control dependency changes
1 parent cbd60b7 commit 06f1b8a

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ option(PHASAR_BUILD_IR "Build IR test code (default is OFF)" OFF)
4949

5050
option(PHASAR_BUILD_DOC "Build documentation" OFF)
5151

52+
option(PHASAR_DEBUG_LIBDEPS "Debug internal library dependencies (private linkage)" OFF)
53+
5254
option(BUILD_SHARED_LIBS "Build shared libraries (default is ON)" ON)
5355

5456
option(PHASAR_ENABLE_WARNINGS "Enable warnings" ON)

cmake/phasar_macros.cmake

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,11 @@ macro(add_phasar_library name)
172172

173173
if(PHASAR_LINK_LIBS)
174174
foreach(lib ${PHASAR_LINK_LIBS})
175-
target_link_libraries(${name} LINK_PRIVATE ${lib})
175+
if(PHASAR_DEBUG_LIBDEPS)
176+
target_link_libraries(${name} LINK_PRIVATE ${lib})
177+
else()
178+
target_link_libraries(${name} LINK_PUBLIC ${lib})
179+
endif(PHASAR_DEBUG_LIBDEPS)
176180
endforeach(lib)
177181
endif(PHASAR_LINK_LIBS)
178182

lib/PhasarClang/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ file(GLOB_RECURSE PHASARCLANG_SRC *.h *.cpp)
22

33
include_directories(${CLANG_INCLUDE_DIRS})
44

5+
set(PHASAR_LINK_LIBS
6+
phasar_utils
7+
)
8+
59
set(LLVM_LINK_COMPONENTS
610
Support
711
Core
@@ -22,7 +26,6 @@ endif()
2226
find_package(Boost COMPONENTS log REQUIRED)
2327
target_link_libraries(phasar_clang
2428
LINK_PUBLIC
25-
phasar_utils
2629
clangTooling
2730
clangFrontendTool
2831
clangFrontend

0 commit comments

Comments
 (0)