Fixed filename collision when linking the library and script bindings.
This commit is contained in:
parent
282bf1b3ec
commit
35ed8dd586
|
@ -379,25 +379,34 @@ ELSE(NOT SWIG)
|
||||||
ENDIF((NOT CMAKE_BUILD_TYPE STREQUAL "") AND (NOT CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
ENDIF((NOT CMAKE_BUILD_TYPE STREQUAL "") AND (NOT CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
||||||
ENDIF(DEFINED CMAKE_BUILD_TYPE)
|
ENDIF(DEFINED CMAKE_BUILD_TYPE)
|
||||||
|
|
||||||
|
SET(SWIG_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/physfs-swig-bindings")
|
||||||
|
|
||||||
MACRO(CONFIGURE_SWIG_BINDING _LANG _INSTALLPATH _EXTRAOUTPUTS _EXTRACFLAGS _EXTRALDFLAGS)
|
MACRO(CONFIGURE_SWIG_BINDING _LANG _INSTALLPATH _EXTRAOUTPUTS _EXTRACFLAGS _EXTRALDFLAGS)
|
||||||
STRING(TOUPPER "${_LANG}" _UPPERLANG)
|
STRING(TOUPPER "${_LANG}" _UPPERLANG)
|
||||||
STRING(TOLOWER "${_LANG}" _LOWERLANG)
|
STRING(TOLOWER "${_LANG}" _LOWERLANG)
|
||||||
SET(_TARGET "physfs-${_LOWERLANG}")
|
SET(_TARGET "physfs-${_LOWERLANG}")
|
||||||
|
SET(_TARGETDIR "${SWIG_OUTPUT_DIR}/${_LOWERLANG}")
|
||||||
|
|
||||||
|
IF(NOT EXISTS "${_TARGETDIR}")
|
||||||
|
FILE(MAKE_DIRECTORY "${_TARGETDIR}")
|
||||||
|
ENDIF(NOT EXISTS "${_TARGETDIR}")
|
||||||
|
|
||||||
IF(PHYSFS_BUILD_${_UPPERLANG})
|
IF(PHYSFS_BUILD_${_UPPERLANG})
|
||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/physfs-${_LOWERLANG}.c" ${_EXTRAOUTPUTS}
|
OUTPUT "${_TARGETDIR}/${_TARGET}.c" ${_EXTRAOUTPUTS}
|
||||||
MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/extras/physfs-swig.i"
|
MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/extras/physfs-swig.i"
|
||||||
COMMAND "${SWIG}"
|
COMMAND "${SWIG}"
|
||||||
ARGS ${SWIG_OPT_CFLAGS} -${_LOWERLANG} -outdir "${CMAKE_CURRENT_BINARY_DIR}" -o "${CMAKE_CURRENT_BINARY_DIR}/physfs-${_LOWERLANG}.c" "${CMAKE_CURRENT_SOURCE_DIR}/extras/physfs-swig.i"
|
ARGS ${SWIG_OPT_CFLAGS} -${_LOWERLANG} -outdir "${_TARGETDIR}" -o "${_TARGETDIR}/${_TARGET}.c" "${CMAKE_CURRENT_SOURCE_DIR}/extras/physfs-swig.i"
|
||||||
COMMENT "Generating ${_LANG} bindings..."
|
COMMENT "Generating ${_LANG} bindings..."
|
||||||
)
|
)
|
||||||
|
|
||||||
ADD_LIBRARY(${_TARGET} SHARED "${CMAKE_CURRENT_BINARY_DIR}/physfs-${_LOWERLANG}.c")
|
ADD_LIBRARY(${_TARGET} SHARED "${_TARGETDIR}/${_TARGET}.c")
|
||||||
TARGET_LINK_LIBRARIES(${_TARGET} ${PHYSFS_LIB_TARGET})
|
TARGET_LINK_LIBRARIES(${_TARGET} ${PHYSFS_LIB_TARGET})
|
||||||
SET_TARGET_PROPERTIES(${_TARGET} PROPERTIES
|
SET_TARGET_PROPERTIES(${_TARGET} PROPERTIES
|
||||||
COMPILE_FLAGS "${_EXTRACFLAGS}"
|
COMPILE_FLAGS "${_EXTRACFLAGS}"
|
||||||
LINK_FLAGS "${_EXTRALDFLAGS}"
|
LINK_FLAGS "${_EXTRALDFLAGS}"
|
||||||
OUTPUT_NAME "physfs"
|
LIBRARY_OUTPUT_NAME "physfs"
|
||||||
|
LIBRARY_OUTPUT_DIRECTORY "${_TARGETDIR}"
|
||||||
)
|
)
|
||||||
INSTALL(TARGETS ${_TARGET} LIBRARY DESTINATION "${_INSTALLPATH}")
|
INSTALL(TARGETS ${_TARGET} LIBRARY DESTINATION "${_INSTALLPATH}")
|
||||||
MESSAGE(STATUS "${_LANG} bindings configured!")
|
MESSAGE(STATUS "${_LANG} bindings configured!")
|
||||||
|
@ -469,8 +478,8 @@ IF(PHYSFS_BUILD_PERL)
|
||||||
SET(PERL_LIBPERL "-l${PERL_LIBPERL}")
|
SET(PERL_LIBPERL "-l${PERL_LIBPERL}")
|
||||||
ENDIF(MACOSX)
|
ENDIF(MACOSX)
|
||||||
|
|
||||||
CONFIGURE_SWIG_BINDING(Perl "${PERL_INSTALL_PATH}" "${CMAKE_CURRENT_BINARY_DIR}/physfs.pm" "\"-I${PERL_INCLUDE_PATH}/CORE\" ${PERL_CCFLAGS} -w" "\"-L${PERL_INCLUDE_PATH}/CORE\" ${PERL_LIBPERL} ${PERL_LDFLAGS}")
|
CONFIGURE_SWIG_BINDING(Perl "${PERL_INSTALL_PATH}" "${SWIG_OUTPUT_DIR}/perl/physfs.pm" "\"-I${PERL_INCLUDE_PATH}/CORE\" ${PERL_CCFLAGS} -w" "\"-L${PERL_INCLUDE_PATH}/CORE\" ${PERL_LIBPERL} ${PERL_LDFLAGS}")
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/physfs.pm" DESTINATION "${PERL_INSTALL_PATH}")
|
INSTALL(FILES "${SWIG_OUTPUT_DIR}/perl/physfs.pm" DESTINATION "${PERL_INSTALL_PATH}")
|
||||||
ENDIF(PHYSFS_BUILD_PERL)
|
ENDIF(PHYSFS_BUILD_PERL)
|
||||||
|
|
||||||
IF(PHYSFS_BUILD_RUBY)
|
IF(PHYSFS_BUILD_RUBY)
|
||||||
|
|
Loading…
Reference in New Issue