Exemplo n.º 1
0
def build_arch(arch):
    cmake.run_cmake(origin_dir, arch, arch)
    vcxproj_path = os.path.join(origin_dir, arch, 'src', 'glfw.vcxproj')
    if is_windows():
        assembly.set_vcxproj_platform_toolset(vcxproj_path, config.visual_studio_toolset)
        assembly.set_vcxproj_runtime_library(vcxproj_path, config.visual_studio_runtime_library)
        assembly.build_vcxproj(vcxproj_path, lib_directory)
Exemplo n.º 2
0
    def add_dependencies_to_cmake(self, results):
        self.builder.write(results['cmake_before'])
        for directory in results['headers']:
            self.builder.include_directories(directory)
        for directory in results['subdirectories']:
            self.builder.add_subdirectory(directory)

        def add_platform(platform_name):
            for dep_config, paths in results['link_directories'].items():
                if dep_config[0] != platform_name:
                    continue
                if dep_config[1] != config.buildArchitecture:
                    continue
                for path in paths:
                    self.builder.link_dir(path)

            for dep_config, lib_names in dict(results['libs']).items():
                if dep_config[0] != platform_name:
                    continue
                if dep_config[1] != config.buildArchitecture:
                    continue
                modificator = 'general' if dep_config[2] == 'release' else 'debug'
                for lib_params in lib_names:
                    self.builder.link_library(self.target_name, lib_params['path'], modificator,
                                              is_libname=lib_params['is_libname'])

        if is_windows():
            add_platform('windows')
        elif is_linux():
            add_platform('linux')

        self.builder.write(results['cmake_after'])
Exemplo n.º 3
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)
Exemplo n.º 4
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++'])
Exemplo n.º 5
0
def make_v8(architecture, logs_dir):
    with open(os.path.join(logs_dir, 'gen_solution.log'), 'a+') as log_file:
        if is_windows():
            v8_python_path = os.path.abspath(os.path.join(origin_dir, 'python276_bin{}python.exe'.format(os.path.sep)))
            print(v8_python_path)
            TemporaryDir.enter(v8_dir)
            subprocess.call([v8_python_path, 'build{}gyp_v8'.format(os.path.sep), '-Dtarget_arch=' + architecture,
                             '-Dcomponent=static_library'], stderr=log_file, stdout=log_file, shell=True)

            # TODO: modify MT MTd flags if necessary
            vcxproj_to_change = ('third_party/icu/icui18n.vcxproj',
                                 'third_party/icu/icuuc.vcxproj',
                                 'tools/gyp/mksnapshot.vcxproj',
                                 'tools/gyp/v8_base_0.vcxproj',
                                 'tools/gyp/v8_base_1.vcxproj',
                                 'tools/gyp/v8_base_2.vcxproj',
                                 'tools/gyp/v8_base_0.vcxproj',
                                 'tools/gyp/v8_libbase.vcxproj',
                                 'tools/gyp/v8_libplatform.vcxproj',
                                 'tools/gyp/v8_nosnapshot.vcxproj',
                                 'tools/gyp/v8_snapshot.vcxproj'
                                 )
            # for vcxproj_file in vcxproj_to_change:
            #     vcxproj_file = os.path.join(v8_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(v8_dir, 'tools', 'gyp', 'v8.vcxproj'))
            TemporaryDir.leave()
            assembly.build_vcxproj(os.path.join(v8_dir, 'tools', 'gyp', 'v8.vcxproj'), lib_directory)
Exemplo n.º 6
0
def build_lib(architecture):
    if is_linux():
        assembly.make(origin_dir)
    if is_windows():
        vcxproj_path = vcxproj_file.format(architecture)
        assembly.set_vcxproj_runtime_library(vcxproj_path, config.visual_studio_runtime_library)
        assembly.set_vcxproj_platform_toolset(vcxproj_path, config.visual_studio_toolset)
        assembly.build_vcxproj(vcxproj_path, lib_directory)
Exemplo n.º 7
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)
Exemplo n.º 8
0
def integration(module_params):
    cmake.add_location(os.path.join(build_dir, 'lowlevel', 'inc'))
    cmake.add_location(os.path.join(build_dir, 'studio', 'inc'))

    # LOWLEVEL
    if is_windows():
        add_windows_libraries()
    elif is_linux():
        add_linux_libraries()
