def build_rocksdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/rocksdb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF') common_cmake_line.append('-DPORTABLE=ON') common_cmake_line.append('-DWITH_TESTS=OFF') common_cmake_line.append('-DWITH_SNAPPY=ON') common_cmake_line.append('-DWITH_ZLIB=ON') common_cmake_line.append('-DWITH_LZ4=ON') common_cmake_line.append('-DROCKSDB_INSTALL_ON_WINDOWS=ON') common_cmake_line.append('-DWITH_TOOLS=OFF') common_cmake_line.append('-DWITH_GFLAGS=OFF') common_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_rocksdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/rocksdb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF') common_cmake_line.append('-DPORTABLE=ON') common_cmake_line.append('-DWITH_TESTS=OFF') common_cmake_line.append('-DWITH_SNAPPY=ON') common_cmake_line.append('-DWITH_ZLIB=ON') common_cmake_line.append('-DWITH_LZ4=ON') common_cmake_line.append('-DROCKSDB_INSTALL_ON_WINDOWS=ON') common_cmake_line.append('-DWITH_TOOLS=OFF') common_cmake_line.append('-DWITH_GFLAGS=OFF') common_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libssh2(self, cmake_line, prefix_path, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/topilski/libssh2.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') libssh2_cmake_line = list(cmake_line) libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL') libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON') libssh2_cmake_line.append('-DBUILD_EXAMPLES=OFF') libssh2_cmake_line.append('-DBUILD_TESTING=OFF') libssh2_cmake_line.append('-DOPENSSL_USE_STATIC_LIBS=ON') libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON') libssh2_cmake_line.append('-DOPENSSL_ROOT_DIR={0}'.format(prefix_path)) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(libssh2_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libssh2(self, cmake_line, prefix_path, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/topilski/libssh2.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') libssh2_cmake_line = list(cmake_line) libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL') libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON') libssh2_cmake_line.append('-DBUILD_EXAMPLES=OFF') libssh2_cmake_line.append('-DBUILD_TESTING=OFF') libssh2_cmake_line.append('-DOPENSSL_USE_STATIC_LIBS=ON') libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON') libssh2_cmake_line.append( '-DOPENSSL_ROOT_DIR={0}'.format(prefix_path)) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(libssh2_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_hiredis(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/hiredis.git', abs_dir_path) os.chdir(cloned_dir) make_hiredis = ['make', 'LIBSSH2_ENABLED=ON', 'OPENSSL_ROOT_DIR={0}'.format(prefix_path), 'PREFIX={0}'.format(prefix_path), 'install'] make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_hiredis, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_lmdb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/lmdb.git', abs_dir_path) os.chdir(cloned_dir) os.chdir('libraries/liblmdb') make_lmdb = ['make', 'install_static_lib', 'prefix={0}'.format(prefix_path)] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_lmdb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_unqlite(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/unqlite.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_lmdb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/lmdb.git', abs_dir_path) os.chdir(cloned_dir) os.chdir('libraries/liblmdb') make_lmdb = [ 'make', 'install_static_lib', 'prefix={0}'.format(prefix_path) ] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_lmdb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libev(self, prefix_path): libev_compiler_flags = utils.CompileInfo( [], ['--with-pic', '--disable-shared', '--enable-static']) pwd = os.getcwd() cloned_dir = utils.git_clone('https://github.com/fastogt/libev.git', pwd) os.chdir(cloned_dir) autogen_policy = run_command.CommonPolicy(print_message) autogen_libev = ['sh', 'autogen.sh'] run_command.run_command_cb(autogen_libev, autogen_policy) utils.build_command_configure(libev_compiler_flags, g_script_path, prefix_path) os.chdir(pwd) shutil.rmtree(cloned_dir)
def build_hiredis(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/hiredis.git', abs_dir_path) os.chdir(cloned_dir) make_hiredis = [ 'make', 'LIBSSH2_ENABLED=ON', 'OPENSSL_ROOT_DIR={0}'.format(prefix_path), 'PREFIX={0}'.format(prefix_path), 'install' ] make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_hiredis, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_forestdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/forestdb.git', abs_dir_path, None, False) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') forestdb_cmake_line = list(cmake_line) forestdb_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(forestdb_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_unqlite(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/unqlite.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_qscintilla(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/qscintilla.git', abs_dir_path) qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5') os.chdir(qsci_src_path) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') qscintilla_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(qscintilla_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_forestdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('[email protected]:fastogt/forestdb.git', abs_dir_path, None, False) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') forestdb_cmake_line = list(cmake_line) forestdb_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(forestdb_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_qscintilla(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/qscintilla.git', abs_dir_path) qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5') os.chdir(qsci_src_path) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') qscintilla_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(qscintilla_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_common(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/common.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DQT_ENABLED=ON') common_cmake_line.append('-DJSON_ENABLED=ON') common_cmake_line.append('-DSNAPPY_USE_STATIC=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_leveldb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/leveldb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') common_cmake_line.append('-DLEVELDB_BUILD_TESTS=OFF') common_cmake_line.append('-DLEVELDB_BUILD_BENCHMARKS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_snappy(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/snappy.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') snappy_cmake_line = list(cmake_line) snappy_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') snappy_cmake_line.append('-DSNAPPY_BUILD_TESTS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(snappy_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_leveldb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('[email protected]:fastogt/leveldb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') common_cmake_line.append('-DLEVELDB_BUILD_TESTS=OFF') common_cmake_line.append('-DLEVELDB_BUILD_BENCHMARKS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_common(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/common.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DQT_ENABLED=ON') common_cmake_line.append('-DJSON_ENABLED=ON') common_cmake_line.append('-DSNAPPY_USE_STATIC=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_upscaledb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/upscaledb.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_upscaledb = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy) configure_upscaledb = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-remote', '--enable-static-boost', '--disable-shared', '--disable-java', '--disable-simd', '--disable-encryption' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_upscaledb, configure_policy) make_install_upscaledb = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_install_upscaledb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libmemcached(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/libmemcached.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_libmemcached = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_libmemcached, bootstrap_policy) configure_libmemcached = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static', '--enable-sasl' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_libmemcached, configure_policy) make_libmemcached = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_libmemcached, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_jsonc(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/json-c.git', abs_dir_path) os.chdir(cloned_dir) autogen_policy = run_command.CommonPolicy(print_message) autogen_jsonc = ['sh', 'autogen.sh'] run_command.run_command_cb(autogen_jsonc, autogen_policy) configure_jsonc = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_jsonc, configure_policy) make_jsonc = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_jsonc, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_fastonosql_core(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/fastonosql_core.git', abs_dir_path, None, False) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') fastonosql_core_cmake_line = list(cmake_line) fastonosql_core_cmake_line.append('-DJSONC_USE_STATIC=ON') fastonosql_core_cmake_line.append('-DSNAPPY_USE_STATIC=ON') fastonosql_core_cmake_line.append('-DOPENSSL_USE_STATIC_LIBS=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(fastonosql_core_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_jsonc(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/json-c.git', abs_dir_path) os.chdir(cloned_dir) autogen_policy = run_command.CommonPolicy(print_message) autogen_jsonc = ['sh', 'autogen.sh'] run_command.run_command_cb(autogen_jsonc, autogen_policy) configure_jsonc = ['./configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static'] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_jsonc, configure_policy) make_jsonc = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_jsonc, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libmemcached(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/libmemcached.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_libmemcached = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_libmemcached, bootstrap_policy) configure_libmemcached = ['./configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static', '--enable-sasl'] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_libmemcached, configure_policy) make_libmemcached = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_libmemcached, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_upscaledb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/upscaledb.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_upscaledb = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy) configure_upscaledb = ['./configure', '--prefix={0}'.format(prefix_path), '--disable-remote', '--enable-static-boost', '--disable-shared', '--disable-java', '--disable-simd', '--disable-encryption'] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_upscaledb, configure_policy) make_install_upscaledb = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_install_upscaledb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build(self, cmake_project_root_path: str, branding_options: list, dir_path: str, bs: BuildSystem, package_types: list, saver: ProgressSaver): cmake_project_root_abs_path = os.path.abspath(cmake_project_root_path) if not os.path.exists(cmake_project_root_abs_path): raise build_utils.BuildError( 'invalid cmake_project_root_path: %s' % cmake_project_root_path) if not bs: bs = SUPPORTED_BUILD_SYSTEMS[0] if not package_types: package_types = self.platform_.package_types() abs_dir_path = os.path.abspath(dir_path) if os.path.exists(abs_dir_path): shutil.rmtree(abs_dir_path) generator = bs.cmake_generator_arg() build_system_args = bs.cmd_line() build_system_policy = bs.policy() saver.update_progress_message_range( 0.0, 9.0, "Start building project branding_options:\n{0}".format( "\n".join(branding_options))) pwd = os.getcwd() os.mkdir(abs_dir_path) os.chdir(abs_dir_path) # project static options log_to_file_args = '-DLOG_TO_FILE=ON' openssl_args = '-DOPENSSL_USE_STATIC_LIBS=ON' jsonc_args = '-DJSONC_USE_STATIC=ON' libev_args = '-DLIBEV_USE_STATIC=ON' cmake_line = [ 'cmake', cmake_project_root_abs_path, generator, '-DCMAKE_BUILD_TYPE=RELEASE', openssl_args, jsonc_args, log_to_file_args, libev_args ] if branding_options: cmake_line.extend(branding_options) saver.update_progress_message_range(10.0, 19.0, 'Generate project build') def store_closure(cb): def closure(progress, message): return cb(progress, message) return closure store = store_closure(saver.on_update_progress_message) try: cmake_policy = run_command.CmakePolicy(store) run_command.run_command_cb(cmake_line, cmake_policy) except Exception as ex: os.chdir(pwd) raise ex make_install = build_system_args make_install.append('install') saver.update_progress_message_range(20.0, 79.0, 'Build project') try: policy = build_system_policy(store) run_command.run_command_cb(make_install, policy) except Exception as ex: os.chdir(pwd) raise ex saver.update_progress_message_range(80.0, 84.0, 'Trying to get package file name') in_file = open('CPackConfig.cmake', 'r') for line in in_file.readlines(): res = re.search(r'(set|SET)\(CPACK_PACKAGE_FILE_NAME "(.+)"\)', line) if res: filename = res.group(1) break in_file.close() saver.update_progress_message_range(85.0, 99.0, 'Start build package') file_names = [] for generator in package_types: make_cpack = ['cpack', '-G', generator] try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_cpack, common_policy) file_names.append( os.path.join( abs_dir_path, filename + '.' + system_info.get_extension_by_package(generator))) except Exception as ex: os.chdir(pwd) raise ex os.chdir(pwd) saver.update_progress_message_range( 100.0, 100.0, "Building finished successfully file_names: {0}".format( file_names)) return file_names
def build(self, cmake_project_root_path, app_branding_options, dir_path, bs, package_types, saver): cmake_project_root_abs_path = os.path.abspath(cmake_project_root_path) if not os.path.exists(cmake_project_root_abs_path): raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_path) if not bs: bs = SUPPORTED_BUILD_SYSTEMS[0] if not package_types: package_types = self.platform_.package_types() abs_dir_path = os.path.abspath(dir_path) if os.path.exists(abs_dir_path): shutil.rmtree(abs_dir_path) is_android = self.platform_.name() == 'android' generator = bs.cmake_generator_arg() build_system_args = bs.cmd_line() build_system_policy = bs.policy() saver.update_progress_message_range( 0.0, 9.0, "Start building project branding_options:\n{0}".format( "\n".join(app_branding_options))) pwd = os.getcwd() os.mkdir(abs_dir_path) os.chdir(abs_dir_path) # project static options log_to_file_args = '-DLOG_TO_FILE=ON' if is_android: openssl_args = ['-DOPENSSL_USE_STATIC_LIBS=OFF'] zlib_args = '-DZLIB_USE_STATIC=OFF' bzip2_args = '-DBZIP2_USE_STATIC=OFF' else: prefix_path = self.platform_.arch().default_install_prefix_path() openssl_args = [ '-DOPENSSL_USE_STATIC_LIBS=ON', '-DOPENSSL_ROOT_DIR={0}'.format(prefix_path) ] zlib_args = '-DZLIB_USE_STATIC=ON' bzip2_args = '-DBZIP2_USE_STATIC=ON' snappy_args = '-DSNAPPY_USE_STATIC=ON' jsonc_args = '-DJSONC_USE_STATIC=ON' cmake_line = [ 'cmake', cmake_project_root_abs_path, generator, '-DCMAKE_BUILD_TYPE=RELEASE', log_to_file_args, zlib_args, bzip2_args, snappy_args, jsonc_args ] cmake_line.extend(openssl_args) if is_android: toolchain_path = os.path.join(cmake_project_root_abs_path, 'cmake/android.toolchain.cmake') cmake_line.append( '-DCMAKE_TOOLCHAIN_FILE={0}'.format(toolchain_path)) if app_branding_options: cmake_line.extend(app_branding_options) saver.update_progress_message_range(10.0, 19.0, 'Generate project build') def store(cb): def closure(progress, message): return cb(progress, message) return closure store = store(saver.on_update_progress_message) try: cmake_policy = run_command.CmakePolicy(store) run_command.run_command_cb(cmake_line, cmake_policy) except Exception as ex: os.chdir(pwd) raise ex make_install = build_system_args make_install.append('install') saver.update_progress_message_range(20.0, 79.0, 'Build project') try: policy = build_system_policy(store) run_command.run_command_cb(make_install, policy) except Exception as ex: os.chdir(pwd) raise ex saver.update_progress_message_range(80.0, 84.0, 'Trying to get package file name') in_file = open('CPackConfig.cmake', 'r') for line in in_file.readlines(): res = re.search(r'SET\(CPACK_PACKAGE_FILE_NAME "(.+)"\)', line) if res: filename = res.group(1) break in_file.close() saver.update_progress_message_range(85.0, 99.0, 'Start build package') file_names = [] if is_android: make_apk_release = build_system_args make_apk_release.append('apk_release') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_release, common_policy) except Exception as ex: os.chdir(pwd) raise ex make_apk_aligned = build_system_args make_apk_aligned.append('apk_aligned') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_aligned, common_policy) except Exception as ex: os.chdir(pwd) raise ex make_apk_signed = build_system_args make_apk_signed('apk_signed') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_signed, common_policy) except Exception as ex: os.chdir(pwd) raise ex file_names.append( os.path.join( abs_dir_path, filename + '.' + system_info.get_extension_by_package('APK'))) else: for generator in package_types: make_cpack = ['cpack', '-G', generator] try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_cpack, common_policy) file_names.append( os.path.join( abs_dir_path, filename + '.' + system_info.get_extension_by_package(generator))) except Exception as ex: os.chdir(pwd) raise ex os.chdir(pwd) saver.update_progress_message_range( 100.0, 100.0, "Building finished successfully file_names: {0}".format( file_names)) return file_names
def build(self, cmake_project_root_path, app_branding_options, dir_path, bs, package_types, saver): cmake_project_root_abs_path = os.path.abspath(cmake_project_root_path) if not os.path.exists(cmake_project_root_abs_path): raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_path) if not bs: bs = SUPPORTED_BUILD_SYSTEMS[0] if not package_types: package_types = self.platform_.package_types() abs_dir_path = os.path.abspath(dir_path) if os.path.exists(abs_dir_path): shutil.rmtree(abs_dir_path) is_android = self.platform_.name() == 'android' generator = bs.cmake_generator_arg() build_system_args = bs.cmd_line() build_system_policy = bs.policy() saver.update_progress_message_range(0.0, 9.0, "Start building project branding_options:\n{0}".format( "\n".join(app_branding_options))) pwd = os.getcwd() os.mkdir(abs_dir_path) os.chdir(abs_dir_path) # project static options log_to_file_args = '-DLOG_TO_FILE=ON' if is_android: openssl_args = ['-DOPENSSL_USE_STATIC_LIBS=OFF'] zlib_args = '-DZLIB_USE_STATIC=OFF' bzip2_args = '-DBZIP2_USE_STATIC=OFF' else: prefix_path = self.platform_.arch().default_install_prefix_path() openssl_args = ['-DOPENSSL_USE_STATIC_LIBS=ON', '-DOPENSSL_ROOT_DIR={0}'.format(prefix_path)] zlib_args = '-DZLIB_USE_STATIC=ON' bzip2_args = '-DBZIP2_USE_STATIC=ON' snappy_args = '-DSNAPPY_USE_STATIC=ON' jsonc_args = '-DJSONC_USE_STATIC=ON' cmake_line = ['cmake', cmake_project_root_abs_path, generator, '-DCMAKE_BUILD_TYPE=RELEASE', log_to_file_args, zlib_args, bzip2_args, snappy_args, jsonc_args] cmake_line.extend(openssl_args) if is_android: toolchain_path = os.path.join(cmake_project_root_abs_path, 'cmake/android.toolchain.cmake') cmake_line.append('-DCMAKE_TOOLCHAIN_FILE={0}'.format(toolchain_path)) if app_branding_options: cmake_line.extend(app_branding_options) saver.update_progress_message_range(10.0, 19.0, 'Generate project build') def store(cb): def closure(progress, message): return cb(progress, message) return closure store = store(saver.on_update_progress_message) try: cmake_policy = run_command.CmakePolicy(store) run_command.run_command_cb(cmake_line, cmake_policy) except Exception as ex: os.chdir(pwd) raise ex make_install = build_system_args make_install.append('install') saver.update_progress_message_range(20.0, 79.0, 'Build project') try: policy = build_system_policy(store) run_command.run_command_cb(make_install, policy) except Exception as ex: os.chdir(pwd) raise ex saver.update_progress_message_range(80.0, 84.0, 'Trying to get package file name') in_file = open('CPackConfig.cmake', 'r') for line in in_file.readlines(): res = re.search(r'SET\(CPACK_PACKAGE_FILE_NAME "(.+)"\)', line) if res: filename = res.group(1) break in_file.close() saver.update_progress_message_range(85.0, 99.0, 'Start build package') file_names = [] if is_android: make_apk_release = build_system_args make_apk_release.append('apk_release') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_release, common_policy) except Exception as ex: os.chdir(pwd) raise ex make_apk_aligned = build_system_args make_apk_aligned.append('apk_aligned') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_aligned, common_policy) except Exception as ex: os.chdir(pwd) raise ex make_apk_signed = build_system_args make_apk_signed('apk_signed') try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_apk_signed, common_policy) except Exception as ex: os.chdir(pwd) raise ex file_names.append(os.path.join(abs_dir_path, filename + '.' + system_info.get_extension_by_package('APK'))) else: for generator in package_types: make_cpack = ['cpack', '-G', generator] try: common_policy = run_command.CommonPolicy(store) run_command.run_command_cb(make_cpack, common_policy) file_names.append( os.path.join(abs_dir_path, filename + '.' + system_info.get_extension_by_package(generator))) except Exception as ex: os.chdir(pwd) raise ex os.chdir(pwd) saver.update_progress_message_range(100.0, 100.0, "Building finished successfully file_names: {0}".format(file_names)) return file_names