if config.get('optimize', False):
    cmake_parameters.append("-DOPTIMIZE_LINK_FLAGS=\"/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF\"")


usvfs = Project("usvfs")

usvfs.depend(cmake.CMake().arguments(cmake_parameters +
                                     ["-DPROJ_ARCH={}".format("x86" if config['architecture'] == 'x86' else "x64")])
             .install()
            # TODO Not sure why this is required, will look into it at a later stage once we get the rest to build
            # .depend(patch.CreateFile("CMakeLists.txt.user", partial(gen_userfile_content, usvfs))
                     .depend(cmake.CMakeEdit(cmake.CMakeEdit.Type.CodeBlocks).arguments(cmake_parameters)
                             .depend(github.Source(config['Main_Author'], "usvfs", "master")
                                     .set_destination("usvfs"))
                             .depend("AsmJit")
                             .depend("Udis86")
                             .depend("GTest")
                             .depend("fmtlib")
                             .depend("spdlog")
                             .depend("boost")
             #        )_
             )
             )


for author,git_path, path, branch, dependencies in [
    (config['Main_Author'],               "modorganizer-archive",           "archive",           "master",          ["7zip", "Qt5"]),
    (config['Main_Author'],               "modorganizer-uibase",            "uibase",            "new_vfs_library", ["Qt5", "boost"]),
    (config['Main_Author'],               "modorganizer-lootcli",           "lootcli",           "master",          ["LootApi", "boost"]),
    (config['Main_Author'],               "modorganizer-esptk",             "esptk",             "master",          ["boost"]),
        Project(project32 + "_32").depend(unimake32)
    else:
        Project(project32 + "_32").dummy().depend(project32)

# usvfs build:
vs_target = "Clean;Build" if config['rebuild'] else "Build"
usvfs_build = \
    msbuild.MSBuild("usvfs.sln", vs_target,
                    os.path.join(config["paths"]["build"], "usvfs", "vsbuild"),
                    "x64" if config['architecture'] == 'x86_64' else "x86")
usvfs_build.depend(
    github.Source(config['Main_Author'], "usvfs",
                  "0.3.1.0-Beta").set_destination("usvfs"))
usvfs_build.depend("boost" + suffix_32)
usvfs_build.depend("GTest" + suffix_32)
usvfs.depend(usvfs_build)

for author, git_path, path, branch, dependencies, Build in [
    (config['Main_Author'], "modorganizer-game_features", "game_features",
     "master", [], False),
    (config['Main_Author'], "modorganizer-archive", "archive", "API_9.20",
     ["7zip", "Qt5", "boost"], True),
    (config['Main_Author'], "modorganizer-uibase", "uibase", "QT5.7",
     ["Qt5", "boost"], True),
    (config['Main_Author'], "modorganizer-lootcli", "lootcli", "master",
     ["LootApi", "boost"], True),
    (config['Main_Author'], "modorganizer-esptk", "esptk", "master", ["boost"],
     True),
    (config['Main_Author'], "modorganizer-bsatk", "bsatk", "master",
     ["zlib", "boost"], True),
    (config['Main_Author'], "modorganizer-nxmhandler", "nxmhandler", "master",
예제 #3
0
            for dep in dependencies:
                appveyor_cmake_step.depend(dep)

            if os.getenv("APPVEYOR_PROJECT_NAME","") == git_path:
                source_retrieval_step = appveyor.SetProjectFolder(os.getenv("APPVEYOR_BUILD_FOLDER", ""))
            else:
                source_retrieval_step = github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo).set_destination(path)

            if git_path == "modorganizer" and config['override_build_version']:
                #add patching step that depends on source retrieval
                patch_version_step.depend(source_retrieval_step)
                appveyor_cmake_step.depend(patch_version_step)
            else:
                appveyor_cmake_step.depend(source_retrieval_step)

            project.depend(appveyor_cmake_step)
        else:
            vs_cmake_step = cmake.CMakeVS().arguments(cmake_param).install()

            if git_path != "cmake_common":
                vs_cmake_step.depend("cmake_common")

            for dep in dependencies:
                vs_cmake_step.depend(dep)

            #vs_target = "Clean;Build" if config['rebuild'] else "Build"
            vs_msbuild_step = msbuild.MSBuild(os.path.join("vsbuild", "INSTALL.vcxproj"), None, None,
                                              "{}".format("x64" if config['architecture'] == 'x86_64' else "x86"),
                                              config['build_type'])

            source_retrieval_step = github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo).set_destination(path)
예제 #4
0
    ]
    # build_step = cmake.CMake().arguments(cmake_param).install()

    # for dep in dependencies:
    #     build_step.depend(dep)

    project = Project(git_path)

    if Build:
        vs_step = cmake.CMakeVS().arguments(cmake_param).install()
        for dep in dependencies:
            vs_step.depend(dep)

        project.depend(
            vs_step.depend(
                github.Source(author,
                              git_path,
                              branch,
                              super_repository=tl_repo).set_destination(path)))
    else:
        project.depend(
            github.Source(author, git_path, branch,
                          super_repository=tl_repo).set_destination(path))


