Allow proper compiling of libjpeg for windows.
This expands on #777 to work with jconfig.h properly. To facilitate these operations, a new macro was added for doing compile tests. Note that this commit does NOT bring in the other files associated with this version of libjpeg. At some point, it would be desirable to automatically get the files as part of the cmake configuration step, similar to ffmpeg.
This commit is contained in:
@@ -264,7 +264,6 @@ list(APPEND SM_WINDOWS_PROGRAM_DLLS
|
||||
"${SM_PROGRAM_DIR}/avcodec-53.dll"
|
||||
"${SM_PROGRAM_DIR}/avformat-53.dll"
|
||||
"${SM_PROGRAM_DIR}/avutil-51.dll"
|
||||
"${SM_PROGRAM_DIR}/jpeg.dll"
|
||||
"${SM_PROGRAM_DIR}/msvcp100.dll"
|
||||
"${SM_PROGRAM_DIR}/msvcp110.dll"
|
||||
"${SM_PROGRAM_DIR}/msvcr100.dll"
|
||||
@@ -461,7 +460,6 @@ if (WIN32)
|
||||
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/LIBPATH:\"${DIRECTX_LIBRARY_DIR}\"")
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/LIBPATH:\"${SM_EXTERN_DIR}/ffmpeg/lib\"")
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/LIBPATH:\"${SM_EXTERN_DIR}/libjpeg\"")
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/LIBPATH:\"${SM_EXTERN_DIR}/vorbis/win32\"")
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/LIBPATH:\"${SM_SRC_DIR}/archutils/Win32/ddk\"")
|
||||
sm_add_link_flag("${SM_EXE_NAME}" "/ERRORREPORT:SEND")
|
||||
@@ -614,7 +612,6 @@ if(NOT APPLE)
|
||||
if(MSVC)
|
||||
list(APPEND SM_INCLUDE_DIRS
|
||||
"${SM_EXTERN_DIR}/ffmpeg/include"
|
||||
"${SM_EXTERN_DIR}/libjpeg"
|
||||
)
|
||||
else()
|
||||
list(APPEND SM_INCLUDE_DIRS
|
||||
@@ -675,7 +672,6 @@ if(NOT APPLE)
|
||||
install(FILES "${SM_PROGRAM_DIR}/avcodec-53.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/avformat-53.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/avutil-51.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/jpeg.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/msvcp100.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/msvcp110.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
install(FILES "${SM_PROGRAM_DIR}/msvcr100.dll" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
|
||||
|
||||
@@ -7,28 +7,20 @@
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
extern "C" {
|
||||
#include "jpeglib.h"
|
||||
#include "jerror.h"
|
||||
}
|
||||
|
||||
#if defined(WIN32) && !defined(__MINGW32__)
|
||||
// work around namespace bugs in win32/libjpeg:
|
||||
#define XMD_H
|
||||
#undef FAR
|
||||
#include "jpeglib.h"
|
||||
#include "jerror.h"
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma comment(lib, "jpeg.lib")
|
||||
#pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */
|
||||
#endif
|
||||
|
||||
#else
|
||||
extern "C" {
|
||||
#if defined(MACOSX)
|
||||
#include <../extern/libjpeg/jpeglib.h>
|
||||
#include <../extern/libjpeg/jerror.h>
|
||||
#else
|
||||
#include "jpeglib.h"
|
||||
#include "jerror.h"
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
struct my_jpeg_error_mgr
|
||||
|
||||
@@ -12,19 +12,10 @@ namespace jpeg
|
||||
{
|
||||
extern "C"
|
||||
{
|
||||
#if defined(MACOSX)
|
||||
#include <../extern/libjpeg/jpeglib.h>
|
||||
#else
|
||||
#include "jpeglib.h"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// Pull in JPEG library here.
|
||||
#if defined _MSC_VER
|
||||
#pragma comment(lib, "jpeg.lib")
|
||||
#endif
|
||||
|
||||
#define OUTPUT_BUFFER_SIZE 4096
|
||||
typedef struct
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user