Libraries upgrade:
[blender.git] / CMakeLists.txt
index c95509b..d419317 100644 (file)
@@ -1,5 +1,4 @@
 # -*- mode: cmake; indent-tabs-mode: t; -*-
-# $Id$
 # ***** BEGIN GPL LICENSE BLOCK *****
 #
 # This program is free software; you can redistribute it and/or
@@ -149,7 +148,7 @@ else()
 endif()
 
 if(UNIX AND NOT APPLE)
-       option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support)"     ON)
+       option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)"   ON)
        option(WITH_BUILTIN_GLEW "Use GLEW OpenGL wrapper library bundled with blender" ON)
 else()
        # not an option for other OS's
@@ -189,7 +188,6 @@ option(WITH_OPENCOLLADA             "Enable OpenCollada Support (http://www.opencollada.org
 option(WITH_SDL           "Enable SDL for sound and joystick support" ON)
 option(WITH_OPENAL        "Enable OpenAL Support (http://www.openal.org)" ON)
 option(WITH_JACK          "Enable Jack Support (http://www.jackaudio.org)" OFF)
-option(WITH_SAMPLERATE    "Enable samplerate conversion" ON)
 
 # Compression
 option(WITH_LZO           "Enable fast LZO compression (used for pointcache)" ON)
@@ -214,6 +212,7 @@ mark_as_advanced(WITH_CXX_GUARDEDALLOC)
 option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" OFF)
 mark_as_advanced(WITH_ASSERT_ABORT)
 
+
 if(APPLE)
        if(NOT CMAKE_OSX_ARCHITECTURES)
                set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING
@@ -273,7 +272,7 @@ if(WITH_PYTHON_MODULE)
        set(WITH_HEADLESS ON)
 endif()
 
-TEST_SSE_SUPPORT()
+TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG)
 
 # don't store paths to libs for portable distrobution
 if(WITH_INSTALL_PORTABLE)
@@ -287,7 +286,7 @@ endif()
 set(WITH_BINRELOC OFF)
 
 # MAXOSX only, set to avoid uninitialized
-set(EXETYPE)
+set(EXETYPE "")
 
 # C/C++ flags
 set(PLATFORM_CFLAGS)
@@ -298,13 +297,13 @@ set(CXX_WARNINGS)
 
 # libraries to link the binary with passed to target_link_libraries()
 # known as LLIBS to scons
-set(PLATFORM_LINKLIBS)
+set(PLATFORM_LINKLIBS "")
 
 # Added to linker flags in setup_liblinks
 # - CMAKE_EXE_LINKER_FLAGS
 # - CMAKE_EXE_LINKER_FLAGS_DEBUG
-set(PLATFORM_LINKFLAGS)
-set(PLATFORM_LINKFLAGS_DEBUG)
+set(PLATFORM_LINKFLAGS "")
+set(PLATFORM_LINKFLAGS_DEBUG "")
 
 
 # disabled for now, not supported
@@ -436,7 +435,7 @@ if(UNIX AND NOT APPLE)
                )
 
                if(INTL_LIBRARY AND ICONV_LIBRARY)
-                       set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
+                       set(GETTEXT_LIBRARIES ${INTL_LIBRARY} ${ICONV_LIBRARY})
                endif()
        endif()
 
@@ -447,13 +446,6 @@ if(UNIX AND NOT APPLE)
                endif()
        endif()
 
-       if(WITH_SAMPLERATE)
-               find_package(Samplerate)
-               if(NOT SAMPLERATE_FOUND)
-                       set(WITH_SAMPLERATE OFF)
-               endif()
-       endif()
-
        if(WITH_OPENCOLLADA)
                find_package(OpenCOLLADA)
                if(OPENCOLLADA_FOUND)
@@ -565,13 +557,6 @@ elseif(WIN32)
                set(ICONV_LIBPATH ${ICONV}/lib)
        endif()
 
-       if(WITH_SAMPLERATE)
-               set(SAMPLERATE ${LIBDIR}/samplerate)
-               set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
-               set(SAMPLERATE_LIBRARIES libsamplerate)
-               set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
-       endif()
-
        set(PNG "${LIBDIR}/png")
        set(PNG_INCLUDE_DIR "${PNG}/include")
        set(PNG_LIBPATH ${PNG}/lib) # not cmake defined
@@ -645,9 +630,9 @@ elseif(WIN32)
 
                if(WITH_INTERNATIONAL)
                        set(GETTEXT ${LIBDIR}/gettext)
-                       set(GETTEXT_INC ${GETTEXT}/include)
+                       set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include)
                        set(GETTEXT_LIBPATH ${GETTEXT}/lib)
-                       set(GETTEXT_LIB gnu_gettext)
+                       set(GETTEXT_LIBRARIES gnu_gettext)
                endif()
 
                if(CMAKE_CL_64)
