예제 #1
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    major_version = re.match('^[0-9]+', version).group(0)
    mm_version = str(re.match('^[0-9]+\.[0-9]+', version).group(0)).replace('.', '')
    fs.remove(build_directory)

    if is_windows():
        print('This may take a while')
        net.download_file(qt_x64_path.format(major_version, mm_version, version), qt_archive)
        archives.extract_7_zip(qt_archive, build_directory)
        net.download_file(qt_x64_path.format(major_version, mm_version, version), qt_archive)
        archives.extract_7_zip(qt_archive, build_directory)

        net.download_file('http://download.qt.io/official_releases/vsaddin/qt-vs-addin-1.2.4-opensource.exe',
                          qt_vs_addin_path)
        print('Running Qt Visual Studio Addin installer')
        if os.path.exists(qt_vs_addin_path):
            subprocess.call([qt_vs_addin_path], shell=True)
        else:
            raise Exception('Cannot find Qt VS Addin installer')
            sys.exit(80)

        fs.remove(qt_archive)
        fs.remove(qt_vs_addin_path)
예제 #2
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    fs.remove(build_directory)
    net.download_file(
        boost_url.format(version,
                         str(version).replace('.', '_')), boost_archive)
    archives.extract_7_zip(boost_archive, origin_dir)
    fs.rename(os.path.join(origin_dir, 'boost_*'), build_directory, False)
    set_system_variable('BOOST_ROOT', build_directory)
    set_system_variable('BOOST_HOME', build_directory)

    TemporaryDir.enter(build_directory)
    bootstrap_exec = 'bootstrap'
    b2_exec = 'b2'
    logs_dir = os.path.join(os.getcwd(), s_config.log_folder)
    require_full_path(logs_dir)
    with open(os.path.join(logs_dir, 'build_boost.log'), 'a+') as log_file:
        subprocess.call([bootstrap_exec],
                        stdout=log_file,
                        stderr=log_file,
                        shell=True)
        subprocess.call([b2_exec],
                        stdout=log_file,
                        stderr=log_file,
                        shell=True)

    TemporaryDir.leave()

    fs.remove(boost_archive)
    fs.clear(
        build_directory,
        cleanup_extensions['obj_files'],
    )
예제 #3
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    vcs.git_clone('https://code.google.com/p/ozz-animation.git', origin_dir,
                  True)
    cmake.run_cmake(origin_dir, 'x86', 'x86')
    vcxproj_to_change_x86 = ('x86/' + s for s in vcxproj_pathes)
    if is_windows():
        vcxproj_change_mult(vcxproj_to_change_x86)
        assembly.build_vcxproj(
            os.path.join(origin_dir, 'x86', 'ALL_BUILD.vcxproj'),
            lib_directory)

    cmake.run_cmake(origin_dir, 'x64', 'x64')
    vcxproj_to_change_x64 = ('x64/' + s for s in vcxproj_pathes)
    if is_windows():
        vcxproj_change_mult(vcxproj_to_change_x64)
        assembly.build_vcxproj(
            os.path.join(origin_dir, 'x64', 'ALL_BUILD.vcxproj'),
            lib_directory)

    # TODO: copy
    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(headers_dir, False, ['.h'])
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #4
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    vcs.git_clone('https://github.com/gabime/spdlog.git', origin_dir, True)
    vcs.git_checkout(origin_dir, module_params['version'])
    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.remove(origin_dir)
