~ubuntu-branches/ubuntu/trusty/blender/trusty-proposed

« back to all changes in this revision

Viewing changes to .pc/0008-look_for_droid_ttf_with_fontconfig.patch/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2013-08-14 10:43:49 UTC
  • mfrom: (14.2.19 sid)
  • Revision ID: package-import@ubuntu.com-20130814104349-t1d5mtwkphp12dyj
Tags: 2.68a-3
* Upload to unstable
* debian/: python3.3 Depends simplified
  - debian/control: python3.3 Depends dropped
    for blender-data package
  - 0001-blender_thumbnailer.patch refreshed
* debian/control: libavcodec b-dep versioning dropped

Show diffs side-by-side

added added

removed removed

Lines of Context:
118
118
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
119
119
 
120
120
option(WITH_PYTHON        "Enable Embedded Python API  (only disable for development)" ON)
121
 
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default (recommend to leave off)" OFF)
 
121
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON) 
122
122
mark_as_advanced(WITH_PYTHON)  # dont want people disabling this unless they really know what they are doing.
123
123
mark_as_advanced(WITH_PYTHON_SECURITY)  # some distributions see this as a security issue, rather than have them patch it, make a build option.
 
124
set(WITH_PYTHON_SECURITY ON CACHE BOOL "ON" FORCE) # temp force on. 
124
125
 
125
126
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development)." OFF)
126
127
option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development)" OFF)
 
128
if(APPLE)
 
129
        option(WITH_PYTHON_FRAMEWORK "Enable building using the Python available in the framework (OSX only)" OFF)
 
130
endif()
 
131
 
127
132
option(WITH_BUILDINFO     "Include extra build details (only disable for development & faster builds)" ON)
128
133
option(WITH_IK_ITASC      "Enable ITASC IK solver (only disable for development & for incompatible C++ compilers)" ON)
129
134
option(WITH_IK_SOLVER     "Enable Legacy IK solver (only disable for development)" ON)
153
158
option(WITH_BOOL_COMPAT "Continue defining \"TRUE\" and \"FALSE\" until these can be replaced with \"true\" and \"false\" from stdbool.h" ON)
154
159
mark_as_advanced(WITH_BOOL_COMPAT)
155
160
 
156
 
 
157
161
# (unix defaults to OpenMP On)
158
162
if((UNIX AND NOT APPLE) OR (MINGW))
159
163
        set(PLATFORM_DEFAULT ON)
225
229
option(WITH_SDL           "Enable SDL for sound and joystick support" ON)
226
230
option(WITH_OPENAL        "Enable OpenAL Support (http://www.openal.org)" ON)
227
231
option(WITH_JACK          "Enable Jack Support (http://www.jackaudio.org)" OFF)
 
232
if(UNIX AND NOT APPLE)
 
233
        option(WITH_JACK_DYNLOAD  "Enable runtime dynamic Jack libraries loading" OFF)
 
234
endif()
228
235
 
229
236
# Compression
230
237
option(WITH_LZO           "Enable fast LZO compression (used for pointcache)" ON)
233
240
# Camera/motion tracking
234
241
option(WITH_LIBMV         "Enable libmv structure from motion library" ON)
235
242
 
 
243
# Freestyle
 
244
option(WITH_FREESTYLE     "Enable Freestyle (advanced edges rendering)" ON)
 
245
 
236
246
# Misc
237
247
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
238
248
option(WITH_RAYOPTIMIZATION     "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
239
249
if(UNIX AND NOT APPLE)
240
250
        option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
241
251
        option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF)
 
252
        if(WITH_STATIC_LIBS)
 
253
                option(WITH_BOOST_ICU "Boost uses ICU library (required for linking with static Boost built with libicu)." OFF)
 
254
                mark_as_advanced(WITH_BOOST_ICU)
 
255
        endif()
242
256
endif()
243
257
option(WITH_PYTHON_INSTALL       "Copy system python into the blender install folder" ON)
244
258
option(WITH_PYTHON_INSTALL_NUMPY "Copy system numpy into the blender install folder"  ON)
250
264
option(WITH_CYCLES_TEST                         "Build cycles test application" OFF)
251
265
option(WITH_CYCLES_OSL                          "Build Cycles with OSL support" OFF)
252
266
option(WITH_CYCLES_CUDA_BINARIES        "Build cycles CUDA binaries" OFF)
253
 
set(CYCLES_CUDA_BINARIES_ARCH sm_13 sm_20 sm_21 sm_30 CACHE STRING "CUDA architectures to build binaries for")
 
267
set(CYCLES_CUDA_BINARIES_ARCH sm_20 sm_21 sm_30 sm_35 CACHE STRING "CUDA architectures to build binaries for")
254
268
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
255
269
unset(PLATFORM_DEFAULT)
256
270
 
257
271
# LLVM
258
272
option(WITH_LLVM                                        "Use LLVM" OFF)
 
273
option(LLVM_STATIC                                      "Link with LLVM static libraries" ON)
 
274
mark_as_advanced(LLVM_STATIC)
259
275
 
260
276
# disable for now, but plan to support on all platforms eventually
261
277
option(WITH_MEM_JEMALLOC   "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF)
265
281
option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF)
266
282
mark_as_advanced(WITH_CXX_GUARDEDALLOC)
267
283
 
 
284
option(WITH_GUARDEDALLOC "Enable GuardedAlloc (DISABLE AT OWN RISK!)" ON)
 
285
mark_as_advanced(WITH_GUARDEDALLOC)
 
