inserted function for preprocesing cmake_command for MS Windows,testing

phase
This commit is contained in:
Miro ILIAS 2015-06-28 22:14:12 +02:00
parent 7d3f2c1527
commit f20799e3e2

View File

@ -43,6 +43,38 @@ def setup_build_path(build_path):
else:
os.makedirs(build_path, 0o755)
def adapt_cmake_command_to_arch(cmake_command):
"""
Adapt CMake command for MS Windows architecture:
"FC=foo CC=bar cmake -DTHIS -DTHAT='this and that'" rewrites into
"set FC=foo && set CC=bar && cmake -DTHIS -DTHAT='this and that'"
"""
if sys.platform == 'win32':
cmake_pos=cmake_command.find('cmake')
cmake_export_vars=cmake_command[:cmake_pos]
cmake_strings=cmake_command[cmake_pos:]
print "\n strings from cmake to right:",cmake_strings
print "strings from left up to cmake:",cmake_export_vars
print "strings from left up to cmake, split:",cmake_export_vars.split()
all_modified_exported_vars=""
for exported_var in cmake_export_vars.split():
print "exported_var=",exported_var
modified_exported_var="set " + exported_var + " && "
all_modified_exported_vars=all_modified_exported_vars+modified_exported_var
print "all_modified_exported_vars=",all_modified_exported_vars
cmake_command_win=all_modified_exported_vars+cmake_strings
print "cmake_command_win=",cmake_command_win
print "\n"
#sys.exit(-1)
cmake_command_arch = cmake_command_win
else:
cmake_command_arch = cmake_command
return cmake_command_arch
def run_cmake(command, build_path, default_build_path):
"""
@ -115,6 +147,8 @@ def configure(root_directory, build_path, cmake_command, only_show):
if not only_show:
setup_build_path(build_path)
cmake_command=adapt_cmake_command_to_arch(cmake_command)
print('%s\n' % cmake_command)
if only_show:
sys.exit(0)