@@ -745,7 +730,7 @@ elseif(WIN32)
                        set(OPENEXR_INCUDE ${OPENEXR}/include${MSVC_INC})
                        set(OPENEXR_INCLUDE_DIRS
                                ${OPENEXR_INCUDE}
-                               ${OPENEXR_INCUDE}/IlmImf
+                               ${OPENEXR_INCUDE}/IlmImf
                                ${OPENEXR_INCUDE}/Iex
                                ${OPENEXR_INCUDE}/Imath
                        )
@@ -789,7 +774,7 @@ elseif(WIN32)
                set(PLATFORM_LINKFLAGS_DEBUG "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
 
        else()
-               # keep GCC spesific stuff here
+               # keep GCC specific stuff here
                if(CMAKE_COMPILER_IS_GNUCC)
                        set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32")
                        set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
@@ -804,9 +789,9 @@ elseif(WIN32)
 
                if(WITH_INTERNATIONAL)
                        set(GETTEXT ${LIBDIR}/gcc/gettext)
-                       set(GETTEXT_INC ${GETTEXT}/include)
+                       set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include)
                        set(GETTEXT_LIBPATH ${GETTEXT}/lib)
-                       set(GETTEXT_LIB intl)
+                       set(GETTEXT_LIBRARIES intl)
                endif()
 
                set(JPEG_LIBRARIES libjpeg)
@@ -956,8 +941,8 @@ elseif(APPLE)
 
        if(WITH_INTERNATIONAL)
                set(GETTEXT ${LIBDIR}/gettext)
-               set(GETTEXT_INC "${GETTEXT}/include")
-               set(GETTEXT_LIB intl iconv)
+               set(GETTEXT_INCLUDE_DIRS "${GETTEXT}/include")
+               set(GETTEXT_LIBRARIES intl iconv)
                set(GETTEXT_LIBPATH ${GETTEXT}/lib)
        endif()
 
@@ -995,13 +980,6 @@ elseif(APPLE)
                set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
        endif()
 
-       if(WITH_SAMPLERATE)
-               set(SAMPLERATE ${LIBDIR}/samplerate)
-               set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
-               set(SAMPLERATE_LIBRARIES samplerate)
-               set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
-       endif()
-
        find_library(SYSTEMSTUBS_LIBRARY
                NAMES
                SystemStubs
@@ -1105,11 +1083,11 @@ elseif(APPLE)
        set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g")
        set(CMAKE_CXX_FLAGS_DEBUG "-fno-strict-aliasing -g")
        if(CMAKE_OSX_ARCHITECTURES MATCHES "i386")
-               set(CMAKE_CXX_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
-               set(CMAKE_C_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
+               set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
+               set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -fvariable-expansion-in-unroller")
        elseif(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
-               set(CMAKE_CXX_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
-               set(CMAKE_C_FLAGS_RELEASE "-O3 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
+               set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
+               set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller")
        else()
                set(CMAKE_C_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
                set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
@@ -1128,34 +1106,17 @@ endif()
 # See TEST_SSE_SUPPORT() for how this is defined.
 
 if(WITH_RAYOPTIMIZATION)
-       if(CMAKE_COMPILER_IS_GNUCC)
-               set(_sse "-msse")
-               set(_sse2 "-msse2")
-       elseif(MSVC)
-               set(_sse "/arch:SSE")
-               set(_sse2 "/arch:SSE2")
-       elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
-               set(_sse)  # icc only has sse2
-               set(_sse2 "-xSSE2")             
-       else()
-               message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known")
-               set(_sse)
-               set(_sse2)
-       endif()
-
        if(SUPPORT_SSE_BUILD)
-               set(PLATFORM_CFLAGS " ${_sse} ${PLATFORM_CFLAGS}")
+               set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}")
                add_definitions(-D__SSE__ -D__MMX__)
        endif()
        if(SUPPORT_SSE2_BUILD)
-               set(PLATFORM_CFLAGS " ${_sse2} ${PLATFORM_CFLAGS}")
+               set(PLATFORM_CFLAGS " ${COMPILER_SSE2_FLAG} ${PLATFORM_CFLAGS}")
                add_definitions(-D__SSE2__)
                if(NOT SUPPORT_SSE_BUILD) # dont double up
                        add_definitions(-D__MMX__)
                endif()
        endif()
-       unset(_sse)
-       unset(_sse2)
 endif()
 
 
@@ -1310,6 +1271,10 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof)
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare)
 
+       # disable numbered, false positives
+       set(C_WARNINGS "${C_WARNINGS} -wd188,186,144,913,556")
+       set(CXX_WARNINGS "${CXX_WARNINGS} -wd188,186,144,913,556")
+
 endif()
 
 # MSVC2010 fails to links C++ libs right
@@ -1449,7 +1414,6 @@ if(FIRST_RUN)
        info_cfg_option(WITH_JACK)
        info_cfg_option(WITH_CODEC_FFMPEG)
        info_cfg_option(WITH_CODEC_SNDFILE)
-       info_cfg_option(WITH_SAMPLERATE)
 
        info_cfg_text("Compression:")
        info_cfg_option(WITH_LZMA)