forked from OSchip/llvm-project
[unittests] Use object library if cmake supports it
Differential Revision: https://reviews.llvm.org/D63544 llvm-svn: 363933
This commit is contained in:
parent
20fe9e5452
commit
36358cd3ed
|
@ -1,4 +1,10 @@
|
||||||
add_library(lldb-mi-utils OBJECT
|
# Create object library to avoid unnecessary linking. If CMake version
|
||||||
|
# doesn't support it, just create an ordinary library.
|
||||||
|
if(NOT (${CMAKE_VERSION} VERSION_LESS "3.5.0"))
|
||||||
|
set (LIBRARY_TYPE "OBJECT")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_library(lldb-mi-utils ${LIBRARY_TYPE}
|
||||||
${LLDB_SOURCE_DIR}/tools/lldb-mi/MIUtilString.cpp
|
${LLDB_SOURCE_DIR}/tools/lldb-mi/MIUtilString.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,5 +15,16 @@ add_lldb_unittest(LLDBMiUtilTests
|
||||||
Support
|
Support
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(LLDBMiUtilTests PRIVATE $<TARGET_OBJECTS:lldb-mi-utils>)
|
if((${CMAKE_VERSION} VERSION_LESS "3.5.0") OR
|
||||||
|
NOT (${CMAKE_VERSION} VERSION_LESS "3.12.0"))
|
||||||
|
# Link to either usual (cmake version < 3.5) or
|
||||||
|
# object (cmake version >= 3.12) library with lldm-mi sources.
|
||||||
|
target_link_libraries(LLDBMiUtilTests PRIVATE lldb-mi-utils)
|
||||||
|
else()
|
||||||
|
# Object libraries still cannot be on the right-hand side of
|
||||||
|
# `target_link_libraries` but `$<TARGET_OBJECTS:objlib>` expression is
|
||||||
|
# already supported in `target_sources`.
|
||||||
|
target_sources(LLDBMiUtilTests PRIVATE $<TARGET_OBJECTS:lldb-mi-utils>)
|
||||||
|
endif()
|
||||||
|
|
||||||
set_target_properties(lldb-mi-utils PROPERTIES FOLDER "lldb libraries")
|
set_target_properties(lldb-mi-utils PROPERTIES FOLDER "lldb libraries")
|
||||||
|
|
Loading…
Reference in New Issue