@@ -36,15 +36,21 @@ if(APPLE)
3636 set (INSTALL_NAME_SHARED_SYMLINK_VERSION "libscylladb.${PROJECT_VERSION_MAJOR } .dylib" )
3737 set (INSTALL_NAME_SHARED_SYMLINK_NO_VERSION "libscylladb.dylib" )
3838 set (CMAKE_Rust_FLAGS_SONAME "-Clink-arg=-Wl,-install_name,@rpath/libscylladb.${PROJECT_VERSION_MAJOR } .dylib -Clink-arg=-Wl,-current_version,${PROJECT_VERSION_STRING} -Clink-arg=-Wl,-compatibility_version,${PROJECT_VERSION_MAJOR } " )
39+ set (CASSANDRA_COMPAT_SHARED_SYMLINK "libcassandra.dylib" )
40+ set (CASSANDRA_COMPAT_STATIC_SYMLINK "libcassandra_static.a" )
3941elseif (WIN32 )
4042 set (INSTALL_NAME_SHARED "scylladb.dll" )
4143 set (INSTALL_NAME_SHARED_IMPLIB "scylladb.lib" )
4244 set (CMAKE_Rust_FLAGS_SONAME "" )
45+ set (CASSANDRA_COMPAT_SHARED_SYMLINK "cassandra.dll" )
46+ set (CASSANDRA_COMPAT_STATIC_SYMLINK "cassandra_static.lib" )
4347else ()
4448 set (INSTALL_NAME_SHARED "libscylladb.so.${PROJECT_VERSION_STRING} " )
4549 set (INSTALL_NAME_SHARED_SYMLINK_VERSION "libscylladb.so.${PROJECT_VERSION_MAJOR } " )
4650 set (INSTALL_NAME_SHARED_SYMLINK_NO_VERSION "libscylladb.so" )
4751 set (CMAKE_Rust_FLAGS_SONAME "-Clink-arg=-Wl,-soname=libscylladb.so.${PROJECT_VERSION_MAJOR } " )
52+ set (CASSANDRA_COMPAT_SHARED_SYMLINK "libcassandra.so" )
53+ set (CASSANDRA_COMPAT_STATIC_SYMLINK "libcassandra_static.a" )
4854endif ()
4955if (WIN32 )
5056 set (INSTALL_NAME_STATIC "scylladb_static.lib" )
@@ -72,6 +78,9 @@ if(CASS_BUILD_SHARED)
7278 if (NOT WIN32 )
7379 create_symlink (${INSTALL_NAME_SHARED} ${INSTALL_NAME_SHARED_SYMLINK_VERSION} )
7480 create_symlink (${INSTALL_NAME_SHARED} ${INSTALL_NAME_SHARED_SYMLINK_NO_VERSION} )
81+ if (CASS_INSTALL_CASSANDRA_COMPAT)
82+ create_symlink (${INSTALL_NAME_SHARED_SYMLINK_NO_VERSION} ${CASSANDRA_COMPAT_SHARED_SYMLINK} )
83+ endif ()
7584 endif ()
7685endif ()
7786if (CASS_BUILD_STATIC)
@@ -80,6 +89,9 @@ if(CASS_BUILD_STATIC)
8089 add_library (scylladb_static STATIC IMPORTED GLOBAL )
8190 add_dependencies (scylladb_static ${INSTALL_NAME_STATIC} _copy )
8291 set_target_properties (scylladb_static PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR } /${INSTALL_NAME_STATIC} )
92+ if (CASS_INSTALL_CASSANDRA_COMPAT AND NOT WIN32 )
93+ create_symlink (${INSTALL_NAME_STATIC} ${CASSANDRA_COMPAT_STATIC_SYMLINK} )
94+ endif ()
8395endif ()
8496
8597#-------------------------------------
@@ -196,6 +208,26 @@ if(CASS_BUILD_STATIC)
196208 endif ()
197209endif ()
198210
211+ # Cassandra compatibility symlinks (for migration from Apache CPP Driver)
212+ if (CASS_INSTALL_CASSANDRA_COMPAT AND NOT WIN32 )
213+ if (CASS_BUILD_SHARED)
214+ install (FILES ${CMAKE_BINARY_DIR } /${CASSANDRA_COMPAT_SHARED_SYMLINK}
215+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
216+ COMPONENT ${SCYLLA_DRIVER_DEV_COMPONENT_NAME} )
217+ endif ()
218+ if (CASS_BUILD_STATIC)
219+ install (FILES ${CMAKE_BINARY_DIR } /${CASSANDRA_COMPAT_STATIC_SYMLINK}
220+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
221+ COMPONENT ${SCYLLA_DRIVER_DEV_COMPONENT_NAME} )
222+ endif ()
223+ if (CASS_INSTALL_PKG_CONFIG AND PKG_CONFIG_FOUND)
224+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR } /cassandra.pc.in" "cassandra.pc" @ONLY )
225+ install (FILES "${CMAKE_CURRENT_BINARY_DIR } /cassandra.pc"
226+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /pkgconfig"
227+ COMPONENT ${SCYLLA_DRIVER_DEV_COMPONENT_NAME} )
228+ endif ()
229+ endif ()
230+
199231#-------------------
200232# Uninstall target
201233#-------------------
0 commit comments