Re #526 Reverting ldconfig-style shared library files version naming / symbolic linking, as it doesn't work with GCC 4.5 or newer

This commit is contained in:
pouillot 2012-01-14 12:52:17 +00:00
parent ba01269207
commit aafa64d6e2
17 changed files with 43 additions and 21 deletions

View File

@ -203,6 +203,7 @@ ENDMACRO(GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE)
# CLONENAMES : The names of the clones to generate
# VERSION : The VERSION of the libraries to produce (robot and its clones) (def: $VERSION).
# SOVERSION : The SOVERSION of the libraries to produce (in the ldconfig meaning) (def: 0.0.0).
# WARNING: Not taken into account for the moment : might not work with GCC 4.5 or +.
#
# Example:
# ROBOT_MODULE(NAME simplix VERSION 3.0.5 SOVERSION 0.0.0
@ -267,11 +268,14 @@ MACRO(ROBOT_MODULE)
ADD_LIBRARY(${RBM_NAME} SHARED ${RBM_SOURCES})
# Customize shared library versions and file prefix.
SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES VERSION ${RBM_VERSION})
IF(UNIX) # Use ldconfig version naming scheme + no "lib" prefix under Linux
SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES PREFIX "")
SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES SOVERSION ${RBM_SOVERSION})
ENDIF(UNIX)
SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES PREFIX "")
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES VERSION ${RBM_VERSION})
#SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES SOVERSION ${RBM_SOVERSION})
ELSE()
SET_TARGET_PROPERTIES(${RBM_NAME} PROPERTIES VERSION ${RBM_VERSION})
ENDIF()
# Link/Run-time dependencies
ADD_PLIB_LIBRARY(${RBM_NAME} sg)
@ -285,7 +289,9 @@ MACRO(ROBOT_MODULE)
GET_TARGET_PROPERTY(MODLOC ${RBM_NAME} LOCATION)
FOREACH(CLONENAME ${RBM_CLONENAMES})
SET(CLONE_MODLOC ${CLONENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
IF(UNIX)
IF(FALSE)
#IF(UNIX)
# Might not work with GCC 4.5 or + (see above)
ADD_CUSTOM_COMMAND(TARGET ${RBM_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${MODLOC} ${CLONE_MODLOC}.${RBM_VERSION})
ADD_CUSTOM_COMMAND(TARGET ${RBM_NAME} POST_BUILD

View File

@ -22,7 +22,8 @@ ENDIF(WIN32)
ADD_LIBRARY(learning SHARED ${LEARNING_SOURCES})
SET_TARGET_PROPERTIES(learning PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(learning PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(WIN32)
SD_INSTALL_FILES(BIN TARGETS learning)

View File

@ -37,7 +37,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(raceengine SHARED ${RACEENGINE_SOURCES})
SET_TARGET_PROPERTIES(raceengine PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(raceengine PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_SDLIB_LIBRARY(raceengine
tgf tgfdata robottools

View File

@ -25,7 +25,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(robottools SHARED ${ROBOTTOOLS_SOURCES})
SET_TARGET_PROPERTIES(robottools PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(robottools PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_PLIB_LIBRARY(robottools sg ul)
ADD_SDLIB_LIBRARY(robottools tgf)

View File

@ -31,7 +31,8 @@ ENDIF(WIN32)
ADD_LIBRARY(tgf SHARED ${TGF_HEADERS} ${TGF_SOURCES})
SET_TARGET_PROPERTIES(tgf PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(tgf PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(CMAKE_SKIP_RPATH OR CMAKE_SKIP_BUILD_RPATH)
ADD_LIBRARY(tgf_static STATIC ${TGF_HEADERS} ${TGF_SOURCES})

View File

@ -35,7 +35,8 @@ ENDIF(WIN32)
ADD_LIBRARY(tgfclient SHARED ${TGFCLIENT_SOURCES})
SET_TARGET_PROPERTIES(tgfclient PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(tgfclient PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_PLIB_LIBRARY(tgfclient ul sg sl)
ADD_SDLIB_LIBRARY(tgfclient tgf networking)

View File

@ -26,7 +26,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(tgfdata SHARED ${TGFDATA_SOURCES})
SET_TARGET_PROPERTIES(tgfdata PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(tgfdata PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(CMAKE_SKIP_RPATH OR CMAKE_SKIP_BUILD_RPATH)
ADD_LIBRARY(tgfdata_static STATIC ${TGFDATA_SOURCES})

View File

@ -40,7 +40,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(txml SHARED ${TXML_SOURCES})
SET_TARGET_PROPERTIES(txml PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(txml PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(CMAKE_SKIP_RPATH OR CMAKE_SKIP_BUILD_RPATH)
ADD_LIBRARY(txml_static STATIC ${TXML_SOURCES})

View File

@ -40,7 +40,8 @@ ENDIF(WIN32)
ADD_LIBRARY(ssggraph SHARED ${SSGGRAPH_SOURCES})
SET_TARGET_PROPERTIES(ssggraph PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(ssggraph PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(UNIX)
SET_TARGET_PROPERTIES(ssggraph PROPERTIES PREFIX "")

View File

@ -11,7 +11,8 @@ endif(COMMAND cmake_policy)
ADD_LIBRARY(networking SHARED ${SD_NETWORK_SOURCES})
SET_TARGET_PROPERTIES(networking PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(networking PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_INTERFACE_INCLUDEDIR()
ADD_SDL_INCLUDEDIR()

View File

@ -45,7 +45,8 @@ INCLUDE_DIRECTORIES(SOLID-2.0/include)
ADD_LIBRARY(simuv2.1 SHARED ${SIMU_SOURCES})
SET_TARGET_PROPERTIES(simuv2.1 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(simuv2.1 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_SDLIB_LIBRARY(simuv2.1 tgf robottools solid)

View File

@ -24,7 +24,8 @@ ENDIF(WIN32)
ADD_LIBRARY(simuv2 SHARED ${_SOURCES})
SET_TARGET_PROPERTIES(simuv2 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(simuv2 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_SDLIB_LIBRARY(simuv2 tgf robottools solid)

View File

@ -24,7 +24,8 @@ ENDIF(WIN32)
ADD_LIBRARY(simuv3 SHARED ${_SOURCES})
SET_TARGET_PROPERTIES(simuv3 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(simuv3 PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_SDLIB_LIBRARY(simuv3 tgf robottools solid)

View File

@ -7,7 +7,8 @@ ADD_SDLIB_INCLUDEDIR(tgf portability)
ADD_LIBRARY(telemetry SHARED ${TELEMETRY_SOURCES})
SET_TARGET_PROPERTIES(telemetry PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(telemetry PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(UNIX)
SET_TARGET_PROPERTIES(telemetry PROPERTIES PREFIX "")

View File

@ -17,7 +17,8 @@ ENDIF(WIN32)
ADD_LIBRARY(track SHARED ${TRACK_SOURCES})
SET_TARGET_PROPERTIES(track PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(track PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(UNIX)
SET_TARGET_PROPERTIES(track PROPERTIES PREFIX "")

View File

@ -65,7 +65,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(legacymenu SHARED ${LEGACYMENU_SOURCES})
SET_TARGET_PROPERTIES(legacymenu PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(legacymenu PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(UNIX)
SET_TARGET_PROPERTIES(legacymenu PROPERTIES PREFIX "")

View File

@ -24,7 +24,8 @@ ENDIF(COMMAND CMAKE_POLICY)
ADD_LIBRARY(textonly SHARED ${_SOURCES})
SET_TARGET_PROPERTIES(textonly PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(textonly PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(UNIX)
SET_TARGET_PROPERTIES(textonly PROPERTIES PREFIX "")