286
 
268
287
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" OFF)
269
288
mark_as_advanced(WITH_ASSERT_ABORT)
270
289
 
271
290
option(WITH_BOOST                                       "Enable features depending no boost" ON)
272
291
 
 
292
if(CMAKE_COMPILER_IS_GNUCC)
 
293
        option(WITH_GCC_MUDFLAP                 "Enable mudflap" OFF)
 
294
        mark_as_advanced(WITH_GCC_MUDFLAP)
 
295
endif()
273
296
 
274
297
if(APPLE)
275
298
        cmake_minimum_required(VERSION 2.8.8)
282
305
        endif()
283
306
        
284
307
        execute_process(COMMAND uname -r OUTPUT_VARIABLE MAC_SYS) # check for actual system-version
285
 
        if (${MAC_SYS} MATCHES 12)
 
308
        if(${MAC_SYS} MATCHES 12)
286
309
                set(OSX_SYSTEM 10.8)
287
 
        elseif (${MAC_SYS} MATCHES 11)
 
310
        elseif(${MAC_SYS} MATCHES 11)
288
311
                set(OSX_SYSTEM 10.7)
289
312
        elseif(${MAC_SYS} MATCHES 10)
290
313
                set(OSX_SYSTEM 10.6)
335
358
                # force CMAKE_OSX_DEPLOYMENT_TARGET for makefiles, will not work else ( cmake bug ? )
336
359
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
337
360
                set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
338
 
                add_definitions ("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
 
361
                add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
339
362
        endif()
340
363
 
341
364
        option(WITH_COCOA         "Use Cocoa framework instead of deprecated Carbon" ON)
393
416
        set(WITH_HEADLESS ON)
394
417
endif()
395
418
 
396
 
# auto enable openimageio for cycles
397
 
if(WITH_CYCLES)
398
 
        set(WITH_OPENIMAGEIO ON)
399
 
endif()
400
 
 
401
419
# enable boost for cycles, booleans, audaspace or i18n
402
420
# otherwise if the user disabled
403
421
if(NOT WITH_BOOST)
404
422
        # Explicitly disabled. so disable all deps.
405
 
        set(WITH_CYCLES         OFF)
406
 
        set(WITH_MOD_BOOLEAN    OFF)
407
 
        set(WITH_AUDASPACE      OFF)
408
 
        set(WITH_INTERNATIONAL  OFF)
409
 
 
410
 
        set(WITH_OPENAL         OFF)  # depends on AUDASPACE
411
 
        set(WITH_GAMEENGINE     OFF)  # depends on AUDASPACE
 
423
        macro(set_and_warn
 
424
                _setting _val)
 
425
                if(${${_setting}})
 
426
                        message(STATUS "'WITH_BOOST' is disabled: forceing 'set(${_setting} ${_val})'")
 
427
                endif()
 
428
                set(${_setting} ${_val})
 
429
        endmacro()
 
430
 
 
431
        set_and_warn(WITH_CYCLES         OFF)
 
432
        set_and_warn(WITH_MOD_BOOLEAN    OFF)
 
433
        set_and_warn(WITH_AUDASPACE      OFF)
 
434
        set_and_warn(WITH_INTERNATIONAL  OFF)
 
435
 
 
436
        set_and_warn(WITH_OPENAL         OFF)  # depends on AUDASPACE
 
437
        set_and_warn(WITH_GAMEENGINE     OFF)  # depends on AUDASPACE
412
438
elseif(WITH_CYCLES OR WITH_MOD_BOOLEAN OR WITH_AUDASPACE OR WITH_INTERNATIONAL)
413
439
        # Keep enabled
414
440
else()
416
442
        set(WITH_BOOST OFF)
417
443
endif()
418
444
 
 
445
# auto enable openimageio for cycles
 
446
if(WITH_CYCLES)
 
447
        set(WITH_OPENIMAGEIO ON)
 
448
endif()
 
449
 
 
450
# auto enable openimageio linking dependencies
 
451
if(WITH_OPENIMAGEIO)
 
452
        set(WITH_IMAGE_OPENEXR ON)
 
453
        set(WITH_IMAGE_TIFF ON)
 
454
endif()
 
455
 
419
456
# auto enable llvm for cycles_osl
420
457
if(WITH_CYCLES_OSL)
421
458
        set(WITH_LLVM ON CACHE BOOL "ON" FORCE)
524
561
 
525
562
if(UNIX AND NOT APPLE)
526
563
        macro(find_package_wrapper)
527
 
                STRING(TOUPPER ${ARGV0} _NAME_UPPER)
528
 
                if(${WITH_STATIC_LIBS})
 
564
                string(TOUPPER ${ARGV0} _NAME_UPPER)
 
565
                if(WITH_STATIC_LIBS)
529
566
                        set(_cmake_find_library_suffixes_back ${CMAKE_FIND_LIBRARY_SUFFIXES})
530
567
                        set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
531
568
                endif()
532
569
                find_package(${ARGV})
533
 
                if(${WITH_STATIC_LIBS})
 
570
                if(WITH_STATIC_LIBS)
534
571
                        set(CMAKE_FIND_LIBRARY_SUFFIXES ${_cmake_find_library_suffixes_back})
535
572
                        unset(_cmake_find_library_suffixes_back)
536
573
                endif()
654
691
                endif()
655
692
        endif()
656
693
 
657
 
        if (WITH_INPUT_NDOF)
 
694
        if(WITH_INPUT_NDOF)
658
695
                find_package_wrapper(Spacenav)
659
696
                if(NOT SPACENAV_FOUND)
660
697
                        set(WITH_INPUT_NDOF OFF)
670
707
        if(WITH_BOOST)
671
708
                # uses in build instructions to override include and library variables
672
709
                if(NOT BOOST_CUSTOM)
673
 
                        if(${WITH_STATIC_LIBS})
 
710
                        if(WITH_STATIC_LIBS)
674
711
                                set(Boost_USE_STATIC_LIBS ON)
675
712
                        endif()
676
713
                        set(Boost_USE_MULTITHREADED ON)
677
714
                        set(__boost_packages filesystem regex system thread date_time)
678
 
                        if (WITH_INTERNATIONAL)
 
715
                        if(WITH_INTERNATIONAL)
679
716
                                list(APPEND __boost_packages locale)
680
717
                        endif()
681
718
                        find_package(Boost 1.48 COMPONENTS ${__boost_packages})
682
 
                        if(Boost_USE_STATIC_LIBS AND Boost_USE_ICU)
 
719
                        unset(__boost_packages)
 
720
                        if(Boost_USE_STATIC_LIBS AND WITH_BOOST_ICU)
683
721
                                find_package(IcuLinux)
684
722
                        endif()
685
723
                        mark_as_advanced(Boost_DIR)  # why doesnt boost do this?
696
734
 
697
735
                set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES})