def python_zip_collect(context):
    import libpatterns
    import glob
    from zipfile import ZipFile

    ip = os.path.join(config["paths"]["install"], "bin")
    bp = python.python['build_path']
예제 #5
0
        urldownload.URLDownload(
            "https://github.com/ModOrganizer2/modorganizer-umbrella/releases/download/1.1/boost_prebuilt_{}.7z"
            .format(boost_tag_version.replace(".", "_"))).set_destination(
                "boost_{}".format(boost_tag_version.replace(".", "_"))))
    if config['architecture'] == 'x86_64':
        boost_stage = Patch.Copy(
            os.path.join(
                "{}/lib{}-msvc-{}/lib/boost_python{}-vc{}-mt-{}-{}.dll".format(
                    boost_path,
                    "64" if config['architecture'] == 'x86_64' else "32",
                    vc_version, config["python_version"].replace(".", ""),
                    vc_version.replace(".", ""),
                    "x64" if config['architecture'] == "x86_64" else "x86",
                    "_".join(boost_version.split(".")[:-1]))),
            os.path.join(config["paths"]["install"], "bin"))
        boost.depend(boost_stage)

else:
    boost_prepare = Project("boost_prepare") \
        .depend(b2.Bootstrap()
                .depend(Patch.CreateFile(user_config_jam,
                                         lambda: config_template.format(
                                             python_version,
                                             os.path.join(
                                                python.python['build_path'], "PCBuild",
                                                "{}".format("" if config['architecture'] == 'x86' else "amd64"))
                                             .replace("\\", '/'),
                                             os.path.join(python.python['build_path']).replace("\\", '/'),
                                             "64" if config['architecture'] == "x86_64" else "32"))
                        .depend(urldownload.URLDownload("https://dl.bintray.com/boostorg/release/{}/source/boost_{}.7z"
                                                        .format(boost_version,boost_tag_version.replace(".", "_"))
    "-DCMAKE_INSTALL_PREFIX:PATH={}/install".format(config["__build_base_path"])
]


if config.get('optimize', False):
    cmake_parameters.append("-DOPTIMIZE_LINK_FLAGS=\"/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF\"")


usvfs = Project("usvfs")

usvfs.depend(cmake.CMake().arguments(cmake_parameters +
                                     ["-DPROJ_ARCH={}".format("x86" if config['architecture'] == 'x86' else "x64")])
             .install()
             .depend(patch.CreateFile("CMakeLists.txt.user", partial(gen_userfile_content, usvfs))
                     .depend(cmake.CMakeEdit(cmake.CMakeEdit.Type.CodeBlocks).arguments(cmake_parameters)
                             .depend(github.Source("TanninOne", "usvfs", "master")
                                     .set_destination("usvfs"))
                             .depend("AsmJit").depend("Udis86").depend("GTest")
                             )
                     )
             )


for git_path, path, branch, dependencies in [
    ("modorganizer-archive",           "archive",           "master",          ["7zip", "Qt5"]),
    ("modorganizer-uibase",            "uibase",            "new_vfs_library", ["Qt5", "boost"]),
    ("modorganizer-lootcli",           "lootcli",           "master",          ["LootApi", "boost"]),
    ("modorganizer-esptk",             "esptk",             "master",          ["boost"]),
    ("modorganizer-bsatk",             "bsatk",             "master",          ["zlib"]),
    ("modorganizer-nxmhandler",        "nxmhandler",        "master",          ["Qt5"]),
    ("modorganizer-helper",            "helper",            "master",          ["Qt5"]),
예제 #7
0
        config["paths"]["build"], config["boost_version"].replace(".", "_")),
]

if config.get('optimize', False):
    cmake_parameters.append(
        "-DOPTIMIZE_LINK_FLAGS=\"/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF\"")

usvfs = Project("usvfs")

usvfs.depend(
    cmake.CMake().arguments(
        cmake_parameters +
        ["-DCMAKE_INSTALL_PREFIX:PATH={}".format(config["paths"]["install"])] +
        [
            "-DPROJ_ARCH={}".format("x86" if config['architecture'] ==
                                    'x86' else "x64")
        ]).install()
    # TODO Not sure why this is required, will look into it at a later stage once we get the rest to build
    .depend(
        github.Source(config['Main_Author'], "usvfs",
                      "master").set_destination("usvfs")).depend(
                          "AsmJit").depend("Udis86").depend("GTest").depend(
                              "fmtlib").depend("spdlog").depend("boost"))

if config['architecture'] == 'x86_64':
    usvfs_32 = Project("usvfs_32")
    usvfs_32.depend(
        build.Run_With_Output(
            r'"{0}" unimake.py -d "{1}" --set architecture="x86" -b "build_32" -p "progress_32" -i "install_32" usvfs'
            .format(sys.executable, config['__build_base_path']),
            name="Building usvfs 32bit Dll",
            environment=config['__Default_environment'],
예제 #8
0
    # build_step = cmake.CMake().arguments(cmake_param).install()

    # for dep in dependencies:
    #     build_step.depend(dep)

    project = Project(git_path)

    if Build:
        if config['Appveyor_Build']:
            jom_cmake_step = cmake.CMakeJOM().arguments(cmake_param).install()

            for dep in dependencies:
                jom_cmake_step.depend(dep)
            if os.getenv("APPVEYOR_PROJECT_NAME", "") == git_path:
                project.depend(
                    jom_cmake_step.depend(
                        appveyor.SetProjectFolder(
                            os.getenv("APPVEYOR_BUILD_FOLDER", ""))))
            else:
                project.depend(
                    jom_cmake_step.depend(
                        github.Source(
                            author, git_path, branch,
                            super_repository=tl_repo).set_destination(path)))
        else:
            vs_cmake_step = cmake.CMakeVS().arguments(cmake_param).install()

            for dep in dependencies:
                vs_cmake_step.depend(dep)

            vs_target = "Clean;Build" if config['rebuild'] else "Build"
            vs_msbuild_step = msbuild.MSBuild(
if config.get('optimize', False):
    cmake_parameters.append(
        "-DOPTIMIZE_LINK_FLAGS=\"/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF\"")

usvfs = Project("usvfs")

usvfs.depend(
    cmake.CMake().arguments(cmake_parameters + [
        "-DPROJ_ARCH={}".format("x86" if config['architecture'] ==
                                'x86' else "x64")
    ]).install()
    # TODO Not sure why this is required, will look into it at a later stage once we get the rest to build
    # .depend(patch.CreateFile("CMakeLists.txt.user", partial(gen_userfile_content, usvfs))
    .depend(
        cmake.CMakeEdit(cmake.CMakeEdit.Type.CodeBlocks).arguments(
            cmake_parameters).depend(
                github.Source(
                    config['Main_Author'], "usvfs",
                    "master").set_destination("usvfs")).depend(
                        "AsmJit").depend("Udis86").depend("GTest").depend(
                            "fmtlib").depend("spdlog").depend("boost")
        #        )_
    ))

for author, git_path, path, branch, dependencies in [
    (config['Main_Author'], "modorganizer-archive", "archive", "master",
     ["7zip", "Qt5"]),
    (config['Main_Author'], "modorganizer-uibase", "uibase", "new_vfs_library",
     ["Qt5", "boost"]),
    (config['Main_Author'], "modorganizer-lootcli", "lootcli", "master",
예제 #10
0
    "-DCMAKE_INSTALL_PREFIX:PATH={}/install".format(
        config["__build_base_path"])
]

if config.get('optimize', False):
    cmake_parameters.append(
        "-DOPTIMIZE_LINK_FLAGS=\"/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF\"")

usvfs = Project("usvfs")

usvfs.depend(cmake.CMake().arguments(cmake_parameters + [
    "-DPROJ_ARCH={}".format("x86" if config['architecture'] ==
                            'x86' else "x64")
]).install().depend(
    patch.CreateFile("CMakeLists.txt.user", partial(
        gen_userfile_content, usvfs)).depend(
            cmake.CMakeEdit(cmake.CMakeEdit.Type.CodeBlocks).arguments(
                cmake_parameters).depend(
                    github.Source(
                        "TanninOne", "usvfs",
                        "master").set_destination("usvfs")).depend(
                            "AsmJit").depend("Udis86").depend("GTest"))))

for git_path, path, branch, dependencies in [
    ("modorganizer-archive", "archive", "master", ["7zip", "Qt5"]),
    ("modorganizer-uibase", "uibase", "new_vfs_library", ["Qt5", "boost"]),
    ("modorganizer-lootcli", "lootcli", "master", ["LootApi", "boost"]),
    ("modorganizer-esptk", "esptk", "master", ["boost"]),
    ("modorganizer-bsatk", "bsatk", "master", ["zlib"]),
    ("modorganizer-nxmhandler", "nxmhandler", "master", ["Qt5"]),
    ("modorganizer-helper", "helper", "master", ["Qt5"]),
    ("modorganizer-game_gamebryo", "game_gamebryo", "new_vfs_library",