1# CUSTOM PROPERTIES TO SET 2# GLOBAL 3 4# Csound build options for MSVC 5set(BUILD_BUCHLA_OPCODES ON) 6set(BUILD_CHUA_OPCODES ON) 7set(BUILD_CSBEATS ON) 8set(BUILD_CSOUND_AC ON) 9set(BUILD_CSOUND_AC_LUA_INTERFACE OFF) 10set(BUILD_CSOUND_AC_PYTHON_INTERFACE ON) 11set(BUILD_CUDA_OPCODES OFF) 12set(BUILD_CXX_INTERFACE ON) 13set(BUILD_DSSI_OPCODES OFF) 14set(BUILD_EMUGENS_OPCODES ON) 15set(BUILD_EXCITER_OPCODES ON) 16set(BUILD_FAUST_OPCODES OFF) 17set(BUILD_FLUID_OPCODES ON) 18set(BUILD_FRAMEBUFFER_OPCODES ON) 19set(BUILD_HDF5_OPCODES ON) 20set(BUILD_IMAGE_OPCODES ON) 21set(BUILD_INSTALLER ON) 22set(BUILD_JACK_OPCODES OFF) 23set(BUILD_JAVA_INTERFACE ON) 24set(BUILD_LINEAR_ALGEBRA_OPCODES ON) 25set(BUILD_LUA_INTERFACE OFF) 26set(BUILD_LUA_OPCODES OFF) 27set(BUILD_MULTI_CORE ON) 28set(BUILD_OPENCL_OPCODES OFF) 29set(BUILD_OSC_OPCODES ON) 30set(BUILD_P5GLOVE_OPCODES OFF) 31set(BUILD_PADSYNTH_OPCODES ON) 32set(BUILD_PD_CLASS ON) 33set(BUILD_PLATEREV_OPCODES ON) 34set(BUILD_PYTHON_INTERFACE ON) 35set(BUILD_PYTHON_OPCODES ON) 36set(BUILD_RELEASE ON) 37set(BUILD_SCANSYN_OPCODES ON) 38set(BUILD_SELECT_OPCODE ON) 39set(BUILD_SERIAL_OPCODES ON) 40set(BUILD_STACK_OPCODES ON) 41set(BUILD_STATIC_LIBRARY ON) 42set(BUILD_STK_OPCODES ON) 43set(BUILD_TESTS ON) 44set(BUILD_UTILITIES ON) 45set(BUILD_VIRTUAL_KEYBOARD ON) 46set(BUILD_WEBSOCKET_OPCODE ON) 47set(BUILD_WIIMOTE_OPCODES OFF) 48set(BUILD_WINSOUND ON) 49 50# Csound use features 51set(USE_ALSA 0) # N/A 52set(USE_ATOMIC_BUILTIN 0) # Needs code changes for MSVC 53set(USE_AUDIOUNIT 0) # N/A 54set(USE_CURL 0) 55set(USE_COMPILER_OPTIMIZATIONS 1) 56set(USE_COREMIDI 0) # N/A 57set(USE_DOUBLE 1) 58set(USE_FLTK 1) 59set(USE_GETTEXT 0) 60set(USE_IPMIDI 1) 61set(USE_JACK 0) # N/A 62set(USE_LIB64 1) 63set(USE_LRINT 1) 64set(USE_PORTAUDIO 1) 65set(USE_PORTMIDI 1) 66set(USE_PULSEAUDIO 0) # N/A 67set(USE_SYSTEM_PORTSMF 1) 68 69# Misc build options 70set(HAVE_BIG_ENDIAN 0) 71set(CMAKE_VERBOSE_MAKEFILE ON) 72set(CMAKE_16BIT_TYPE "unsigned short") 73set(FAIL_MISSING OFF) # Enable when packaging 74 75 76# TEMPORARILY USE THE FOLLOWING SELF-BUILT PORTMIDI UNTIL VCPKG PROVIDES ONE 77# THAT IS UP TO DATE 78list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}\\msvc\\deps") 79set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}\\msvc\\deps\\include) 80 81# END CUSTOM PORTMIDI # 82 83# Disable the following warnings in msvc 84# - C4244 loss of data in conversion 85# - C4267 loss of data in conversion 86# - C4005 macro refinitions 87# - C4996 unsafe functions 88# - C4047 levels of indirection difference (int and void*) 89# - C4090 different const qualifiers 90# - C4477 format string type differences 91set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244 /wd4267 /wd4005 /wd4996 /wd4047 /wd4090 /wd4477") 92set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4005 /wd4996 /wd4047 /wd4090 /wd4477 /wd4251") 93 94