コード例 #1
0
def build_helper(build_dir):
	""" Returns 0 on success, non-0 on failure.
	"""
	# TODO(HTing): Add support for:
	#   - building differnt configurations ("--config <cfg>")
	#   - cleaning first ("--clean-first")
	return CMake.run_cmake(["--build", build_dir])
コード例 #2
0
ファイル: Generate.py プロジェクト: harrisont/Mario
def run_cmake(generator, build_dir, depot_dir):
    generator_validity = CMake.get_cmake_generator_validity(generator)
    if generator_validity == CMake.GeneratorValidity.INVALID:
        sys.exit("The CMake generator '{}', set in '{}/Config.py', is invalid.".format(
            generator, Directories.BUILD_SCRIPTS_DIR))
    elif generator_validity == CMake.GeneratorValidity.MISSING:
        sys.exit("The CMake generator '{}', set in '{}/Config.py', cannot be found.".format(
            generator, Directories.BUILD_SCRIPTS_DIR))

    # Run from the build directory.
    os.makedirs(build_dir, exist_ok=True)
    os.chdir(build_dir)

    # CMake args:
    #  -Wdev enable developer warnings
    #  -G specifies the generator
    return CMake.run_cmake(["-Wdev", "-G", generator, depot_dir])
コード例 #3
0
ファイル: Generate.py プロジェクト: Raagesh/Mario
def run_cmake(generator, build_dir, depot_dir):
    generator_validity = CMake.get_cmake_generator_validity(generator)
    if generator_validity == CMake.GeneratorValidity.INVALID:
        sys.exit(
            "The CMake generator '{}', set in '{}/Config.py', is invalid.".
            format(generator, Directories.BUILD_SCRIPTS_DIR))
    elif generator_validity == CMake.GeneratorValidity.MISSING:
        sys.exit(
            "The CMake generator '{}', set in '{}/Config.py', cannot be found."
            .format(generator, Directories.BUILD_SCRIPTS_DIR))

    # Run from the build directory.
    os.makedirs(build_dir, exist_ok=True)
    os.chdir(build_dir)

    # CMake args:
    #  -Wdev enable developer warnings
    #  -G specifies the generator
    return CMake.run_cmake(["-Wdev", "-G", generator, depot_dir])
コード例 #4
0
ファイル: codeutils.py プロジェクト: gaoshuai/pcraster
def _buildCMakeTarget(
         objectsDirectory,
         target):
  if len(_devenvSettings["callInsteadOfCMakeTarget"]):
    status = utils.call(_devenvSettings["callInsteadOfCMakeTarget"])
    return status

  cwd = os.getcwd()
  os.chdir(objectsDirectory)
  if "MAKEFLAGS" in os.environ:
    # Gnu make controls most makefiles in project directories. On windows we
    # use nmake to build targets for C++ code. When nmake is (indirectly)
    # called from gnu make it complains about the MAKEFLAGS set by gnu make.
    # See it in action by running 'make all' in one of the C++ targets
    # directories.
    del os.environ["MAKEFLAGS"]
  # WARNING, not all cmake generated targets support fast.
  if _devenvSettings["cmakeFast"]:
    target += _devenvSettings['_makeTargetSlash'] + "fast"

  status = CMake.build(target, _devenvSettings["makeNrOfJobs"])
  os.chdir(cwd)
  # return status, stdout, stderr
  return status
コード例 #5
0
ファイル: codeutils.py プロジェクト: yangjiqingchina/pcraster
def _buildCMakeTarget(
         objectsDirectory,
         target):
  if len(_devenvSettings["callInsteadOfCMakeTarget"]):
    status = utils.call(_devenvSettings["callInsteadOfCMakeTarget"])
    return status

  cwd = os.getcwd()
  os.chdir(objectsDirectory)
  if "MAKEFLAGS" in os.environ:
    # Gnu make controls most makefiles in project directories. On windows we
    # use nmake to build targets for C++ code. When nmake is (indirectly)
    # called from gnu make it complains about the MAKEFLAGS set by gnu make.
    # See it in action by running 'make all' in one of the C++ targets
    # directories.
    del os.environ["MAKEFLAGS"]
  # WARNING, not all cmake generated targets support fast.
  if _devenvSettings["cmakeFast"]:
    target += _devenvSettings['_makeTargetSlash'] + "fast"

  status = CMake.build(target, _devenvSettings["makeNrOfJobs"])
  os.chdir(cwd)
  # return status, stdout, stderr
  return status