698
736
                set(OPENIMAGEIO_LIBPATH)  # TODO, remove and reference the absolute path everywhere
699
 
                set(OPENIMAGEIO_DEFINITIONS)
 
737
                set(OPENIMAGEIO_DEFINITIONS "")
700
738
 
701
739
                if(WITH_IMAGE_TIFF)
702
740
                        list(APPEND OPENIMAGEIO_LIBRARIES "${TIFF_LIBRARY}")
730
768
                if(NOT LLVM_VERSION)
731
769
                        set(LLVM_VERSION "3.0")
732
770
                endif()
733
 
                set(LLVM_STATIC YES)
 
771
 
734
772
                if(LLVM_DIRECTORY)
735
773
                        FIND_PROGRAM(LLVM_CONFIG llvm-config-${LLVM_VERSION} HINTS ${LLVM_DIRECTORY}/bin NO_CMAKE_PATH)
736
774
                        if(NOT LLVM_CONFIG)
751
789
                execute_process(COMMAND ${LLVM_CONFIG} --libdir
752
790
                                OUTPUT_VARIABLE LLVM_LIB_DIR
753
791
                                OUTPUT_STRIP_TRAILING_WHITESPACE)
754
 
                find_library(LLVM_LIBRARY
755
 
                             NAMES LLVMAnalysis # first of a whole bunch of libs to get
756
 
                             PATHS ${LLVM_LIB_DIR})
 
792
 
 
793
                if(LLVM_STATIC)
 
794
                        find_library(LLVM_LIBRARY
 
795
                                     NAMES LLVMAnalysis # first of a whole bunch of libs to get
 
796
                                     PATHS ${LLVM_LIB_DIR})
 
797
                else()
 
798
                        find_library(LLVM_LIBRARY
 
799
                                     NAMES LLVM-${LLVM_VERSION}
 
800
                                     PATHS ${LLVM_LIB_DIR})
 
801
                endif()
 
802
 
757
803
                message(STATUS "LLVM version  = ${LLVM_VERSION}")
758
804
                message(STATUS "LLVM dir      = ${LLVM_DIRECTORY}")
759
805
                message(STATUS "LLVM lib dir  = ${LLVM_LIB_DIR}")
886
932
        #  include(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
887
933
 
888
934
        if(CMAKE_COMPILER_IS_GNUCC)
889
 
                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/mingw32)
890
 
                INCLUDE (CheckCSourceCompiles) 
 
935
                include(CheckCSourceCompiles)
891
936
                # Setup 64bit and 64bit windows systems
892
937
                CHECK_C_SOURCE_COMPILES("
893
938
                        #ifndef __MINGW64__
894
939
                        #error
895
940
                        #endif
896
 
                        main(){}
 
941
                        int main(void) { return 0; }
897
942
                        " 
898
943
                        WITH_MINGW64)
899
944
                
900
945
                if(WITH_MINGW64)
901
 
                        message("Compiling for 64 bit with MinGW-w64.")
 
946
                        message(STATUS "Compiling for 64 bit with MinGW-w64.")
902
947
                        set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/mingw64)
 
948
                else()
 
949
                        message(STATUS "Compiling for 32 bit with MinGW-w32.")
 
950
                        set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/mingw32)
 
951
                        
 
952
                        if(WITH_RAYOPTIMIZATION)
 
953
                                message(WARNING "MinGW-w32 is known to be unstable with 'WITH_RAYOPTIMIZATION' option enabled.")
 
954
                        endif()
903
955
                endif()
904
956
        else()
905
 
                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows)
906
 
 
907
957
                # Setup 64bit and 64bit windows systems
908
958
                if(CMAKE_CL_64)
909
 
                        message("64 bit compiler detected.")
910
 
                        set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64)
 
959
                        message(STATUS "64 bit compiler detected.")
 
960
                        if(MSVC11)
 
961
                                message(STATUS "Visual C++ 2012 detected.")
 
962
                                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64_vc11)
 
963
                        else()
 
964
                                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64)
 
965
                        endif()
 
966
                else()
 
967
                # Setup 32bit windows systems
 