예제 #5
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    # fs.remove(origin_dir)
    # net.download_file(boost_url.format(version, str(version).replace('.', '_')), boost_archive)
    # archives.extract_7_zip(boost_archive, os.getcwd())
    # fs.rename(os.path.join('boost_*'), origin_dir, True)
    set_system_variable('BOOST_ROOT', origin_dir)
    set_system_variable('BOOST_HOME', origin_dir)

    bootstrap_exec = 'bootstrap'
    b2_exec = 'b2'
    logs_dir = os.path.join(os.getcwd(), s_config.log_folder)
    require_full_path(logs_dir)
    with open(os.path.join(logs_dir, 'build_boost.log'), 'a+') as log_file:
        TemporaryDir.enter(origin_dir)
        subprocess.call([bootstrap_exec], stdout=log_file, stderr=log_file, shell=True)
        # x86
        subprocess.call([b2_exec, '--libdir={}'.format(lib_directory), '--includedir={}'.format(headers_dir),
                         '--address-model=32', '--stagedir={}'.format(lib_directory_x86), '--build-type=complete',
                         '--link=static'], stdout=log_file, stderr=log_file, shell=True)

        subprocess.call([b2_exec, '--libdir={}'.format(lib_directory), '--includedir={}'.format(headers_dir),
                         '--address-model=64', '--stagedir={}'.format(lib_directory_x64), '--build-type=complete',
                         '--link=static'], stdout=log_file, stderr=log_file, shell=True)

        TemporaryDir.leave()
예제 #6
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    major_version = re.match('^[0-9]+', version).group(0)
    mm_version = str(re.match('^[0-9]+\.[0-9]+',
                              version).group(0)).replace('.', '')
    fs.remove(build_directory)

    if is_windows():
        print('This may take a while')
        net.download_file(
            qt_x64_path.format(major_version, mm_version, version), qt_archive)
        archives.extract_7_zip(qt_archive, build_directory)
        net.download_file(
            qt_x64_path.format(major_version, mm_version, version), qt_archive)
        archives.extract_7_zip(qt_archive, build_directory)

        net.download_file(
            'http://download.qt.io/official_releases/vsaddin/qt-vs-addin-1.2.4-opensource.exe',
            qt_vs_addin_path)
        print('Running Qt Visual Studio Addin installer')
        if os.path.exists(qt_vs_addin_path):
            subprocess.call([qt_vs_addin_path], shell=True)
        else:
            raise Exception('Cannot find Qt VS Addin installer')
            sys.exit(80)

        fs.remove(qt_archive)
        fs.remove(qt_vs_addin_path)
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    vcs.git_clone('https://github.com/easylogging/easyloggingpp.git', origin_dir)
    vcs.git_checkout(origin_dir, module_params['version'])
    fs.rename(os.path.join(origin_dir, 'src'), headers_dir, True)
    fs.remove(origin_dir)