Exemplo n.º 9
0
def integration(module_params):
    cmake.add_location(headers_dir)
    if is_windows():
        # x86
        cmake.add_library(('windows', 'x86', 'release'),
                          os.path.join(lib_directory, 'Release', 'Win32', 'FreeImage.lib'))
        cmake.add_library(('windows', 'x86', 'debug'), os.path.join(lib_directory, 'Debug', 'Win32', 'FreeImaged.lib'))
        # x64
        cmake.add_library(('windows', 'x64', 'release'), os.path.join(lib_directory, 'Release', 'x64', 'FreeImage.lib'))
        cmake.add_library(('windows', 'x64', 'debug'), os.path.join(lib_directory, 'Debug', 'x64', 'FreeImaged.lib'))
Exemplo n.º 10
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++'])
Exemplo n.º 11
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'))
Exemplo n.º 12
0
def integration(module_params):
    cmake.add_location(headers_dir)

    if is_windows():
        # x86
        tiny_vers = module_params['version'].replace('.', '')
        release_lib = 'freetype{}.lib'.format(tiny_vers)
        debug_lib = 'freetype{}d.lib'.format(tiny_vers)

        cmake.add_library(('windows', 'x86', 'release'), os.path.join(lib_directory, 'Release', 'Win32', release_lib))
        cmake.add_library(('windows', 'x86', 'debug'), os.path.join(lib_directory, 'Debug', 'Win32', debug_lib))
        # x64
        cmake.add_library(('windows', 'x64', 'release'), os.path.join(lib_directory, 'Release', 'x64', release_lib))
        cmake.add_library(('windows', 'x64', 'debug'), os.path.join(lib_directory, 'Debug', 'x64', debug_lib))
Exemplo n.º 13
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)
Exemplo n.º 14
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++'])
Exemplo n.º 15
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.abspath(os.path.join(origin_dir, 'sqlite_x86', 'sqlite_x86.vcxproj')),
                               lib_directory, ('Debug', 'Release'))
        assembly.build_vcxproj(os.path.abspath(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++'])
Exemplo n.º 16
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++'])
Exemplo n.º 17
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)
Exemplo n.º 18
0
def integration(module_params):
    cmake.add_location(headers_dir)
    if is_windows():
        lib_list = (
            'ozz_animation',
            'ozz_animation_collada',
            'ozz_animation_fbx',
            'ozz_animation_offline',
            'ozz_animation_offline_tools',
            'ozz_base',
            'ozz_geometry',
            'ozz_options',
        )

        # x86
        add_library_list('windows', 'x86', 'release', 'Win32', lib_list)
        add_library_list('windows', 'x86', 'debug', 'Win32', lib_list)

        # x64
        add_library_list('windows', 'x64', 'release', 'x64', lib_list)
        add_library_list('windows', 'x64', 'debug', 'x64', lib_list)
Exemplo n.º 19
0
def integration(module_params):
    results = LibraryModule.current_working_module_results
    if is_linux():
        results['path'] = which('git')
    elif is_windows():
        results['path'] = git_exe_path
Exemplo n.º 20
0
def set_system_variable(var_name, var_value):
    if is_windows():
        shell = True
        with open('setx.log', 'a+') as log_file:
            subprocess.Popen(['setx', var_name, var_value], stdout=log_file, stderr=log_file, shell=shell)
Exemplo n.º 21
0
def integration(module_params):
    results = LibraryModule.results
    if is_linux():
        results["path"] = which("7z")
    elif is_windows():
        results["path"] = os.path.join(s_config.tools_directory, "7z.exe")
Exemplo n.º 22
0
def integration(module_params):
    results = LibraryModule.results
    if is_linux():
        results['path'] = which('cmake')
    elif is_windows():
        results['path'] = cmake_exe_path
Exemplo n.º 23
0
def integration(module_params):
    results = LibraryModule.results
    if is_linux():
        results['path'] = which('7z')
    elif is_windows():
        results['path'] = os.path.join(s_config.tools_directory, '7z.exe')