968
                        if(MSVC11)
 
969
                                message(STATUS "Visual C++ 2012 detected.")
 
970
                                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows_vc11)
 
971
                        else()
 
972
                                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows)
 
973
                        endif()
911
974
                endif()
912
975
        endif()
913
976
                
922
985
        if(WITH_OPENAL)
923
986
                set(OPENAL ${LIBDIR}/openal)
924
987
                set(OPENAL_INCLUDE_DIR ${OPENAL}/include)
925
 
                set(OPENAL_LIBRARY wrap_oal)
 
988
                if(MSVC11)
 
989
                        set(OPENAL_LIBRARY openal32)
 
990
                else()
 
991
                        set(OPENAL_LIBRARY wrap_oal)
 
992
                endif()
926
993
                set(OPENAL_LIBPATH ${OPENAL}/lib)
927
994
        endif()
928
995
 
971
1038
        if(MSVC)
972
1039
                set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid psapi)
973
1040
 
 
1041
                # MSVC11 SDL is not hard linked to dxguid.lib
 
1042
                if(MSVC11 AND WITH_SDL)
 
1043
                        set(PLATFORM_LINKLIBS ${PLATFORM_LINKLIBS} dxguid)
 
1044
                endif()
 
1045
 
974
1046
                add_definitions(/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_CONSOLE /D_LIB)
975
1047
 
 
1048
                # MSVC11 needs _ALLOW_KEYWORD_MACROS to build
 
1049
                if(MSVC11)
 
1050
                        add_definitions(/D_ALLOW_KEYWORD_MACROS)
 
1051
                endif()
 
1052
 
976
1053
                set(CMAKE_CXX_FLAGS "/nologo /J /Gd /EHsc" CACHE STRING "MSVC MT C++ flags " FORCE)
977
1054
                set(CMAKE_C_FLAGS   "/nologo /J /Gd"       CACHE STRING "MSVC MT C++ flags " FORCE)
978
1055
 
1018
1095
                set(PNG_LIBPATH ${PNG}/lib) # not cmake defined
1019
1096
 
1020
1097
                set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include)
1021
 
                if(CMAKE_CL_64)
1022
 
                        set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz.lib)
1023
 
                else()
1024
 
                        set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/zlib.lib)
1025
 
                endif()
 
1098
                set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz_st.lib)
1026
1099
 
1027
1100
                set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include)
1028
1101
                set(PTHREADS_LIBRARIES ${LIBDIR}/pthreads/lib/pthreadVC2.lib)
1045
1118
                        set(OPENCOLLADA ${LIBDIR}/opencollada)
1046
1119
 
1047
1120
                        set(OPENCOLLADA_INCLUDE_DIRS
1048
 
                                ${LIBDIR}/opencollada/include/COLLADAStreamWriter/include
1049
 
                                ${LIBDIR}/opencollada/include/COLLADABaseUtils/include
1050
 
                                ${LIBDIR}/opencollada/include/COLLADAFramework/include
1051
 
                                ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader/include
1052
 
                                ${LIBDIR}/opencollada/include/GeneratedSaxParser/include
 
1121
                                ${OPENCOLLADA}/include/opencollada/COLLADAStreamWriter
 
1122
                                ${OPENCOLLADA}/include/opencollada/COLLADABaseUtils
 
1123
                                ${OPENCOLLADA}/include/opencollada/COLLADAFramework
 
1124
                                ${OPENCOLLADA}/include/opencollada/COLLADASaxFrameworkLoader
 
1125
                                ${OPENCOLLADA}/include/opencollada/GeneratedSaxParser
1053
1126
                        )
1054
 
                        set_lib_path(OPENCOLLADA_LIBPATH "opencollada")
1055
1127
 
1056
1128
                        set(OPENCOLLADA_LIBRARIES
1057
 
                                ${OPENCOLLADA_LIBPATH}/lib/OpenCOLLADASaxFrameworkLoader.lib
1058
 
                                ${OPENCOLLADA_LIBPATH}/lib/OpenCOLLADAFramework.lib
1059
 
                                ${OPENCOLLADA_LIBPATH}/lib/OpenCOLLADABaseUtils.lib
1060
 
                                ${OPENCOLLADA_LIBPATH}/lib/OpenCOLLADAStreamWriter.lib
1061
 
                                ${OPENCOLLADA_LIBPATH}/lib/MathMLSolver.lib
1062
 
                                ${OPENCOLLADA_LIBPATH}/lib/GeneratedSaxParser.lib
1063
 
                                ${OPENCOLLADA_LIBPATH}/lib/xml2.lib
1064
 
                                ${OPENCOLLADA_LIBPATH}/lib/buffer.lib
1065
 
                                ${OPENCOLLADA_LIBPATH}/lib/ftoa.lib
1066
 
                                ${OPENCOLLADA_LIBPATH}/lib/UTF.lib
 
1129
                                ${OPENCOLLADA}/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib
 
1130
                                ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAFramework.lib
 
1131
                                ${OPENCOLLADA}/lib/opencollada/OpenCOLLADABaseUtils.lib
 
1132
                                ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib
 
1133
                                ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib
 
1134
                                ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib
 
1135
                                ${OPENCOLLADA}/lib/opencollada/xml.lib
 
1136
                                ${OPENCOLLADA}/lib/opencollada/buffer.lib
 
1137
                                ${OPENCOLLADA}/lib/opencollada/ftoa.lib
 
1138
                                ${OPENCOLLADA}/lib/opencollada/UTF.lib
1067
1139
                        )
