CMake: Fix FFMPeg/OpenEXR issues in CMake system and possibly the others. OpenEXR can be linked in DEBUG mode on Windows using the libraries in CVS and stub.

This commit is contained in:
Jacques Beuarain 2006-11-18 02:48:18 +00:00
parent 6e4b94ff51
commit 2a0fc46266
6 changed files with 24 additions and 4 deletions

@ -53,7 +53,7 @@ IF(WITH_QUICKTIME)
ENDIF(WITH_QUICKTIME) ENDIF(WITH_QUICKTIME)
IF(WITH_FFMPEG) IF(WITH_FFMPEG)
SET(INC ${INC} FFMPEG_INC) SET(INC ${INC} ${FFMPEG_INC})
ADD_DEFINITIONS(-DWITH_FFMPEG) ADD_DEFINITIONS(-DWITH_FFMPEG)
ENDIF(WITH_FFMPEG) ENDIF(WITH_FFMPEG)

@ -20,8 +20,12 @@
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#if defined(_WIN32) && defined(_DEBUG) && !defined(__MINGW32__) && !defined(__CYGWIN__)
#include <stdint.h> #include <stdint.h>
#endif
#include <stdlib.h> #include <stdlib.h>
#include <ffmpeg/avformat.h> #include <ffmpeg/avformat.h>
#include <ffmpeg/avcodec.h> #include <ffmpeg/avcodec.h>
#include <ffmpeg/rational.h> #include <ffmpeg/rational.h>
@ -33,6 +37,10 @@
#define FFMPEG_CODEC_TIME_BASE 1 #define FFMPEG_CODEC_TIME_BASE 1
#endif #endif
#if defined(WIN32) && (!(defined snprintf))
#define snprintf _snprintf
#endif
#include "BKE_writeffmpeg.h" #include "BKE_writeffmpeg.h"
#include "MEM_guardedalloc.h" #include "MEM_guardedalloc.h"
@ -471,7 +479,7 @@ static AVStream* alloc_audio_stream(int codec_id, AVFormatContext* of)
} }
/* essential functions -- start, append, end */ /* essential functions -- start, append, end */
static void start_ffmpeg_impl(RenderData *rd, int rectx, int recty) void start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty)
{ {
/* Handle to the output file */ /* Handle to the output file */
AVFormatContext* of; AVFormatContext* of;

@ -53,7 +53,7 @@ IF(WITH_QUICKTIME)
ENDIF(WITH_QUICKTIME) ENDIF(WITH_QUICKTIME)
IF(WITH_FFMPEG) IF(WITH_FFMPEG)
SET(INC ${INC} FFMPEG_INC) SET(INC ${INC} ${FFMPEG_INC})
ADD_DEFINITIONS(-DWITH_FFMPEG) ADD_DEFINITIONS(-DWITH_FFMPEG)
ENDIF(WITH_FFMPEG) ENDIF(WITH_FFMPEG)

@ -35,6 +35,14 @@
extern "C" extern "C"
{ {
// The following prevents a linking error in debug mode for MSVC using the libs in CVS
#if defined(_WIN32) && defined(_DEBUG) && !defined(__MINGW32__) && !defined(__CYGWIN__)
_CRTIMP void __cdecl _invalid_parameter_noinfo(void)
{
}
#endif
#include "MEM_guardedalloc.h" #include "MEM_guardedalloc.h"
#include "BLI_blenlib.h" #include "BLI_blenlib.h"

@ -49,5 +49,9 @@ IF(WITH_OPENEXR)
ADD_DEFINITIONS(-DWITH_OPENEXR) ADD_DEFINITIONS(-DWITH_OPENEXR)
ENDIF(WITH_OPENEXR) ENDIF(WITH_OPENEXR)
IF(WITH_FFMPEG)
ADD_DEFINITIONS(-DWITH_FFMPEG)
ENDIF(WITH_FFMPEG)
BLENDERLIB_NOLIST(blender_python "${SRC}" "${INC}") BLENDERLIB_NOLIST(blender_python "${SRC}" "${INC}")
#env.BlenderLib ( libname='blender_python', sources = Split(sources), includes = Split(incs), defines = defs, libtype=['core','game2'], priority = [60,115] ) #env.BlenderLib ( libname='blender_python', sources = Split(sources), includes = Split(incs), defines = defs, libtype=['core','game2'], priority = [60,115] )

@ -58,7 +58,7 @@ IF(WITH_QUICKTIME)
ENDIF(WITH_QUICKTIME) ENDIF(WITH_QUICKTIME)
IF(WITH_FFMPEG) IF(WITH_FFMPEG)
SET(INC ${INC} FFMPEG_INC) SET(INC ${INC} ${FFMPEG_INC})
ADD_DEFINITIONS(-DWITH_FFMPEG) ADD_DEFINITIONS(-DWITH_FFMPEG)
ENDIF(WITH_FFMPEG) ENDIF(WITH_FFMPEG)