bugfix [#24040] loop select -> delete edge loop crashes blender
[blender.git] / CMakeLists.txt
index fedca9ba1ba8b42f44bf28bf20f47d328872e5b9..4966c1d0bf563083145251ea730c6e20213c28da 100644 (file)
@@ -55,19 +55,22 @@ PROJECT(Blender)
 SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
 SET(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib)
 
-# Note! - Could create this from the blender version string
-# ...but thats quite involved, make sure this matches the blender version.
-SET(BLENDER_VERSION  2.5)
+#-----------------------------------------------------------------------------
+# Load some macros.
+INCLUDE(build_files/cmake/macros.cmake)
 
 #-----------------------------------------------------------------------------
 # Set default config options
 
+GET_BLENDER_VERSION()
+
 # Blender internal features
 OPTION(WITH_INTERNATIONAL "Enable I18N   (International fonts and text)" ON)
 OPTION(WITH_LCMS          "Enable color correction with lcms" OFF)
 OPTION(WITH_PYTHON        "Enable Embedded Python API" ON)
 OPTION(WITH_BUILDINFO     "Include extra build details" ON)
-OPTION(WITH_ELBEEM        "Enable Elbeem (Fluid Simulation)" ON)
+OPTION(WITH_FLUID        "Enable Elbeem (Fluid Simulation)" ON)
+OPTION(WITH_IK_ITASC      "Enable ITASC IK solver" ON)
 OPTION(WITH_FFTW3         "Enable FFTW3 support (Used for smoke and audio effects)" OFF)
 OPTION(WITH_BULLET        "Enable Bullet (Physics Engine)" ON)
 OPTION(WITH_GAMEENGINE    "Enable Game Engine" ON)
@@ -80,10 +83,12 @@ ELSE()
 ENDIF()
 
 # Image format support
-OPTION(WITH_OPENEXR       "Enable OpenEXR Support (http://www.openexr.com)" ON)
-OPTION(WITH_OPENJPEG      "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
-OPTION(WITH_TIFF          "Enable LibTIFF Support" ON)
-OPTION(WITH_DDS           "Enable DDS Support" ON)
+OPTION(WITH_IMAGE_OPENEXR       "Enable OpenEXR Support (http://www.openexr.com)" ON)
+OPTION(WITH_IMAGE_OPENJPEG      "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
+OPTION(WITH_IMAGE_TIFF          "Enable LibTIFF Support" ON)
+OPTION(WITH_IMAGE_DDS           "Enable DDS Image Support" ON)
+OPTION(WITH_IMAGE_CINEON        "Enable CINEON and DPX Image Support" ON)
+OPTION(WITH_IMAGE_HDR           "Enable HDR Image Support" ON)
 
 # Audio format support
 OPTION(WITH_FFMPEG        "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu/)" OFF)
@@ -113,8 +118,9 @@ OPTION(WITH_LZMA          "Enable best LZMA compression, (used for pointcache)"
 OPTION(WITH_RAYOPTIMIZATION    "Enable use of SIMD (SSE) optimizations for the raytracer" ON) 
 OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking" OFF)
 OPTION(WITH_INSTALL       "Install accompanying scripts and language files needed to run blender" ON)
+OPTION(WITH_PYTHON_INSTALL       "Copy system python into the blender install folder" ON)
 
-IF (APPLE)
+IF(APPLE)
        OPTION(WITH_COCOA         "Use Cocoa framework instead of deprecated Carbon" ON)
        OPTION(USE_QTKIT          "Use QtKit instead of Carbon quicktime (needed for having partial quicktime for 64bit)" OFF)
        OPTION(WITH_LIBS10.5  "Use 10.5 libs (needed for 64bit builds)" OFF)
@@ -128,6 +134,12 @@ IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
        MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
 ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
 
+IF(NOT WITH_INSTALL AND WITH_PYTHON_INSTALL)
+       MESSAGE("WARNING: WITH_PYTHON_INSTALL needs WITH_INSTALL")
+ENDIF(NOT WITH_INSTALL AND WITH_PYTHON_INSTALL)
+
+TEST_SSE_SUPPORT()
+
 # disabled for now, not supported
 # OPTION(WITH_WEBPLUGIN     "Enable Web Plugin (Unix only)" OFF)
 
@@ -139,10 +151,6 @@ ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
 #
 # When changing any of this remember to update the notes in doc/blender-cmake.txt
 
-#-----------------------------------------------------------------------------
-# Load some macros.
-INCLUDE(CMake/macros.cmake)
-
 #-----------------------------------------------------------------------------
 #Platform specifics
 
@@ -215,7 +223,7 @@ IF(UNIX AND NOT APPLE)
                ENDIF(NOT SDL_FOUND)
        ENDIF(WITH_SDL)
 
-       IF(WITH_OPENEXR)
+       IF(WITH_IMAGE_OPENEXR)
                SET(OPENEXR /usr CACHE FILEPATH "OPENEXR Directory")
                FIND_PATH(OPENEXR_INC
                        ImfXdr.h
@@ -228,14 +236,18 @@ IF(UNIX AND NOT APPLE)
                        /opt/include/OpenEXR
                )
                SET(OPENEXR_LIB Half IlmImf Iex Imath)
-       ENDIF(WITH_OPENEXR)
+               
+               IF(NOT OPENEXR_INC)
+                       SET(WITH_IMAGE_OPENEXR OFF)
+               ENDIF(NOT OPENEXR_INC)
+       ENDIF(WITH_IMAGE_OPENEXR)
 
-       IF(WITH_TIFF)
+       IF(WITH_IMAGE_TIFF)
                FIND_PACKAGE(TIFF)
                IF(NOT TIFF_FOUND)
-                       SET(WITH_TIFF OFF)
+                       SET(WITH_IMAGE_TIFF OFF)
                ENDIF(NOT TIFF_FOUND)
-       ENDIF(WITH_TIFF)
+       ENDIF(WITH_IMAGE_TIFF)
 
        FIND_PACKAGE(JPEG REQUIRED)
 
@@ -255,6 +267,7 @@ IF(UNIX AND NOT APPLE)
                SET(FFMPEG_INC ${FFMPEG}/include)
                SET(FFMPEG_LIB avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
                SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
        ENDIF(WITH_FFMPEG)
 
        IF(WITH_FFTW3)
@@ -282,13 +295,13 @@ IF(UNIX AND NOT APPLE)
                SET(EXPAT_LIB expat)
        ENDIF (WITH_OPENCOLLADA)
 
+       FIND_PACKAGE(X11 REQUIRED)
 
-       # Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
-       SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
+       SET(LLIBS "-lutil -lc -lm -lpthread -lstdc++ ${X11_X11_LIB} ${X11_Xinput_LIB}")
 
        IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
                # BSD's dont use libdl.so
-               SET(LLIBS "${LLIBS} -ldl")
+               LIST(APPEND LLIBS -ldl)
 
                # binreloc is linux only
                SET(BINRELOC ${CMAKE_SOURCE_DIR}/extern/binreloc)
@@ -296,17 +309,13 @@ IF(UNIX AND NOT APPLE)
        ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 
        IF(WITH_OPENMP)
-               SET(LLIBS "${LLIBS} -lgomp")
+               LIST(APPEND LLIBS -lgomp)
                SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
                SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
        ENDIF(WITH_OPENMP)
 
 
-       SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-char-subscripts")
-
-       IF(WITH_RAYOPTIMIZATION)
-               SET(PLATFORM_CFLAGS " -msse ${PLATFORM_CFLAGS}")
-       ENDIF(WITH_RAYOPTIMIZATION)
+       SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
 
        SET(PLATFORM_LINKFLAGS "-pthread")
 
@@ -355,15 +364,6 @@ IF(WIN32)
 
        SET(WINTAB_INC ${LIBDIR}/wintab/include) 
 
-       IF(WITH_PYTHON)
-               SET(PYTHON ${LIBDIR}/python)
-               SET(PYTHON_VERSION 3.1)
-               SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
-               # SET(PYTHON_BINARY python) # not used yet
-               SET(PYTHON_LIB python31)
-               SET(PYTHON_LIBPATH ${PYTHON}/lib)
-       ENDIF(WITH_PYTHON)
-
        IF(WITH_OPENAL)
                SET(OPENAL ${LIBDIR}/openal)
                SET(OPENAL_INCLUDE_DIR ${OPENAL}/include)
@@ -392,6 +392,10 @@ IF(WIN32)
                SET(QUICKTIME_LIBPATH ${QUICKTIME}/Libraries)
        ENDIF(WITH_QUICKTIME)
 
+       IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
+               ADD_DEFINITIONS(-D__SSE__ -D__MMX__)
+       ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
+
        IF(MSVC)
                IF(CMAKE_CL_64)
                        SET(LLIBS kernel32 user32 vfw32 winmm ws2_32 )
@@ -402,11 +406,19 @@ IF(WIN32)
                SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE)
                SET(CMAKE_C_FLAGS   "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE)
 
-               SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
+               IF(CMAKE_CL_64)
+                       SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
+               ELSE(CMAKE_CL_64)
+                       SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
+               ENDIF(CMAKE_CL_64)
                SET(CMAKE_CXX_FLAGS_RELEASE "/O2 /Ob2 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
                SET(CMAKE_CXX_FLAGS_MINSIZEREL "/O1 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
                SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/O2 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
-               SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
+               IF(CMAKE_CL_64)
+                       SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
+               ELSE(CMAKE_CL_64)
+                       SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
+               ENDIF(CMAKE_CL_64)
                SET(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
                SET(CMAKE_C_FLAGS_MINSIZEREL "/O1 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
                SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/O2 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
@@ -471,7 +483,7 @@ IF(WIN32)
                        SET(PCRE_LIB pcre)
                ENDIF(WITH_OPENCOLLADA)
                
-        # TODO: IF(WITH_LCMS)
+               # TODO: IF(WITH_LCMS)
         
                IF(WITH_FFMPEG)
                        SET(FFMPEG ${LIBDIR}/ffmpeg)
@@ -480,7 +492,7 @@ IF(WIN32)
                        SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
                ENDIF(WITH_FFMPEG)
 
-               IF(WITH_OPENEXR)
+               IF(WITH_IMAGE_OPENEXR)
                        SET(OPENEXR ${LIBDIR}/openexr)
                        SET(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/IlmImf ${OPENEXR}/include/Iex ${OPENEXR}/include/Imath)
                        SET(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
@@ -492,14 +504,14 @@ IF(WIN32)
                        IF (MSVC90)
                                SET(OPENEXR_LIBPATH ${OPENEXR}/lib_vs2008)
                        ENDIF(MSVC90)
-               ENDIF(WITH_OPENEXR)
+               ENDIF(WITH_IMAGE_OPENEXR)
 
-               IF(WITH_TIFF)
+               IF(WITH_IMAGE_TIFF)
                        SET(TIFF ${LIBDIR}/tiff)
                        SET(TIFF_LIBRARY libtiff)
                        SET(TIFF_INCLUDE_DIR ${TIFF}/include)
                        SET(TIFF_LIBPATH ${TIFF}/lib)
-               ENDIF(WITH_TIFF)
+               ENDIF(WITH_IMAGE_TIFF)
 
                IF(WITH_JACK)
                        SET(JACK ${LIBDIR}/jack)
@@ -508,6 +520,15 @@ IF(WIN32)
                        SET(JACK_LIBPATH ${JACK}/lib)
                ENDIF(WITH_JACK)
 
+               IF(WITH_PYTHON)
+                       SET(PYTHON ${LIBDIR}/python)
+                       SET(PYTHON_VERSION 3.1)
+                       SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
+                       # SET(PYTHON_BINARY python) # not used yet
+                       SET(PYTHON_LIB python31)
+                       SET(PYTHON_LIBPATH ${PYTHON}/lib)
+               ENDIF(WITH_PYTHON)
+
                # MSVC only, Mingw doesnt need
                IF(CMAKE_CL_64)
                        SET(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib;MSVCRT.lib ")
@@ -519,19 +540,12 @@ IF(WIN32)
 
        ELSE(MSVC) # MINGW
                SET(LLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid")
+               SET(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
 
-               SET(CMAKE_CXX_FLAGS                "-pipe -funsigned-char -fno-strict-aliasing -mwindows" CACHE STRING "Mingw C++ flags ")
-               SET(CMAKE_C_FLAGS                  "-pipe -funsigned-char -fno-strict-aliasing" CACHE STRING "Mingw C flags ")
-
-               SET(CMAKE_CXX_FLAGS_DEBUG          "-O0 -g" CACHE STRING "Mingw debug C++ flags ")
-               SET(CMAKE_CXX_FLAGS_RELEASE        "   -O2" CACHE STRING "Mingw release C++ flags ")
-               SET(CMAKE_CXX_FLAGS_MINSIZEREL     "   -Os" CACHE STRING "Mingw minsize release C++ flags ")
-               SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" CACHE STRING "Mingw release, debug C++ flags ")
+               # Better warnings
+               SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wdeclaration-after-statement -Wno-unknown-pragmas")
+               SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
 
-               SET(CMAKE_C_FLAGS_DEBUG            "-O0 -g" CACHE STRING "Mingw debug C flags ")
-               SET(CMAKE_C_FLAGS_RELEASE          "-O2"    CACHE STRING "Mingw release C flags ")
-               SET(CMAKE_C_FLAGS_MINSIZEREL       "-Os"    CACHE STRING "Mingw minsize release C flags ")
-               SET(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g" CACHE STRING "Mingw release, debug C++ flags ")
                ADD_DEFINITIONS(-DFREE_WINDOWS)
                
                IF(WITH_OPENMP)
@@ -547,7 +561,7 @@ IF(WIN32)
                        SET(GETTEXT_LIB intl)
                ENDIF(WITH_INTERNATIONAL)
 
-               SET(JPEG_LIBRARY jpeg)
+               SET(JPEG_LIBRARY libjpeg)
                SET(PNG_LIBRARIES png)
 
                SET(ZLIB ${LIBDIR}/zlib)
@@ -590,19 +604,22 @@ IF(WIN32)
                        SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
                ENDIF(WITH_FFMPEG)
 
-               IF(WITH_OPENEXR)
+               IF(WITH_IMAGE_OPENEXR)
                        SET(OPENEXR ${LIBDIR}/gcc/openexr)
                        SET(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/OpenEXR)
-                       SET(OPENEXR_LIB Half IlmImf Iex)
+                       SET(OPENEXR_LIB Half IlmImf Imath IlmThread)
                        SET(OPENEXR_LIBPATH ${OPENEXR}/lib)
-               ENDIF(WITH_OPENEXR)
 
-               IF(WITH_TIFF)
+                       # TODO, gives linking errors, force off
+                       SET(WITH_IMAGE_OPENEXR OFF)
+               ENDIF(WITH_IMAGE_OPENEXR)
+
+               IF(WITH_IMAGE_TIFF)
                        SET(TIFF ${LIBDIR}/gcc/tiff)
                        SET(TIFF_LIBRARY tiff)
                        SET(TIFF_INCLUDE_DIR ${TIFF}/include)
                        SET(TIFF_LIBPATH ${TIFF}/lib)
-               ENDIF(WITH_TIFF)
+               ENDIF(WITH_IMAGE_TIFF)
 
                IF(WITH_JACK)
                        SET(JACK ${LIBDIR}/jack)
@@ -614,6 +631,15 @@ IF(WIN32)
                        SET(WITH_JACK OFF)
                ENDIF(WITH_JACK)
 
+               IF(WITH_PYTHON)
+                       SET(PYTHON ${LIBDIR}/python)
+                       SET(PYTHON_VERSION 3.1)
+                       SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
+                       # SET(PYTHON_BINARY python) # not used yet
+                       SET(PYTHON_LIB python31mw)
+                       SET(PYTHON_LIBPATH ${PYTHON}/lib)
+               ENDIF(WITH_PYTHON)
+
        ENDIF(MSVC)
 
 ENDIF(WIN32)
@@ -704,20 +730,26 @@ IF(APPLE)
        SET(FREETYPE_LIBPATH ${FREETYPE}/lib)
        SET(FREETYPE_LIBRARY freetype)
 
-       IF(WITH_OPENEXR)
+       IF(WITH_IMAGE_OPENEXR)
                SET(OPENEXR ${LIBDIR}/openexr)
                SET(OPENEXR_INC ${OPENEXR}/include/OpenEXR ${OPENEXR}/include)
                SET(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
                SET(OPENEXR_LIBPATH ${OPENEXR}/lib)
-       ENDIF(WITH_OPENEXR)
+       ENDIF(WITH_IMAGE_OPENEXR)
 
-    # TODO: IF(WITH_LCMS)
+       IF(WITH_LCMS)
+               SET(LCMS ${LIBDIR}/lcms)
+               SET(LCMS_INCLUDE_DIR ${LCMS}/include)
+               SET(LCMS_LIBRARY lcms)
+               SET(LCMS_LIBPATH ${LCMS}/lib)
+       ENDIF(WITH_LCMS)
 
        IF(WITH_FFMPEG)
                SET(FFMPEG ${LIBDIR}/ffmpeg)
                SET(FFMPEG_INC ${FFMPEG}/include)
                SET(FFMPEG_LIB avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg)
                SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
        ENDIF(WITH_FFMPEG)
 
        SET(LIBSAMPLERATE ${LIBDIR}/samplerate)
@@ -781,12 +813,12 @@ IF(APPLE)
        SET(JPEG_INC "${JPEG}/include")
        SET(JPEG_LIBPATH ${JPEG}/lib)
 
-       IF(WITH_TIFF)
+       IF(WITH_IMAGE_TIFF)
                SET(TIFF ${LIBDIR}/tiff)
                SET(TIFF_INCLUDE_DIR ${TIFF}/include)
                SET(TIFF_LIBRARY tiff)
                SET(TIFF_LIBPATH ${TIFF}/lib)
-       ENDIF(WITH_TIFF)
+       ENDIF(WITH_IMAGE_TIFF)
 
        SET(EXETYPE MACOSX_BUNDLE)
 
@@ -831,14 +863,30 @@ IF(WITH_BUILDINFO)
                ENDIF(BUILD_REV_RETURN)
        ENDIF(WIN32)
 ENDIF(WITH_BUILDINFO)
-       
 #-----------------------------------------------------------------------------
 # Common.
-IF(WITH_OPENJPEG)
+
+IF(WITH_RAYOPTIMIZATION)
+       IF(CMAKE_COMPILER_IS_GNUCC)
+               IF(SUPPORT_SSE_BUILD)
+                       SET(PLATFORM_CFLAGS " -msse ${PLATFORM_CFLAGS}")
+                       ADD_DEFINITIONS(-D__SSE__ -D__MMX__)
+               ENDIF(SUPPORT_SSE_BUILD)
+               IF(SUPPORT_SSE2_BUILD)
+                       SET(PLATFORM_CFLAGS " -msse2 ${PLATFORM_CFLAGS}")
+                       ADD_DEFINITIONS(-D__SSE2__)
+                       IF(NOT SUPPORT_SSE_BUILD) # dont double up
+                               ADD_DEFINITIONS(-D__MMX__)
+                       ENDIF(NOT SUPPORT_SSE_BUILD)
+               ENDIF(SUPPORT_SSE2_BUILD)
+       ENDIF(CMAKE_COMPILER_IS_GNUCC)
+ENDIF(WITH_RAYOPTIMIZATION)
+
+IF(WITH_IMAGE_OPENJPEG)
        set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
        set(OPENJPEG_INC ${OPENJPEG})
-       set(OPENJPEG_LIb extern_libopenjpeg)
-ENDIF(WITH_OPENJPEG)
+       set(OPENJPEG_LIb extern_openjpeg)
+ENDIF(WITH_IMAGE_OPENJPEG)
 
 #-----------------------------------------------------------------------------
 # Blender WebPlugin