1068
1140
                        set(PCRE_LIBRARIES
1069
 
                                ${OPENCOLLADA_LIBPATH}/lib/pcre.lib
 
1141
                                ${OPENCOLLADA}/lib/opencollada/pcre.lib
1070
1142
                        )
1071
 
                        
1072
 
                        unset(OPENCOLLADA_LIBPATH)
1073
 
                        
1074
1143
                endif()
1075
1144
 
1076
1145
                if(WITH_CODEC_FFMPEG)
1078
1147
                                ${LIBDIR}/ffmpeg/include
1079
1148
                                ${LIBDIR}/ffmpeg/include/msvc
1080
1149
                        )
1081
 
                        set(FFMPEG_LIBRARIES
1082
 
                                ${LIBDIR}/ffmpeg/lib/avcodec-53.lib
1083
 
                                ${LIBDIR}/ffmpeg/lib/avformat-53.lib
1084
 
                                ${LIBDIR}/ffmpeg/lib/avdevice-53.lib
1085
 
                                ${LIBDIR}/ffmpeg/lib/avutil-51.lib
1086
 
                                ${LIBDIR}/ffmpeg/lib/swscale-2.lib
1087
 
                        )
 
1150
                        # MSVC11 FFMPEG libs are newer
 
1151
                        if(MSVC11)
 
1152
                                set(FFMPEG_LIBRARIES
 
1153
                                        ${LIBDIR}/ffmpeg/lib/avcodec-54.lib
 
1154
                                        ${LIBDIR}/ffmpeg/lib/avformat-54.lib
 
1155
                                        ${LIBDIR}/ffmpeg/lib/avdevice-54.lib
 
1156
                                        ${LIBDIR}/ffmpeg/lib/avutil-52.lib
 
1157
                                        ${LIBDIR}/ffmpeg/lib/swscale-2.lib
 
1158
                                )
 
1159
                        else()
 
1160
                                set(FFMPEG_LIBRARIES
 
1161
                                        ${LIBDIR}/ffmpeg/lib/avcodec-53.lib
 
1162
                                        ${LIBDIR}/ffmpeg/lib/avformat-53.lib
 
1163
                                        ${LIBDIR}/ffmpeg/lib/avdevice-53.lib
 
1164
                                        ${LIBDIR}/ffmpeg/lib/avutil-51.lib
 
1165
                                        ${LIBDIR}/ffmpeg/lib/swscale-2.lib
 
1166
                                )
 
1167
                        endif()
1088
1168
                endif()
1089
1169
 
1090
1170
                if(WITH_IMAGE_OPENEXR)
1091
 
                        set_lib_path(OPENEXR "openexr")
 
1171
                        set(OPENEXR ${LIBDIR}/openexr)
1092
1172
                        set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
1093
1173
                        set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
1094
1174
                        set(OPENEXR_LIBPATH ${OPENEXR}/lib)
1115
1195
                endif()
1116
1196
 
1117
1197
                if(WITH_PYTHON)
1118
 
                        # normally cached but not since we include them with blender
1119
 
                        if(MSVC10)
1120
 
                                set(PYTHON_VERSION 3.3) # CACHE STRING)
1121
 
                        else()
1122
 
                                set(PYTHON_VERSION 3.3) # CACHE STRING)
1123
 
                        endif()
 
1198
                        set(PYTHON_VERSION 3.3) # CACHE STRING)
1124
1199
 
1125
 
                        set_lib_path(PYTHON "python")
1126
 
                        STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
 
1200
                        string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
1127
1201
                        # Use shared libs for vc2008 and vc2010 until we actually have vc2010 libs
1128
1202
                        set(PYTHON_LIBRARY ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.lib)
1129
 
                        # set(PYTHON_LIBRARY ${PYTHON}/lib/python${_PYTHON_VERSION_NO_DOTS}.lib) #CACHE FILEPATH
1130
1203
                        unset(_PYTHON_VERSION_NO_DOTS)
1131
1204
 
1132
 
                        #Shared includes for both vc2008 and vc2010
 
1205
                        # Shared includes for both vc2008 and vc2010
1133
1206
                        set(PYTHON_INCLUDE_DIR ${LIBDIR}/python/include/python${PYTHON_VERSION})
1134
1207
 
1135
1208
                        # uncached vars
1140
1213
                if(WITH_BOOST)
1141
1214
                        set(BOOST ${LIBDIR}/boost)
1142
1215
                        set(BOOST_INCLUDE_DIR ${BOOST}/include)
1143
 
                        if(MSVC10)
1144
 
                                set(BOOST_LIBPATH ${BOOST}/vc2010/lib)
1145
 
                                set(BOOST_POSTFIX "vc100-mt-s-1_49.lib")
1146
 
                                set(BOOST_DEBUG_POSTFIX "vc100-mt-sgd-1_49.lib")
 
1216
                        if(MSVC11)
 
1217
                                set(BOOST_LIBPATH ${BOOST}/lib)
 
1218
                                set(BOOST_POSTFIX "vc110-mt-s-1_53.lib")
 
1219
                                set(BOOST_DEBUG_POSTFIX "vc110-mt-sgd-1_53.lib")
1147
1220
                        else()
1148
1221
                                set(BOOST_LIBPATH ${BOOST}/lib)
1149
1222
                                set(BOOST_POSTFIX "vc90-mt-s-1_49.lib")
1180
1253
                if(WITH_LLVM)
