summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-02-21 20:56:26 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2012-02-21 20:56:26 (GMT)
commit8a665fa3631a5590a8ae62aecaad0ea3d4dfa778 (patch)
tree18dc98fd46338a8bb6b21ff4c1984579a2b0463b /Tests
parent751e4928404f3b2c9ca0011c10a84650481a8090 (diff)
parent70f362305f20cc1e915a8b0289751d4ed41b60ca (diff)
downloadCMake-8a665fa3631a5590a8ae62aecaad0ea3d4dfa778.zip
CMake-8a665fa3631a5590a8ae62aecaad0ea3d4dfa778.tar.gz
CMake-8a665fa3631a5590a8ae62aecaad0ea3d4dfa778.tar.bz2
Merge topic 'findlibrary-versioned-libraries'
70f3623 Find_library(): allow searching for versioned shared objects
Diffstat (limited to 'Tests')
-rw-r--r--Tests/Complex/CMakeLists.txt32
1 files changed, 31 insertions, 1 deletions
diff --git a/Tests/Complex/CMakeLists.txt b/Tests/Complex/CMakeLists.txt
index b505019..ec3ad39 100644
--- a/Tests/Complex/CMakeLists.txt
+++ b/Tests/Complex/CMakeLists.txt
@@ -199,7 +199,9 @@ CONFIGURE_FILE(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/dummylib.lib
COPYONLY IMMEDIATE)
-FOREACH (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl)
+FOREACH (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl
+ ${CMAKE_SHARED_LIBRARY_SUFFIX}.2
+ ${CMAKE_STATIC_LIBRARY_SUFFIX}.2)
CONFIGURE_FILE(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/libdummylib${ext}
@@ -216,6 +218,34 @@ FIND_LIBRARY(FIND_DUMMY_LIB
PATHS
${Complex_BINARY_DIR}/Library DOC "find dummy lib")
+# This doesn't work for platforms that have a shared library and an import
+# library, like Windows with .dll and .lib. Limit is to ".so" now because it's
+# known to work there.
+IF(CMAKE_SHARED_LIBRARY_SUFFIX STREQUAL ".so")
+ FIND_LIBRARY(FIND_DUMMY_SHLIB_VERSIONED
+ NAMES libdummylib${CMAKE_SHARED_LIBRARY_SUFFIX}.2
+ PATHS ${Complex_BINARY_DIR}/Library
+ DOC "find versioned dummy shared lib"
+ NO_DEFAULT_PATH)
+
+ IF(NOT FIND_DUMMY_SHLIB_VERSIONED MATCHES "/libdummylib${CMAKE_SHARED_LIBRARY_SUFFIX}.2")
+ MESSAGE(SEND_ERROR "FIND_DUMMY_SHLIB_VERSIONED is not set correctly: "
+ "${FIND_DUMMY_SHLIB_VERSIONED}")
+ ENDIF()
+ENDIF()
+
+# Static library, should work everywhere
+FIND_LIBRARY(FIND_DUMMY_STLIB_VERSIONED
+ NAMES libdummylib${CMAKE_STATIC_LIBRARY_SUFFIX}.2
+ PATHS ${Complex_BINARY_DIR}/Library
+ DOC "find versioned dummy static lib"
+ NO_DEFAULT_PATH)
+
+IF(NOT FIND_DUMMY_STLIB_VERSIONED MATCHES "/libdummylib${CMAKE_STATIC_LIBRARY_SUFFIX}.2")
+ MESSAGE(SEND_ERROR "FIND_DUMMY_STLIB_VERSIONED is not set correctly: "
+ "${FIND_DUMMY_STLIB_VERSIONED}")
+ENDIF()
+
#
# Test SET_SOURCE_FILES_PROPERTIES
#