예제 #8
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    freeimage_url = 'http://downloads.sourceforge.net/freeimage/FreeImage{version}.zip'.format(
        version=module_params['version'])
    net.download_file(freeimage_url, freeimage_path)
    archives.extract_zip(freeimage_path)
    fs.rename('FreeImage', origin_dir)
    fs.remove(freeimage_path)
    vcxproj_to_change = ('FreeImage.2013.vcxproj',
                         'Source/FreeImageLib/FreeImageLib.2013.vcxproj',
                         'Source/LibJPEG/LibJPEG.2013.vcxproj',
                         'Source/LibJXR/LibJXR.2013.vcxproj',
                         'Source/LibOpenJPEG/LibOpenJPEG.2013.vcxproj',
                         'Source/LibPNG/LibPNG.2013.vcxproj',
                         'Source/LibRawLite/LibRawLite.2013.vcxproj',
                         'Source/LibTIFF4/LibTIFF4.2013.vcxproj',
                         'Source/LibWebP/LibWebP.2013.vcxproj',
                         'Source/OpenEXR/OpenEXR.2013.vcxproj',
                         'Source/ZLib/ZLib.2013.vcxproj')
    print('Be patient. Freeimage compiling for a long time.')
    if is_windows():
        for vcxproj_file in vcxproj_to_change:
            vcxproj_file = os.path.join(origin_dir, vcxproj_file)
            assembly.set_vcxproj_platform_toolset(vcxproj_file,
                                                  config.visual_studio_toolset)
            assembly.set_vcxproj_runtime_library(
                vcxproj_file, config.visual_studio_runtime_library)

        assembly.build_vcxproj(
            os.path.join(origin_dir, 'FreeImage.2013.vcxproj'), lib_directory)

    fs.rename(os.path.join(origin_dir, 'Source'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #9
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    freeimage_url = 'http://downloads.sourceforge.net/freeimage/FreeImage{version}.zip'.format(
        version=module_params['version'])
    net.download_file(freeimage_url, freeimage_path)
    archives.extract_zip(freeimage_path)
    fs.rename('FreeImage', origin_dir)
    fs.remove(freeimage_path)
    vcxproj_to_change = ('FreeImage.2013.vcxproj',
                         'Source/FreeImageLib/FreeImageLib.2013.vcxproj',
                         'Source/LibJPEG/LibJPEG.2013.vcxproj',
                         'Source/LibJXR/LibJXR.2013.vcxproj',
                         'Source/LibOpenJPEG/LibOpenJPEG.2013.vcxproj',
                         'Source/LibPNG/LibPNG.2013.vcxproj',
                         'Source/LibRawLite/LibRawLite.2013.vcxproj',
                         'Source/LibTIFF4/LibTIFF4.2013.vcxproj',
                         'Source/LibWebP/LibWebP.2013.vcxproj',
                         'Source/OpenEXR/OpenEXR.2013.vcxproj',
                         'Source/ZLib/ZLib.2013.vcxproj'
                         )
    print('Be patient. Freeimage compiling for a long time.')
    if is_windows():
        for vcxproj_file in vcxproj_to_change:
            vcxproj_file = os.path.join(origin_dir, vcxproj_file)
            assembly.set_vcxproj_platform_toolset(vcxproj_file, config.visual_studio_toolset)
            assembly.set_vcxproj_runtime_library(vcxproj_file, config.visual_studio_runtime_library)

        assembly.build_vcxproj(os.path.join(origin_dir, 'FreeImage.2013.vcxproj'), lib_directory)

    fs.rename(os.path.join(origin_dir, 'Source'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #10
0
def build(module_params):
    if is_linux():
        check_dependencies(['gksudo'])
        assembly.install_distro_dependencies(['git'])
    elif is_windows():
        net.download_file("https://dl.dropboxusercontent.com/u/92011034/git.zip", git_archive)
        archives.extract_7_zip(git_archive, git_path)
        fs.remove(git_archive)
예제 #11
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    url_to_eigen = 'http://bitbucket.org/eigen/eigen/get/{version}.zip'.format(version=module_params['version'])
    net.download_file(url_to_eigen, archive_path)
    archives.extract_zip(archive_path)
    fs.rename(os.path.join('eigen-*', 'Eigen'), headers_dir, True)
    fs.remove('eigen-*')
    fs.remove(archive_path)
    fs.clear(headers_dir)
예제 #12
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    url_to_eigen = 'http://bitbucket.org/eigen/eigen/get/{version}.zip'.format(
        version=module_params['version'])
    net.download_file(url_to_eigen, archive_path)
    archives.extract_zip(archive_path)
    fs.rename(os.path.join('eigen-*', 'Eigen'), headers_dir, True)
    fs.remove('eigen-*')
    fs.remove(archive_path)
    fs.clear(headers_dir)
예제 #13
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    glm_url = "http://sourceforge.net/projects/ogl-math/files/glm-{0}/glm-{0}.zip/download".format(
        module_params['version'])
    net.download_file(glm_url, glm_path)
    archives.extract_7_zip(glm_path, origin_dir)
    fs.rename(os.path.join(origin_dir, 'glm', 'glm'), headers_dir, True)
    fs.remove(glm_path)
    fs.remove(origin_dir)
예제 #14
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    vcs.git_clone('https://github.com/cppformat/cppformat.git', origin_dir, True)
    vcs.git_checkout(origin_dir, module_params['version'])
    cmake.run_cmake(origin_dir, 'x86',  os.path.join(origin_dir, 'cppformat_x86'))
    build_lib('x86')
    cmake.run_cmake(origin_dir, 'x64',  os.path.join(origin_dir, 'cppformat_x64'))
    build_lib('x64')
    fs.move_files_to_dir_by_mask(os.path.join(origin_dir, '*.h'), headers_dir, True)
예제 #15
0
def build(module_params):
    fs.remove(origin_dir)
    check_dependencies(False, ['version'], module_params)
    vcs.git_clone('https://github.com/glfw/glfw.git', origin_dir)
    vcs.git_checkout(origin_dir, module_params['version'])

    build_arch('x86')
    build_arch('x64')

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #16
0
def build(module_params):
    fs.remove(origin_dir)
    check_dependencies(False, ['version'], module_params)
    vcs.git_clone('https://github.com/glfw/glfw.git', origin_dir)
    vcs.git_checkout(origin_dir, module_params['version'])

    build_arch('x86')
    build_arch('x64')

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #17
0
def build(module_params):
    if is_linux():
        check_dependencies(['gksudo'])
        assembly.install_distro_dependencies(['cmake'])
    elif is_windows():
        check_dependencies(False, ['version'])
        version = module_params['version']
        cmake_url = "http://www.cmake.org/files/v{0}/" \
                    "cmake-{1}-win32-x86.zip".format(re.search('\.[0-9]+$', version).group(1), version)
        net.download_file(cmake_url, cmake_path)
        archives.extract_7_zip(cmake_path, s_config.tools_directory + os.path.sep)
        fs.remove(cmake_path)
        fs.rename(os.path.join(s_config.tools_directory, 'cmake-*'), os.path.join(s_config.tools_directory, 'cmake'))
예제 #18
0
def build(module_params):
    if is_linux():
        check_dependencies(['gksudo'])
        assembly.install_distro_dependencies(['cmake'])
    elif is_windows():
        check_dependencies(False, ['version'])
        small_version = '.'.join(str(module_params['version']).split('.')[0:2])
        cmake_url = "http://www.cmake.org/files/v{0}/cmake-{1}-win32-x86.zip".format(small_version,
                                                                                     module_params['version'])
        net.download_file(cmake_url, cmake_path)
        archives.extract_7_zip(cmake_path, s_config.tools_directory + os.path.sep)
        fs.remove(cmake_path)
        fs.rename(os.path.join(s_config.tools_directory, 'cmake-*'), os.path.join(s_config.tools_directory, 'cmake'),
                  True)
예제 #19
0
def build(module_params):
    if is_linux():
        check_dependencies(['gksudo'])
        assembly.install_distro_dependencies(['cmake'])
    elif is_windows():
        check_dependencies(False, ['version'])
        version = module_params['version']
        cmake_url = "http://www.cmake.org/files/v{0}/" \
                    "cmake-{1}-win32-x86.zip".format(re.search('\.[0-9]+$', version).group(1), version)
        net.download_file(cmake_url, cmake_path)
        archives.extract_7_zip(cmake_path,
                               s_config.tools_directory + os.path.sep)
        fs.remove(cmake_path)
        fs.rename(os.path.join(s_config.tools_directory, 'cmake-*'),
                  os.path.join(s_config.tools_directory, 'cmake'))
예제 #20
0
def build(module_params):
    sys.path.append(os.path.abspath(origin_dir))
    logs_dir = os.path.abspath(s_config.log_folder)
    fs.remove(logs_dir)
    require_full_path(logs_dir)
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    fs.remove(origin_dir)
    fetch_v8(version, logs_dir)
    print('Building v8 x64')
    make_v8('x64', logs_dir)
    print('Building v8 x86')
    make_v8('ia32', logs_dir)
    fs.rename(os.path.join(origin_dir, 'v8', 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'], )
예제 #21
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    freetype_url = "http://download.savannah.gnu.org/releases/freetype/freetype-{}.tar.gz".format(
        module_params['version'])
    net.download_file(freetype_url, path_tar_gz)
    archives.extract_7_zip(path_tar_gz, download_dir)
    archives.extract_7_zip(path_tar)
    fs.rename('freetype-*', origin_dir, True)
    fs.remove(download_dir)
    if is_windows():
        assembly.set_vcxproj_platform_toolset(vcxproj_file, config.visual_studio_toolset)
        assembly.set_vcxproj_runtime_library(vcxproj_file, config.visual_studio_runtime_library)
        assembly.build_vcxproj(vcxproj_file, lib_directory)

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #22
0
def build(module_params):
    sys.path.append(os.path.abspath(origin_dir))
    logs_dir = os.path.abspath(s_config.log_folder)
    fs.remove(logs_dir)
    require_full_path(logs_dir)
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    fs.remove(origin_dir)
    fetch_v8(version, logs_dir)
    print('Building v8 x64')
    make_v8('x64', logs_dir)
    print('Building v8 x86')
    make_v8('ia32', logs_dir)
    fs.rename(os.path.join(origin_dir, 'v8', 'include'), headers_dir, True)
    fs.clear(
        origin_dir,
        cleanup_extensions['c++'],
    )
예제 #23
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    glew_url = 'https://sourceforge.net/projects/glew/files/glew/{0}/glew-{0}.zip/download'.format(
        module_params['version'])

    net.download_file(glew_url, archive_path)

    archives.extract_zip(archive_path)
    fs.remove(archive_path)
    fs.rename('glew-*', origin_dir, True)
    if is_windows():
        assembly.set_vcxproj_platform_toolset(main_vcxproj, config.visual_studio_toolset)
        assembly.set_vcxproj_runtime_library(main_vcxproj, config.visual_studio_runtime_library)
        assembly.build_vcxproj(main_vcxproj, lib_directory)

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #24
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    sqlite_url = 'http://www.sqlite.org/2015/sqlite-amalgamation-{0}.zip'.format(module_params['version'])
    net.download_file(sqlite_url, archive_path)
    archives.extract_zip(archive_path)
    fs.remove(archive_path)
    fs.rename('sqlite-amalgamation*', origin_dir, True)
    create_and_run_cmake_file(origin_dir, 'x86')
    create_and_run_cmake_file(origin_dir, 'x64')
    if is_windows():
        assembly.build_vcxproj(os.path.join(origin_dir, 'sqlite_x86', 'sqlite_x86.vcxproj'), lib_directory,
                               ('Debug', 'Release'))
        assembly.build_vcxproj(os.path.join(origin_dir, 'sqlite_x64', 'sqlite_x64.vcxproj'), lib_directory,
                               ('Debug', 'Release'))

    fs.move_files_to_dir_by_mask(os.path.join(origin_dir, '*.h'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #25
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    glew_url = 'https://sourceforge.net/projects/glew/files/glew/{0}/glew-{0}.zip/download'.format(
        module_params['version'])

    net.download_file(glew_url, archive_path)

    archives.extract_zip(archive_path)
    fs.remove(archive_path)
    fs.rename('glew-*', origin_dir, True)
    if is_windows():
        assembly.set_vcxproj_platform_toolset(main_vcxproj,
                                              config.visual_studio_toolset)
        assembly.set_vcxproj_runtime_library(
            main_vcxproj, config.visual_studio_runtime_library)
        assembly.build_vcxproj(main_vcxproj, lib_directory)

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #26
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    vcs.git_clone('https://code.google.com/p/ozz-animation.git', origin_dir, True)
    cmake.run_cmake(origin_dir, 'x86', 'x86')
    vcxproj_to_change_x86 = ('x86/' + s for s in vcxproj_pathes)
    if is_windows():
        vcxproj_change_mult(vcxproj_to_change_x86)
        assembly.build_vcxproj(os.path.join(origin_dir, 'x86', 'ALL_BUILD.vcxproj'), lib_directory)

    cmake.run_cmake(origin_dir, 'x64', 'x64')
    vcxproj_to_change_x64 = ('x64/' + s for s in vcxproj_pathes)
    if is_windows():
        vcxproj_change_mult(vcxproj_to_change_x64)
        assembly.build_vcxproj(os.path.join(origin_dir, 'x64', 'ALL_BUILD.vcxproj'), lib_directory)

    # TODO: copy
    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.clear(headers_dir, False, ['.h'])
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #27
0
def build(module_params):
    check_dependencies((), ['version'], module_params)
    version = module_params['version']
    if is_windows():
        url_to_installer = "http://www.fmod.org/download/fmodstudio/api/Win/fmodstudioapi{}win-installer.exe".format(
            version)
        net.download_file(url_to_installer, fmod_path)
        archives.extract_7_zip(fmod_path, origin_dir)
    elif is_linux():
        url_to_installer = "http://www.fmod.org/download/fmodstudio/api/Linux/fmodstudioapi{}linux.tar.gz".format(
            version)
        net.download_file(url_to_installer, fmod_path)
        archives.extract_tar(fmod_path)
        fs.remove(origin_dir)
        fs.rename('fmodstudioapi*', origin_dir, True)
    fs.remove(build_dir)
    fs.remove(os.path.join(origin_dir, 'api', '*', 'examples'))
    fs.rename(os.path.join(origin_dir, 'api'), build_dir, True)
    fs.remove(fmod_path)
    fs.remove(origin_dir)
예제 #28
0
def build(module_params):
    # TODO: Looks like windows is working, problems with linux version (extract .so from binary)
    check_dependencies(False, ['version'], module_params)

    fs.remove(origin_dir)

    if is_windows():
        net.download_file(
            'http://images.autodesk.com/adsk/files/fbx{version}_fbxsdk_vs2013_win.exe'
            .format(version=module_params['version']), exe_path)
        archives.extract_7_zip(exe_path, origin_dir)
    elif is_linux():
        net.download_file(
            'http://images.autodesk.com/adsk/files/fbx{version}_fbxsdk_linux.tar.gz'
            .format(version=module_params['version']), 'origin.tar.gz')
        archives.extract_tar('origin.tar.gz', origin_dir)

    fs.rename(os.path.join(origin_dir, 'include'), headers_dir, True)
    fs.rename(os.path.join(origin_dir, 'lib', 'vs2013'), lib_directory, True)
    fs.remove(origin_dir)
    fs.remove(exe_path)
예제 #29
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    fs.remove(origin_dir)
    sqlite_url = 'http://www.sqlite.org/2015/sqlite-amalgamation-{0}.zip'.format(
        module_params['version'])
    net.download_file(sqlite_url, archive_path)
    archives.extract_zip(archive_path)
    fs.remove(archive_path)
    fs.rename('sqlite-amalgamation*', origin_dir, True)
    create_and_run_cmake_file(origin_dir, 'x86')
    create_and_run_cmake_file(origin_dir, 'x64')
    if is_windows():
        assembly.build_vcxproj(
            os.path.join(origin_dir, 'sqlite_x86', 'sqlite_x86.vcxproj'),
            lib_directory, ('Debug', 'Release'))
        assembly.build_vcxproj(
            os.path.join(origin_dir, 'sqlite_x64', 'sqlite_x64.vcxproj'),
            lib_directory, ('Debug', 'Release'))

    fs.move_files_to_dir_by_mask(os.path.join(origin_dir, '*.h'), headers_dir,
                                 True)
    fs.clear(origin_dir, cleanup_extensions['c++'])
예제 #30
0
def build(module_params):
    check_dependencies(False, ['version'], module_params)
    version = module_params['version']
    fs.remove(build_directory)
    net.download_file(boost_url.format(version, str(version).replace('.', '_')), boost_archive)
    archives.extract_7_zip(boost_archive, origin_dir)
    fs.rename(os.path.join(origin_dir, 'boost_*'), build_directory, False)
    set_system_variable('BOOST_ROOT', build_directory)
    set_system_variable('BOOST_HOME', build_directory)

    TemporaryDir.enter(build_directory)
    bootstrap_exec = 'bootstrap'
    b2_exec = 'b2'
    logs_dir = os.path.join(os.getcwd(), s_config.log_folder)
    require_full_path(logs_dir)
    with open(os.path.join(logs_dir, 'build_boost.log'), 'a+') as log_file:
        subprocess.call([bootstrap_exec], stdout=log_file, stderr=log_file, shell=True)
        subprocess.call([b2_exec], stdout=log_file, stderr=log_file, shell=True)

    TemporaryDir.leave()

    fs.remove(boost_archive)
    fs.clear(build_directory, cleanup_extensions['obj_files'],)
예제 #31
0
def build(module_params):
    if is_linux():
        check_dependencies(['gksudo'])
        assembly.install_distro_dependencies(['p7zip-full'])