[unittests] Simplify CMakeLists with object library
The solution suggested by Chris Bieneman works for all versions of CMake. Differential Revision: https://reviews.llvm.org/D63544 llvm-svn: 364035
This commit is contained in:
parent
5e56f30126
commit
d76c7b1c2a
|
@ -1,30 +1,13 @@
|
||||||
# Create object library to avoid unnecessary linking. If CMake version
|
add_library(lldb-mi-utils OBJECT
|
||||||
# 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
|
||||||
)
|
)
|
||||||
|
|
||||||
add_lldb_unittest(LLDBMiUtilTests
|
add_lldb_unittest(LLDBMiUtilTests
|
||||||
|
$<TARGET_OBJECTS:lldb-mi-utils>
|
||||||
StringTest.cpp
|
StringTest.cpp
|
||||||
|
|
||||||
LINK_COMPONENTS
|
LINK_COMPONENTS
|
||||||
Support
|
Support
|
||||||
)
|
)
|
||||||
|
|
||||||
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