Fix win-scons CI (#531)
* scons follow reference to c++ compiler * don't worry about testing C compiler * on failure, compile test program * fix windows DEBUG definition flag * add source file to win-scons SConscript This fixes #514
This commit is contained in:
22
SConstruct
22
SConstruct
@@ -79,7 +79,8 @@ if platform not in ("darwin", "win32", "posix"):
|
|||||||
Exit(1)
|
Exit(1)
|
||||||
print('Building for:', platform)
|
print('Building for:', platform)
|
||||||
print('Using toolchain:', toolset)
|
print('Using toolchain:', toolset)
|
||||||
print('C++ compiler:', env['CXX'])
|
cxx = env.subst(env['CXX'])
|
||||||
|
print('C++ compiler:', cxx)
|
||||||
|
|
||||||
env.VariantDir('#build/obj', 'src')
|
env.VariantDir('#build/obj', 'src')
|
||||||
env.VariantDir('#build/obj/test', 'test')
|
env.VariantDir('#build/obj/test', 'test')
|
||||||
@@ -89,7 +90,7 @@ if not env['release']:
|
|||||||
if platform in ['posix', 'darwin']:
|
if platform in ['posix', 'darwin']:
|
||||||
env.Append(CCFLAGS=['-g','-O0', '-D' 'DEBUG=1'])
|
env.Append(CCFLAGS=['-g','-O0', '-D' 'DEBUG=1'])
|
||||||
elif platform == 'win32':
|
elif platform == 'win32':
|
||||||
env.Append(CCFLAGS=['/Zi', '/Od', '/D', 'DEBUG=1'])
|
env.Append(CCFLAGS=['/Zi', '/Od', '/DDEBUG'])
|
||||||
env.Append(LINKFLAGS=['/DEBUG'])
|
env.Append(LINKFLAGS=['/DEBUG'])
|
||||||
|
|
||||||
# This command generates the header with git revision information
|
# This command generates the header with git revision information
|
||||||
@@ -327,8 +328,23 @@ bundled_libs = []
|
|||||||
if not env.GetOption('clean'):
|
if not env.GetOption('clean'):
|
||||||
conf = Configure(env)
|
conf = Configure(env)
|
||||||
|
|
||||||
if not conf.CheckCC() or not conf.CheckCXX():
|
if not conf.CheckCXX():
|
||||||
print("There's a problem with your compiler!")
|
print("There's a problem with your compiler!")
|
||||||
|
|
||||||
|
test_command = env.subst(env['CXXCOM'])
|
||||||
|
print('Working directory:', os.getcwd())
|
||||||
|
print('Compiling test program: ' + test_command)
|
||||||
|
|
||||||
|
with open('test.cpp', 'w') as test_file:
|
||||||
|
test_file.writelines([
|
||||||
|
'int main(void)\n',
|
||||||
|
'{\n',
|
||||||
|
'return 0;\n',
|
||||||
|
'}\n',
|
||||||
|
])
|
||||||
|
import subprocess
|
||||||
|
for line in test_command.split('\n'):
|
||||||
|
subprocess.run(line.split(' ') + ['test.cpp'])
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
def check_lib(lib, disp, suffixes=[], versions=[], msvc_versions=[]):
|
def check_lib(lib, disp, suffixes=[], versions=[], msvc_versions=[]):
|
||||||
|
@@ -31,6 +31,7 @@ if str(platform) == "darwin":
|
|||||||
tools.extend(Glob("*.mac.*"))
|
tools.extend(Glob("*.mac.*"))
|
||||||
elif str(platform) == "win32":
|
elif str(platform) == "win32":
|
||||||
tools.extend(Glob("*.win.cpp"))
|
tools.extend(Glob("*.win.cpp"))
|
||||||
|
tools.extend(Glob("../fileio/*.win.cpp"))
|
||||||
elif str(platform) == "posix":
|
elif str(platform) == "posix":
|
||||||
tools.extend(Glob("*.linux.cpp"))
|
tools.extend(Glob("*.linux.cpp"))
|
||||||
tools.append("prefs.win.cpp")
|
tools.append("prefs.win.cpp")
|
||||||
|
Reference in New Issue
Block a user