From 1fc3acf595229f1505725714a5e5d3d5e37d0e65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D1=82=D0=B0=D0=BB=D0=B8=D0=B9=20=D0=9A=D0=B8?= =?UTF-8?q?=D1=80=D1=81=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Sun, 13 Jan 2019 19:08:43 +0300 Subject: [PATCH] Don't declare snprintf macro for MSVC 2015 and 2017 in lv2/CMakeLists.txt That declaring breaks build on MSVC 2015/17 (2013 is ok). There is a note about changed behaviour of snprintf beginning from VS 2015 here: https://docs.microsoft.com/ru-ru/cpp/c-runtime-library/reference/snprintf-snprintf-snprintf-l-snwprintf-snwprintf-l?view=vs-2017#remarks --- cmake-proxies/lv2/CMakeLists.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cmake-proxies/lv2/CMakeLists.txt b/cmake-proxies/lv2/CMakeLists.txt index 0f01ba64b..8b3c9d05f 100644 --- a/cmake-proxies/lv2/CMakeLists.txt +++ b/cmake-proxies/lv2/CMakeLists.txt @@ -3,7 +3,7 @@ set( TARGET lv2 ) set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} ) project( ${TARGET} ) -set( SOURCES +set( SOURCES #${LIB_SRC_DIRECTORY}lv2/sord/src/sordmm_test.cpp #${LIB_SRC_DIRECTORY}lv2/suil/src/gtk2_in_qt4.cpp #${LIB_SRC_DIRECTORY}lv2/suil/src/qt4_in_gtk2.cpp @@ -67,17 +67,19 @@ ${LIB_SRC_DIRECTORY}lv2/suil/src/suil_instance.c ) # This defines the #define on both Windows and Linux. -add_definitions( +add_definitions( -D_LIB --Dsnprintf=_snprintf -Dinline=__inline # Not needed in non CMake version. -DHAVE_FMAX -DLILV_INTERNAL -D_DEBUG ) +if( NOT MSVC OR MSVC_VERSION LESS 1900 ) + add_definitions(-Dsnprintf=_snprintf) +endif() add_library( ${TARGET} STATIC ${SOURCES}) add_compile_options(/TP) -target_include_directories( ${TARGET} PRIVATE +target_include_directories( ${TARGET} PRIVATE ${TARGET_SOURCE}/windows ${TARGET_SOURCE}/sord/src ${TARGET_SOURCE}/lilv @@ -88,4 +90,4 @@ ${TARGET_SOURCE}/sratom ${TARGET_SOURCE}/suil ) -target_link_libraries( ${TARGET} ) \ No newline at end of file +target_link_libraries( ${TARGET} )