diff --git a/build/SConscript.configure b/build/SConscript.configure index cf0b0e08..3a65f817 100644 --- a/build/SConscript.configure +++ b/build/SConscript.configure @@ -310,11 +310,20 @@ def osxlibinst_as_build_function(self, target, source, pkgname = None, use_own = return inst def remove_flag(env, flag): - try: + success = False + if flag in env['CXXFLAGS']: env['CXXFLAGS'].remove(flag) - return True - except: - return False + success = True + if flag in env['SHCXXFLAGS']: + env['SHCXXFLAGS'].remove(flag) + success = True + if flag in env['CFLAGS']: + env['CFLAGS'].remove(flag) + success = True + if flag in env['LINKFLAGS']: + env['LINKFLAGS'].remove(flag) + success = True + return success def match_pattern(x, patterns): match = False @@ -327,6 +336,7 @@ def match_pattern(x, patterns): def remove_flags(env, patterns): env['CCFLAGS'][:] = [ x for x in env['CCFLAGS'] if not match_pattern(x, patterns) ] env['CXXFLAGS'][:] = [ x for x in env['CXXFLAGS'] if not match_pattern(x, patterns) ] + env['SHCXXFLAGS'][:] = [ x for x in env['SHCXXFLAGS'] if not match_pattern(x, patterns) ] env['LINKFLAGS'][:] = [ x for x in env['LINKFLAGS'] if not match_pattern(x, patterns) ] def append_flag(env, value): @@ -354,7 +364,7 @@ def relax_compiler_settings(env): # Relax the compiler settings when compiling heavy templated code # (e.g. Boost::Spirit parsers, etc., which don't necessarily have # to be that fast) - env.RemoveFlags(['-g', '/Z7', '-ipo', '/GL']) + env.RemoveFlags(['-g', '/Z7', '/Zi', '-ipo', '/GL', '/DEBUG']) if env.RemoveFlag('-O3'): env.AppendFlag('-Os') if env.RemoveFlag('/O2'): diff --git a/build/config-linux-gcc-debug.py b/build/config-linux-gcc-debug.py index bfa12cae..55f32973 100644 --- a/build/config-linux-gcc-debug.py +++ b/build/config-linux-gcc-debug.py @@ -27,11 +27,11 @@ COLLADALIB = ['collada14dom'] # versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE, # PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR -pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip() +pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip().replace('.', '') env = locals() env['PYTHON'+pyver+'INCLUDE'] = [] -env['PYTHON'+pyver+'LIB'] = ['boost_python'] +env['PYTHON'+pyver+'LIB'] = ['boost_python3' if pyver[0] == '3' else 'boost_python'] for entry in os.popen("python-config --cflags --libs").read().split(): if entry[:2] == '-I': diff --git a/build/config-linux-gcc.py b/build/config-linux-gcc.py index 0308f63b..6173d921 100644 --- a/build/config-linux-gcc.py +++ b/build/config-linux-gcc.py @@ -27,11 +27,11 @@ COLLADALIB = ['collada14dom'] # versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE, # PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR -pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip() +pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip().replace('.', '') env = locals() env['PYTHON'+pyver+'INCLUDE'] = [] -env['PYTHON'+pyver+'LIB'] = ['boost_python'] +env['PYTHON'+pyver+'LIB'] = ['boost_python3' if pyver[0] == '3' else 'boost_python'] for entry in os.popen("python-config --cflags --libs").read().split(): if entry[:2] == '-I': diff --git a/build/config-win32-icl.py b/build/config-win32-icl.py index d409296a..74022fc2 100644 --- a/build/config-win32-icl.py +++ b/build/config-win32-icl.py @@ -3,7 +3,7 @@ DISTDIR = '#dist' CXX = 'icl' CC = 'icl' LINK = 'xilink' -CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'OPENEXR_DLL', '/D', 'NDEBUG', '/Qopenmp'] +CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/W3', '/Qdiag-disable:803' ,'/Qdiag-disable:2415', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'OPENEXR_DLL', '/D', 'NDEBUG', '/Qopenmp'] SHCXXFLAGS = CXXFLAGS TARGET_ARCH = 'x86' MSVC_VERSION = '10.0' diff --git a/build/config-win64-icl.py b/build/config-win64-icl.py index 0f4ae1e3..88d9b87d 100644 --- a/build/config-win64-icl.py +++ b/build/config-win64-icl.py @@ -3,7 +3,7 @@ DISTDIR = '#dist' CXX = 'icl' CC = 'icl' LINK = 'xilink' -CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'OPENEXR_DLL', '/D', 'NDEBUG', '/Qopenmp'] +CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/Qdiag-disable:803' ,'/Qdiag-disable:2415', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'OPENEXR_DLL', '/D', 'NDEBUG', '/Qopenmp'] SHCXXFLAGS = CXXFLAGS TARGET_ARCH = 'x86_64' MSVC_VERSION = '10.0' diff --git a/data/windows/extract-symbols.ps1 b/data/windows/extract-symbols.ps1 new file mode 100644 index 00000000..f620ce07 --- /dev/null +++ b/data/windows/extract-symbols.ps1 @@ -0,0 +1,3 @@ +Remove-Item -Recurse -Force symbols +mkdir symbols +Get-ChildItem build -include *.pdb -recurse | foreach ($_) { python dependencies\bin\symbolstore.py dependencies\bin\dump_syms_x86 symbols $_.fullname } \ No newline at end of file diff --git a/src/converter/collada.cpp b/src/converter/collada.cpp index 43f89132..b6fd9360 100644 --- a/src/converter/collada.cpp +++ b/src/converter/collada.cpp @@ -1578,7 +1578,7 @@ void GeometryConverter::convertCollada(const fs::path &inputFile, const fs::path &meshesDirectory) { CustomErrorHandler errorHandler; daeErrorHandler::setErrorHandler(&errorHandler); - SLog(EInfo, "Loading \"%s\" ..", inputFile.filename().c_str()); + SLog(EInfo, "Loading \"%s\" ..", inputFile.filename().string().c_str()); #if COLLADA_DOM_SUPPORT141 DAE *dae = new DAE(NULL, NULL, "1.4.1"); domCOLLADA *document = dae->open141(inputFile.string());