Fix misinterpretation of CMake rule found by a CMake warning (related to CMP0054).
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 26 Sep 2014 21:33:05 +0000 (21:33 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 26 Sep 2014 21:33:05 +0000 (21:33 +0000)
lldb sets the variable SHARED_LIBRARY to 1, which breaks this conditional,
because older versions of CMake interpret

  if ("${t}" STREQUAL "SHARED_LIBRARY")

as meaning

  if ("${t}" STREQUAL "1")

in this case. Change the conditional so it does the right thing with both old
and new CMakes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218542 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/LLVM-Config.cmake

index 8ae1d23e4eea0df524dd056e4c3b711465e597c1..e8c42fc8dc7c6fce5b0454fd981f49942661cdb7 100644 (file)
@@ -40,9 +40,9 @@ function(explicit_llvm_config executable)
 
   llvm_map_components_to_libnames(LIBRARIES ${link_components})
   get_target_property(t ${executable} TYPE)
-  if("${t}" STREQUAL "STATIC_LIBRARY")
+  if("x${t}" STREQUAL "xSTATIC_LIBRARY")
     target_link_libraries(${executable} ${cmake_2_8_12_INTERFACE} ${LIBRARIES})
-  elseif("${t}" STREQUAL "SHARED_LIBRARY" OR "${t}" STREQUAL "MODULE_LIBRARY")
+  elseif("x${t}" STREQUAL "xSHARED_LIBRARY" OR "x${t}" STREQUAL "xMODULE_LIBRARY")
     target_link_libraries(${executable} ${cmake_2_8_12_PRIVATE} ${LIBRARIES})
   else()
     # Use plain form for legacy user.