1181
1254
                        set(LLVM_DIRECTORY ${LIBDIR}/llvm CACHE PATH    "Path to the LLVM installation")
1182
1255
                        file(GLOB LLVM_LIBRARY ${LLVM_DIRECTORY}/lib/*.lib)
1183
 
                        set(LLVM_STATIC YES)
1184
1256
                endif()
1185
1257
        
1186
1258
                if(WITH_OPENCOLORIO)
1191
1263
                        set(OPENCOLORIO_DEFINITIONS)
1192
1264
                endif()
1193
1265
 
1194
 
 
1195
1266
                set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib")
1196
1267
 
1197
1268
                # MSVC only, Mingw doesnt need
1212
1283
                set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
1213
1284
 
1214
1285
                if(WITH_MINGW64)
1215
 
                        #We need to take care though not to have these on debug builds because they may play funky with gdb
1216
 
                        if(CMAKE_BUILD_TYPE MATCHES "Release")
1217
 
                                set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -mmmx -ftree-vectorize")
1218
 
                        endif()
1219
1286
                        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
1220
1287
                        set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -lpthread")
1221
1288
                        
1222
1289
                        add_definitions(-DFREE_WINDOWS64 -DMS_WIN64)
1223
 
                        #Turn off OpenMP since it causes crashes on render for subsurfed/multiresolution meshes
 
1290
                        # Turn off OpenMP since it causes crashes on render for subsurfed/multiresolution meshes
1224
1291
                        set(WITH_OPENMP OFF)
1225
1292
                endif()
1226
1293
 
1244
1311
                set(ZLIB_LIBPATH ${ZLIB}/lib)
1245
1312
                set(ZLIB_LIBRARIES z)
1246
1313
 
1247
 
                #comes with own pthread library
 
1314
                # comes with own pthread library
1248
1315
                if(NOT WITH_MINGW64)
1249
1316
                        set(PTHREADS ${LIBDIR}/pthreads)
1250
1317
                        #set(PTHREADS_INCLUDE_DIRS ${PTHREADS}/include)
1267
1334
                if(WITH_OPENCOLLADA)
1268
1335
                        set(OPENCOLLADA ${LIBDIR}/opencollada)
1269
1336
                        set(OPENCOLLADA_INCLUDE_DIRS
1270
 
                                ${LIBDIR}/opencollada/include/COLLADAStreamWriter/include
1271
 
                                ${LIBDIR}/opencollada/include/COLLADABaseUtils/include
1272
 
                                ${LIBDIR}/opencollada/include/COLLADAFramework/include
1273
 
                                ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader/include
1274
 
                                ${LIBDIR}/opencollada/include/GeneratedSaxParser/include
 
1337
                                ${OPENCOLLADA}/include/opencollada/COLLADAStreamWriter
 
1338
                                ${OPENCOLLADA}/include/opencollada/COLLADABaseUtils
 
1339
                                ${OPENCOLLADA}/include/opencollada/COLLADAFramework
 
1340
                                ${OPENCOLLADA}/include/opencollada/COLLADASaxFrameworkLoader
 
1341
                                ${OPENCOLLADA}/include/opencollada/GeneratedSaxParser
1275
1342
                        )
1276
 
                        set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib ${OPENCOLLADA}/lib)
1277
 
                        if(WITH_MINGW64)
1278
 
                                set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa xml)
1279
 
                        else()
1280
 
                                set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
1281
 
                        endif()
 
1343
                        set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib/opencollada)
 
1344
                        set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver buffer ftoa xml)
1282
1345
                        set(PCRE_LIBRARIES pcre)
1283
1346
                endif()
1284
1347
 
1365
1428
                        set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
1366
1429
                        set(OPENIMAGEIO_LIBRARIES OpenImageIO)
1367
1430
                        set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib)
1368
 
                        set(OPENIMAGEIO_DEFINITIONS)
 
1431
                        set(OPENIMAGEIO_DEFINITIONS "")
1369
1432
                endif()
1370
1433
                
1371
1434
                if(WITH_LLVM)
1372
1435
                        set(LLVM_DIRECTORY ${LIBDIR}/llvm CACHE PATH    "Path to the LLVM installation")
1373
1436
                        set(LLVM_LIB_DIR ${LLVM_DIRECTORY}/lib)
1374
 
                        #Explicitly set llvm lib order.
 
1437
                        # Explicitly set llvm lib order.
1375
1438
                        #---- WARNING ON GCC ORDER OF LIBS IS IMPORTANT, DO NOT CHANGE! ---------
1376
1439
                        set(LLVM_LIBRARY LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMAnalysis LLVMArchive
1377
1440
                                LLVMAsmParser LLVMAsmPrinter
1391
1454
                                LLVMX86Disassembler LLVMX86Info
1392
1455
                                LLVMX86Utils LLVMipa
1393
1456
                                LLVMipo LLVMCore)
1394
 
                                #imagehelp is needed by LLVM 3.1 on MinGW, check lib\Support\Windows\Signals.inc
1395
 
                                set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -limagehlp")
1396
 
                        set(LLVM_STATIC YES)
 
1457
                        # imagehelp is needed by LLVM 3.1 on MinGW, check lib\Support\Windows\Signals.inc
 
1458
                        set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -limagehlp")
1397
1459
                endif()
1398
1460
                
1399
1461
                if(WITH_OPENCOLORIO)
1457
1519
        endif()
1458
1520
 
1459
1521
        if(WITH_PYTHON)
1460
 
                if(NOT WITH_PYTHON_MODULE)
1461
 
                        # we use precompiled libraries for py 3.3 and up by default
1462
 
 
 
1522
                # we use precompiled libraries for py 3.3 and up by default
 
1523
                set(PYTHON_VERSION 3.3)
 
1524
                if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
1463
1525
                        # normally cached but not since we include them with blender
1464
 
                        set(PYTHON_VERSION 3.3)
1465
1526
                        set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
1466
1527
                        # set(PYTHON_BINARY "${LIBDIR}/python/bin/python${PYTHON_VERSION}") # not used yet
1467
1528
                        set(PYTHON_LIBRARY python${PYTHON_VERSION}m)
1469
1530
                        # set(PYTHON_LINKFLAGS "-u _PyMac_Error")  # won't  build with this enabled
1470
1531
                else()
1471
1532
                        # module must be compiled against Python framework
1472
 
 
1473
 
                        # normally cached but not since we include them with blender
1474
 
                        set(PYTHON_VERSION 3.3)
1475
1533
                        set(PYTHON_INCLUDE_DIR "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}m")
1476
1534
                        set(PYTHON_BINARY "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}")
1477
1535
                        #set(PYTHON_LIBRARY python${PYTHON_VERSION})
1539
1597
                        set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QTKit")
1540
1598
                        if(CMAKE_OSX_ARCHITECTURES MATCHES i386)
1541
1599
                                set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
1542
 
                                #libSDL still needs 32bit carbon quicktime
 
1600
                                # libSDL still needs 32bit carbon quicktime
1543
1601
                        endif()
1544
1602
                elseif(WITH_CODEC_QUICKTIME)
1545
1603
                        set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
1573
1631
                set(WITH_INPUT_NDOF OFF)  # unsupported
1574
1632
        endif()
1575
1633
        
1576
 
        if(WITH_PYTHON_MODULE)
1577
 
                set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/python")# force cmake to link right framework
 
1634
        if(WITH_PYTHON_MODULE OR WITH_PYTHON_FRAMEWORK)
 
1635
                set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/Python")# force cmake to link right framework
1578
1636
        endif()
1579
1637
        
1580
1638
        if(WITH_OPENCOLLADA)
1590
1648
 
1591
1649
                set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
1592
1650
                set(OPENCOLLADA_LIBRARIES "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa")
1593
 
                #pcre is bundled with openCollada
 
1651
                # pcre is bundled with openCollada
1594
1652
                #set(PCRE ${LIBDIR}/pcre)
1595
1653
                #set(PCRE_LIBPATH ${PCRE}/lib)
1596
1654
                set(PCRE_LIBRARIES pcre)
1622
1680
                set(TIFF_LIBPATH ${TIFF}/lib)
1623
1681
        endif()
1624
1682
 
1625
 
        if (WITH_INPUT_NDOF)
 
1683
        if(WITH_INPUT_NDOF)
1626
1684
                # linker needs "-weak_framework 3DconnexionClient"
1627
1685
        endif()
1628
1686
 
1630
1688
                set(BOOST ${LIBDIR}/boost)
1631
1689
                set(BOOST_INCLUDE_DIR ${BOOST}/include)
1632
1690
                set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt boost_wave-mt)
1633
 
                if (WITH_INTERNATIONAL)
 
1691
                if(WITH_INTERNATIONAL)
1634
1692
                        list(APPEND BOOST_LIBRARIES boost_locale-mt)
1635
1693
                        set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale needs it !
1636
1694
                endif()
1657
1715
        if(WITH_LLVM)
1658
1716
                set(LLVM_DIRECTORY ${LIBDIR}/llvm CACHE PATH    "Path to the LLVM installation")
1659
1717
                set(LLVM_VERSION "3.1" CACHE STRING     "Version of LLVM to use")
1660
 
                set(LLVM_STATIC YES)
1661
1718
                if(EXISTS "${LLVM_DIRECTORY}/bin/llvm-config")
1662
1719
                        set(LLVM_CONFIG "${LLVM_DIRECTORY}/bin/llvm-config")
1663
1720
                else()
1922
1979
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero)
1923
1980
 
1924
1981
        # gcc 4.2 gives annoying warnings on every file with this
1925
 
        if (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
 
1982
        if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
1926
1983
                ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNINITIALIZED -Wuninitialized)
1927
1984
        endif()
1928
1985
 
 
1986
        # versions before gcc4.6 give many BLI_math warnings
 
1987
        if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.6")
 
1988
                ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_REDUNDANT_DECLS       -Wredundant-decls)
 
1989
                ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_REDUNDANT_DECLS -Wredundant-decls)
 
1990
        endif()
 
1991
 
1929
1992
        # disable because it gives warnings for printf() & friends.
1930
1993
        # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_DOUBLE_PROMOTION -Wdouble-promotion -Wno-error=double-promotion)
1931
1994
 
1942
2005
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero)
1943
2006
 
1944
2007
        # gcc 4.2 gives annoying warnings on every file with this
1945
 
        if (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
 
2008
        if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
1946
2009
                ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNINITIALIZED -Wuninitialized)
1947
2010
        endif()
1948
2011
 
1964
2027
 
1965
2028
        # strange, clang complains these are not supported, but then yses them.
1966
2029
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
 
2030
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_DECLARATION_AFTER_STATEMENT -Werror=declaration-after-statement)
 
2031
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
 
2032
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE  -Werror=return-type)
1967
2033
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare)
1968
2034
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas)
1969
2035
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts)
1970
2036
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_STRICT_PROTOTYPES  -Wstrict-prototypes)
1971
2037
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_PROTOTYPES -Wmissing-prototypes)
1972
 
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS      -Wunused-macros)
 
2038
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter)
1973
2039
 
1974
2040
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall)
1975
2041
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare)
1976
2042
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS     -Wno-unknown-pragmas)
1977
2043
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS     -Wno-char-subscripts)
1978
2044
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_OVERLOADED_VIRTUAL  -Wno-overloaded-virtual)  # we get a lot of these, if its a problem a dev needs to look into it.
 
2045
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE        -Wno-sign-compare)
1979
2046
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF    -Wno-invalid-offsetof)
1980
 
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS          -Wunused-macros)
 
2047
 
 
2048
        # gives too many unfixable warnings
 
2049
        # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS      -Wunused-macros)
 
2050
        # ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS          -Wunused-macros)
 
2051
 
 
2052
        # flags to undo strict flags
 
2053
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
 
2054
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_MACROS    -Wno-unused-macros)
 
2055
 
 
2056
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations)
 
2057
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function)
 
2058
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_INT_TO_VOID_POINTER_CAST -Wno-int-to-void-pointer-cast)
 
2059
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_PROTOTYPES -Wno-missing-prototypes)
 
2060
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_DUPLICATE_ENUM -Wno-duplicate-enum)
 
2061
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNDEF -Wno-undef)
 
2062
        ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_NORETURN -Wno-missing-noreturn)
 
2063
 
 
2064
        ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_PRIVATE_FIELD -Wno-unused-private-field)
 
2065
        ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_CXX11_NARROWING -Wno-c++11-narrowing)
 
2066
        ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_NON_VIRTUAL_DTOR -Wno-non-virtual-dtor)
 
2067
        ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_MACROS -Wno-unused-macros)
 
2068
        ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_REORDER -Wno-reorder)
1981
2069
 
1982
2070
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
1983
2071
 
1995
2083
 
1996
2084
endif()
1997
2085
 
1998
 
# MSVC2010 fails to links C++ libs right
1999
 
if(MSVC10)
2000
 
        if(WITH_OPENCOLLADA)
2001
 
                message(WARNING "MSVC 2010 does not support OpenCollada, disabling WITH_OPENCOLLADA. To enable support use Use MSVC 2008")
2002
 
        endif()
2003
 
endif()
2004
 
 
2005
2086
# ensure python header is found since detection can fail, this could happen
2006
2087
# with _any_ library but since we used a fixed python version this tends to
2007
2088
# be most problematic.
2015
2096
 
2016
2097
        if(WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY)
2017
2098
                # set but invalid
2018
 
        # -- disabled until we make numpy bundled with blender - campbell
 
2099
                # -- disabled until we make numpy bundled with blender - campbell
2019
2100
                if((NOT ${PYTHON_NUMPY_PATH} STREQUAL "") AND (NOT ${PYTHON_NUMPY_PATH} MATCHES NOTFOUND))
2020
2101
#                       if(NOT EXISTS "${PYTHON_NUMPY_PATH}/numpy")
2021
2102
#                               message(WARNING "PYTHON_NUMPY_PATH is invalid, numpy not found in '${PYTHON_NUMPY_PATH}' "
2059
2140
        endif()
2060
2141
endif()
2061
2142
 
 
2143
if(WITH_GCC_MUDFLAP)
 
2144
        set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -fmudflapth -funwind-tables")
 
2145
        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpthread -lmudflapth -rdynamic")
 
2146
        ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS     C_WARN_NO_ERROR_MUDFLAP   -Wno-error=mudflap)
 
2147
        ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_ERROR_MUDFLAP -Wno-error=mudflap)
 
2148
endif()
 
2149
 
2062
2150
# Include warnings first, so its possible to disable them with user defined flags
2063
2151
# eg: -Wno-uninitialized
2064
2152
set(CMAKE_C_FLAGS "${C_WARNINGS} ${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS}")
2141
2229
        info_cfg_option(WITH_INTERNATIONAL)
2142
2230
        info_cfg_option(WITH_INPUT_NDOF)
2143
2231
        info_cfg_option(WITH_CYCLES)
 
2232
        info_cfg_option(WITH_FREESTYLE)
2144
2233
        info_cfg_option(WITH_OPENCOLORIO)
2145
2234
 
2146
2235
        info_cfg_text("Compiler Options:")
2169
2258
        info_cfg_option(WITH_OPENAL)
2170
2259
        info_cfg_option(WITH_SDL)
2171
2260
        info_cfg_option(WITH_JACK)
 
2261
        info_cfg_option(WITH_JACK_DYNLOAD)
2172
2262
        info_cfg_option(WITH_CODEC_AVI)
2173
2263
        info_cfg_option(WITH_CODEC_FFMPEG)
2174
2264
        info_cfg_option(WITH_CODEC_SNDFILE)
2182
2272
        info_cfg_option(WITH_PYTHON_INSTALL_NUMPY)
2183
2273
        info_cfg_option(WITH_PYTHON_MODULE)
2184
2274
        info_cfg_option(WITH_PYTHON_SAFETY)
 
2275
        if(APPLE)
 
2276
                info_cfg_option(WITH_PYTHON_FRAMEWORK)
 
2277
        endif()
2185
2278
 
2186
2279
        info_cfg_text("Modifiers:")
2187
2280
        info_cfg_option(WITH_MOD_BOOLEAN)