Improve static builds with MinGW
This commit is contained in:
parent
490d1c6a8e
commit
3e702ae2bc
@ -50,6 +50,10 @@ ELSE()
|
|||||||
SET(LIBNAME openal)
|
SET(LIBNAME openal)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(NOT LIBTYPE)
|
||||||
|
SET(LIBTYPE SHARED)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET(LIB_MAJOR_VERSION "1")
|
SET(LIB_MAJOR_VERSION "1")
|
||||||
SET(LIB_MINOR_VERSION "12")
|
SET(LIB_MINOR_VERSION "12")
|
||||||
SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}")
|
SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}")
|
||||||
@ -284,6 +288,7 @@ IF(WIN32)
|
|||||||
CHECK_SHARED_LIBRARY_EXISTS(winmm timeGetTime 0 "" HAVE_LIBWINMM)
|
CHECK_SHARED_LIBRARY_EXISTS(winmm timeGetTime 0 "" HAVE_LIBWINMM)
|
||||||
IF(HAVE_LIBWINMM)
|
IF(HAVE_LIBWINMM)
|
||||||
SET(EXTRA_LIBS winmm ${EXTRA_LIBS})
|
SET(EXTRA_LIBS winmm ${EXTRA_LIBS})
|
||||||
|
SET(PKG_CONFIG_LIBS ${PKG_CONFIG_LIBS} -lwinmm)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
@ -384,15 +389,10 @@ ENDIF()
|
|||||||
IF(HAVE_WINDOWS_H)
|
IF(HAVE_WINDOWS_H)
|
||||||
IF(WINMM)
|
IF(WINMM)
|
||||||
CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0500)
|
CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0500)
|
||||||
IF(HAVE_MMSYSTEM_H)
|
IF(HAVE_MMSYSTEM_H AND HAVE_LIBWINMM)
|
||||||
CHECK_SHARED_LIBRARY_EXISTS(winmm waveInOpen 6 "" HAVE_LIBWINMM)
|
SET(HAVE_WINMM 1)
|
||||||
IF(HAVE_LIBWINMM)
|
SET(ALC_OBJS ${ALC_OBJS} Alc/winmm.c)
|
||||||
SET(HAVE_WINMM 1)
|
SET(BACKENDS "${BACKENDS} WinMM,")
|
||||||
SET(ALC_OBJS ${ALC_OBJS} Alc/winmm.c)
|
|
||||||
SET(BACKENDS "${BACKENDS} WinMM,")
|
|
||||||
|
|
||||||
SET(EXTRA_LIBS winmm ${EXTRA_LIBS})
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@ -443,6 +443,11 @@ ENDIF()
|
|||||||
# This is always available
|
# This is always available
|
||||||
SET(BACKENDS "${BACKENDS} Null")
|
SET(BACKENDS "${BACKENDS} Null")
|
||||||
|
|
||||||
|
IF(LIBTYPE STREQUAL "STATIC")
|
||||||
|
ADD_DEFINITIONS(-DAL_LIBTYPE_STATIC)
|
||||||
|
SET(PKG_CONFIG_CFLAGS -DAL_LIBTYPE_STATIC ${PKG_CONFIG_CFLAGS})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Needed for openal.pc.in
|
# Needed for openal.pc.in
|
||||||
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
SET(exec_prefix "\${prefix}")
|
SET(exec_prefix "\${prefix}")
|
||||||
@ -461,15 +466,12 @@ CONFIGURE_FILE(
|
|||||||
@ONLY)
|
@ONLY)
|
||||||
|
|
||||||
# Build a library
|
# Build a library
|
||||||
IF(NOT LIBTYPE)
|
|
||||||
SET(LIBTYPE SHARED)
|
|
||||||
ENDIF()
|
|
||||||
ADD_LIBRARY(${LIBNAME} ${LIBTYPE} ${OPENAL_OBJS} ${ALC_OBJS})
|
ADD_LIBRARY(${LIBNAME} ${LIBTYPE} ${OPENAL_OBJS} ${ALC_OBJS})
|
||||||
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES DEFINE_SYMBOL AL_BUILD_LIBRARY
|
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES DEFINE_SYMBOL AL_BUILD_LIBRARY
|
||||||
COMPILE_FLAGS -DAL_ALEXT_PROTOTYPES
|
COMPILE_FLAGS -DAL_ALEXT_PROTOTYPES
|
||||||
VERSION ${LIB_VERSION}
|
VERSION ${LIB_VERSION}
|
||||||
SOVERSION ${LIB_MAJOR_VERSION})
|
SOVERSION ${LIB_MAJOR_VERSION})
|
||||||
IF(WIN32)
|
IF(WIN32 AND NOT LIBTYPE STREQUAL "STATIC")
|
||||||
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
|
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(_XBOX)
|
#if defined(AL_LIBTYPE_STATIC)
|
||||||
|
#define AL_API
|
||||||
|
#elif defined(_WIN32) && !defined(_XBOX)
|
||||||
#if defined(AL_BUILD_LIBRARY)
|
#if defined(AL_BUILD_LIBRARY)
|
||||||
#define AL_API __declspec(dllexport)
|
#define AL_API __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(_XBOX)
|
#if defined(AL_LIBTYPE_STATIC)
|
||||||
|
#define ALC_API
|
||||||
|
#elif defined(_WIN32) && !defined(_XBOX)
|
||||||
#if defined(AL_BUILD_LIBRARY)
|
#if defined(AL_BUILD_LIBRARY)
|
||||||
#define ALC_API __declspec(dllexport)
|
#define ALC_API __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
|
@ -8,4 +8,4 @@ Description: OpenAL is a cross-platform 3D audio API
|
|||||||
Requires: @PKG_CONFIG_REQUIRES@
|
Requires: @PKG_CONFIG_REQUIRES@
|
||||||
Version: @PACKAGE_VERSION@
|
Version: @PACKAGE_VERSION@
|
||||||
Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
|
Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir} @PKG_CONFIG_CFLAGS@
|
||||||
|
Loading…
x
Reference in New Issue
Block a user