Strange, msvc 2008 and 2010 work ok here, does replacing this line fix it? 717: set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib\;msvcmrt.lib\;msvcurt.lib\;msvcrtd.lib ")
With set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:\"msvcrt.lib\" /NODEFAULTLIB:\"msvcmrt.lib\" /NODEFAULTLIB:\"msvcurt.lib\" /NODEFAULTLIB:\"msvcrtd.lib\" ") (both 1 line) Both work ok for me with msvc2010. On Thu, Jun 30, 2011 at 5:27 AM, Alex K <kuzsa...@gmail.com> wrote: > Hi. > This patch causes build error with cmake + vs2010: > error MSB6001: Invalid command line switch for "CL.exe". The value > [BUILD_LINKFLAGS="/MACHINE:X64 /OPT:NOREF /SUBSYSTEM:CONSOLE /STACK:2097152 > /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib] contains an odd number of > double-quote characters. Only even numbers of literal double-quote > characters are acceptable to command line tools. C:\Program Files > (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets > When CMakeLists.txt and macros.cmake reversed to 37884, Blender builds fine. > > Alex > > > On Mon, Jun 27, 2011 at 10:49 PM, Campbell Barton <ideasma...@gmail.com>wrote: > >> Revision: 37885 >> >> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37885 >> Author: campbellbarton >> Date: 2011-06-28 02:49:49 +0000 (Tue, 28 Jun 2011) >> Log Message: >> ----------- >> cleanup for cmake msvc build options, reference some libs directly, fix >> conflicting flags /Ob1 and /Zi for debug >> >> Modified Paths: >> -------------- >> trunk/blender/CMakeLists.txt >> trunk/blender/build_files/cmake/macros.cmake >> trunk/blender/build_files/scons/config/win32-vc-config.py >> trunk/blender/build_files/scons/config/win64-vc-config.py >> >> Modified: trunk/blender/CMakeLists.txt >> =================================================================== >> --- trunk/blender/CMakeLists.txt 2011-06-28 02:12:31 UTC (rev 37884) >> +++ trunk/blender/CMakeLists.txt 2011-06-28 02:49:49 UTC (rev 37885) >> @@ -243,13 +243,26 @@ >> set(WITH_BINRELOC OFF) >> >> # MAXOSX only, set to avoid uninitialized >> -set(EXETYPE "") >> +set(EXETYPE) >> >> +# C/C++ flags >> +set(PLATFORM_CFLAGS) >> + >> # these are added to later on. >> -set(C_WARNINGS "") >> -set(CXX_WARNINGS "") >> +set(C_WARNINGS) >> +set(CXX_WARNINGS) >> >> +# libraries to link the binary with passed to target_link_libraries() >> +# known as LLIBS to scons >> +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) >> + >> + >> # disabled for now, not supported >> # option(WITH_WEBPLUGIN "Enable Web Plugin (Unix only)" OFF) >> >> @@ -419,24 +432,24 @@ >> endif() >> >> # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by >> using --as-needed >> - set(LLIBS "-lutil -lc -lm -lpthread -lstdc++") >> + set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++") >> >> if(NOT WITH_HEADLESS) >> find_package(X11 REQUIRED) >> find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h >> ${X11_INC_SEARCH_PATH}) >> mark_as_advanced(X11_XF86keysym_INCLUDE_PATH) >> >> - list(APPEND LLIBS ${X11_X11_LIB}) >> + list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB}) >> >> if(WITH_X11_XINPUT) >> - list(APPEND LLIBS ${X11_Xinput_LIB}) >> + list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB}) >> endif() >> endif() >> >> if(CMAKE_SYSTEM_NAME MATCHES "Linux") >> if(NOT WITH_PYTHON_MODULE) >> # BSD's dont use libdl.so >> - list(APPEND LLIBS -ldl) >> + list(APPEND PLATFORM_LINKLIBS -ldl) >> # binreloc is linux only >> set(BINRELOC_INCLUDE_DIRS >> ${CMAKE_SOURCE_DIR}/extern/binreloc/include) >> set(WITH_BINRELOC ON) >> @@ -547,14 +560,16 @@ >> >> if(MSVC) >> if(CMAKE_CL_64) >> - set(LLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 >> comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid) >> + set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 >> user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid) >> else() >> - set(LLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 >> comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid) >> + set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 >> user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid) >> endif() >> - >> - set(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE >> /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_CONSOLE /D_LIB >> /nologo /Ob1 /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 >> /we4013" 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 /D_CONSOLE /D_LIB >> /nologo /Ob1 /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 >> /we4013 /EHsc" CACHE STRING "MSVC MT C++ flags " FORCE) >> >> + add_definitions(/D_CRT_NONSTDC_NO_DEPRECATE >> /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_CONSOLE /D_LIB) >> + >> + set(CMAKE_CXX_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 >> /wd4305 /wd4800 /wd4065 /wd4267 /we4013" CACHE STRING "MSVC MT C++ flags " >> FORCE) >> + set(CMAKE_C_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 >> /wd4305 /wd4800 /wd4065 /wd4267 /we4013 /EHsc" CACHE STRING "MSVC MT C++ >> 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() >> @@ -590,25 +605,22 @@ >> endif() >> set(JPEG_LIBRARIES libjpeg) >> >> - set(ZLIB ${LIBDIR}/zlib) >> - set(ZLIB_INCLUDE_DIRS ${ZLIB}/include) >> - set(ZLIB_LIBPATH ${ZLIB}/lib) >> + set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include) >> if(CMAKE_CL_64) >> - set(ZLIB_LIBRARIES libz) >> + set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz.lib) >> else() >> - set(ZLIB_LIBRARIES zlib) >> + set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/zlib.lib) >> endif() >> >> - set(PTHREADS ${LIBDIR}/pthreads) >> - set(PTHREADS_INCLUDE_DIRS ${PTHREADS}/include) >> - set(PTHREADS_LIBPATH ${PTHREADS}/lib) >> - set(PTHREADS_LIBRARIES pthreadVC2) >> - >> - set(FREETYPE ${LIBDIR}/freetype) >> - set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include >> ${FREETYPE}/include/freetype2) >> - set(FREETYPE_LIBPATH ${FREETYPE}/lib) >> - set(FREETYPE_LIBRARY freetype2ST) >> + set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include) >> + set(PTHREADS_LIBRARIES >> ${LIBDIR}/pthreads/lib/pthreadVC2.lib) >> >> + set(FREETYPE_INCLUDE_DIRS >> + ${FREETYPE}/include >> + ${FREETYPE}/include/freetype2 >> + ) >> + set(FREETYPE_LIBRARY >> ${LIBDIR}/freetype/lib/freetype2ST.lib) >> + >> if(WITH_FFTW3) >> set(FFTW3 ${LIBDIR}/fftw3) >> set(FFTW3_LIBRARIES libfftw) >> @@ -638,10 +650,17 @@ >> endif() >> >> if(WITH_CODEC_FFMPEG) >> - set(FFMPEG ${LIBDIR}/ffmpeg) >> - set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include >> ${FFMPEG}/include/msvc) >> - set(FFMPEG_LIBRARIES avcodec-52 avformat-52 >> avdevice-52 avutil-50 swscale-0) >> - set(FFMPEG_LIBPATH ${FFMPEG}/lib) >> + set(FFMPEG_INCLUDE_DIRS >> + ${LIBDIR}/ffmpeg/include >> + ${LIBDIR}/ffmpeg/include/msvc >> + ) >> + set(FFMPEG_LIBRARIES >> + ${LIBDIR}/ffmpeg/lib/avcodec-52.lib >> + ${LIBDIR}/ffmpeg/lib/avformat-52.lib >> + ${LIBDIR}/ffmpeg/lib/avdevice-52.lib >> + ${LIBDIR}/ffmpeg/lib/avutil-50.lib >> + ${LIBDIR}/ffmpeg/lib/swscale-0.lib >> + ) >> endif() >> >> if(WITH_IMAGE_OPENEXR) >> @@ -676,17 +695,16 @@ >> endif() >> >> if(WITH_IMAGE_TIFF) >> - set(TIFF ${LIBDIR}/tiff) >> - set(TIFF_LIBRARY libtiff) >> - set(TIFF_INCLUDE_DIR ${TIFF}/include) >> - set(TIFF_LIBPATH ${TIFF}/lib) >> + set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib) >> + set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include) >> endif() >> >> if(WITH_JACK) >> - set(JACK ${LIBDIR}/jack) >> - set(JACK_INCLUDE_DIRS ${JACK}/include/jack >> ${JACK}/include) >> - set(JACK_LIBRARIES libjack) >> - set(JACK_LIBPATH ${JACK}/lib) >> + set(JACK_INCLUDE_DIRS >> + ${LIBDIR}/jack/include/jack >> + ${LIBDIR}/jack/include >> + ) >> + set(JACK_LIBRARIES ${LIBDIR}/jack/lib/libjack.lib) >> endif() >> >> if(WITH_PYTHON) >> @@ -696,23 +714,24 @@ >> set(PYTHON_LIBRARIES >> ${LIBDIR}/python/lib/python32.lib) >> endif() >> >> + set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 >> /INCREMENTAL:NO >> /NODEFAULTLIB:msvcrt.lib\;msvcmrt.lib\;msvcurt.lib\;msvcrtd.lib ") >> + >> # MSVC only, Mingw doesnt need >> if(CMAKE_CL_64) >> - set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE >> /MACHINE:X64 /STACK:2097152 /OPT:NOREF /INCREMENTAL:NO >> /NODEFAULTLIB:\"msvcrt.lib\" /NODEFAULTLIB:\"msvcmrt.lib\" >> /NODEFAULTLIB:\"msvcurt.lib\" /NODEFAULTLIB:\"msvcrtd.lib\" ") >> + set(PLATFORM_LINKFLAGS "/MACHINE:X64 /OPT:NOREF >> ${PLATFORM_LINKFLAGS}") >> else() >> - set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE >> /MACHINE:IX86 /STACK:2097152 /INCREMENTAL:NO /LARGEADDRESSAWARE >> /NODEFAULTLIB:\"msvcrt.lib\" /NODEFAULTLIB:\"msvcmrt.lib\" >> /NODEFAULTLIB:\"msvcurt.lib\" /NODEFAULTLIB:\"msvcrtd.lib\" ") >> + set(PLATFORM_LINKFLAGS "/MACHINE:IX86 >> /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}") >> endif() >> >> - set(CMAKE_EXE_LINKER_FLAGS_DEBUG >> "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libcmt.lib;libc.lib ") >> + set(PLATFORM_LINKFLAGS_DEBUG >> "/NODEFAULTLIB:libcmt.lib\;libc.lib") >> >> else() >> # keep GCC spesific stuff here >> if(CMAKE_COMPILER_IS_GNUCC) >> - set(LLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt >> -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid") >> + set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 >> -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid") >> set(PLATFORM_CFLAGS "-pipe -funsigned-char >> -fno-strict-aliasing") >> >> - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} >> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE") >> - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} >> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE") >> + add_definitions(-D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) >> endif() >> >> add_definitions(-DFREE_WINDOWS) >> @@ -922,7 +941,7 @@ >> set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib) >> endif() >> >> - set(LLIBS stdc++ SystemStubs) >> + set(PLATFORM_LINKLIBS stdc++ SystemStubs) >> >> if(WITH_COCOA) >> set(PLATFORM_CFLAGS "-pipe -funsigned-char -DGHOST_COCOA") >> >> Modified: trunk/blender/build_files/cmake/macros.cmake >> =================================================================== >> --- trunk/blender/build_files/cmake/macros.cmake 2011-06-28 02:12:31 >> UTC (rev 37884) >> +++ trunk/blender/build_files/cmake/macros.cmake 2011-06-28 02:49:49 >> UTC (rev 37885) >> @@ -201,15 +201,17 @@ >> >> macro(setup_liblinks >> target) >> - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} >> ${PLATFORM_LINKFLAGS} ") >> >> + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} >> ${PLATFORM_LINKFLAGS}") >> + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} >> ${PLATFORM_LINKFLAGS_DEBUG}") >> + >> target_link_libraries(${target} >> ${OPENGL_gl_LIBRARY} >> ${OPENGL_glu_LIBRARY} >> ${JPEG_LIBRARIES} >> ${PNG_LIBRARIES} >> ${ZLIB_LIBRARIES} >> - ${LLIBS}) >> + ${PLATFORM_LINKLIBS}) >> >> # since we are using the local libs for python when compiling msvc >> projects, we need to add _d when compiling debug versions >> if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs >> >> Modified: trunk/blender/build_files/scons/config/win32-vc-config.py >> =================================================================== >> --- trunk/blender/build_files/scons/config/win32-vc-config.py 2011-06-28 >> 02:12:31 UTC (rev 37884) >> +++ trunk/blender/build_files/scons/config/win32-vc-config.py 2011-06-28 >> 02:49:49 UTC (rev 37885) >> @@ -181,7 +181,7 @@ >> >> LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', >> 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid'] >> >> -PLATFORM_LINKFLAGS = >> ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', >> '/LARGEADDRESSAWARE', '/NODEFAULTLIB:"msvcrt.lib"', >> '/NODEFAULTLIB:"msvcmrt.lib"', '/NODEFAULTLIB:"msvcurt.lib"', >> '/NODEFAULTLIB:"msvcrtd.lib"'] >> +PLATFORM_LINKFLAGS = >> ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', >> '/LARGEADDRESSAWARE', >> '/NODEFAULTLIB:msvcrt.lib;msvcmrt.lib;msvcurt.lib;msvcrtd.lib'] >> >> # # Todo >> # BF_PROFILE_CCFLAGS = ['-pg', '-g '] >> >> Modified: trunk/blender/build_files/scons/config/win64-vc-config.py >> =================================================================== >> --- trunk/blender/build_files/scons/config/win64-vc-config.py 2011-06-28 >> 02:12:31 UTC (rev 37884) >> +++ trunk/blender/build_files/scons/config/win64-vc-config.py 2011-06-28 >> 02:49:49 UTC (rev 37885) >> @@ -188,7 +188,7 @@ >> else: >> BF_NUMJOBS=6 >> >> >> @@ Diff output truncated at 10240 characters. @@ >> _______________________________________________ >> Bf-blender-cvs mailing list >> bf-blender-...@blender.org >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs >> > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > -- - Campbell _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers