mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
Removed the 'build64' option and added a 'dev' configuration to all xcode projects.
This commit is contained in:
parent
fb711edeeb
commit
8551fc23fe
11
README
11
README
@ -30,14 +30,13 @@ General dependencies
|
||||
- Mako, to generate help files. (http://www.makotemplates.org/)
|
||||
- PyYaml, for help files and the build system. (http://pyyaml.org/)
|
||||
- Nose, to run unit tests. (http://somethingaboutorange.com/mrl/projects/nose/)
|
||||
- Python Imaging Library for dupeGuru PE. (http://www.pythonware.com/products/pil/)
|
||||
|
||||
OS X prerequisites
|
||||
-----
|
||||
|
||||
- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
|
||||
- Sparkle (http://sparkle.andymatuschak.org/)
|
||||
- PyObjC. Although Tiger support has been dropped with dupeGuru 1.7, I still use PyObjC 1.4 because funky stuff happens with newer releases. However, it's mostly related to packaging with py2app. (http://pyobjc.sourceforge.net/)
|
||||
- PyObjC 2.2. (http://pyobjc.sourceforge.net/)
|
||||
- py2app (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)
|
||||
|
||||
Windows prerequisites
|
||||
@ -45,6 +44,7 @@ Windows prerequisites
|
||||
|
||||
- Visual Studio 2008 (Express is enough) is needed to build C extensions. (http://www.microsoft.com/Express/)
|
||||
- PyQt 4.6 (http://www.riverbankcomputing.co.uk/news)
|
||||
- Python Imaging Library for dupeGuru PE. (http://www.pythonware.com/products/pil/)
|
||||
- PyInstaller, if you want to build a exe. You don't need it if you just want to run dupeGuru. (http://www.pyinstaller.org/)
|
||||
- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/)
|
||||
|
||||
@ -55,7 +55,7 @@ First, make sure you meet the dependencies listed in the section above. Then you
|
||||
|
||||
python configure.py
|
||||
|
||||
If you want, you can specify a UI to use with the `--ui` option. So, if you want to build dupeGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `mg_cocoa.plugin` in alias mode).
|
||||
If you want, you can specify a UI to use with the `--ui` option. So, if you want to build dupeGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `dg_cocoa.plugin` in alias mode and use the "dev" config in XCode).
|
||||
|
||||
Then, just build the thing and then run it with:
|
||||
|
||||
@ -65,3 +65,8 @@ Then, just build the thing and then run it with:
|
||||
If you want to create ready-to-upload package, run:
|
||||
|
||||
python package.py
|
||||
|
||||
64-bit on OS X
|
||||
---
|
||||
|
||||
The "release" configuration of dupeGuru's XCode project build with archs "i386 x86_64 ppc". However there are currently problems with py2app and 64 bit. If you want to correctly build 64-bit apps, refer to http://www.hardcoded.net/articles/building-64-bit-pyobjc-applications-with-py2app.htm .
|
9
build.py
9
build.py
@ -23,10 +23,7 @@ def main():
|
||||
edition = conf['edition']
|
||||
ui = conf['ui']
|
||||
dev = conf['dev']
|
||||
build64 = conf['build64']
|
||||
print "Building dupeGuru {0} with UI {1}".format(edition.upper(), ui)
|
||||
if build64:
|
||||
print "If possible, 64-bit builds will be made"
|
||||
if dev:
|
||||
print "Building in Dev mode"
|
||||
add_to_pythonpath('.')
|
||||
@ -82,8 +79,10 @@ def main():
|
||||
os.chdir(cocoa_project_path)
|
||||
print "Building the XCode project"
|
||||
args = []
|
||||
if build64:
|
||||
args.append('ARCHS="x86_64 i386 ppc"')
|
||||
if dev:
|
||||
args.append('-configuration dev')
|
||||
else:
|
||||
args.append('-configuration release')
|
||||
args = ' '.join(args)
|
||||
os.system('xcodebuild {0}'.format(args))
|
||||
os.chdir('..')
|
||||
|
@ -423,7 +423,7 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
C01FCF4C08A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
@ -433,21 +433,47 @@
|
||||
PRODUCT_NAME = "dupeGuru ME";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
C01FCF5008A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1)";
|
||||
ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1 = x86_64;
|
||||
ARCHS = (
|
||||
i386,
|
||||
x86_64,
|
||||
ppc,
|
||||
);
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
CED596C5111AF56D00C0CF2B /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
CED596C6111AF56D00C0CF2B /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = "dupeGuru ME";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
@ -455,18 +481,20 @@
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
C01FCF4C08A954540054247B /* release */,
|
||||
CED596C6111AF56D00C0CF2B /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
C01FCF5008A954540054247B /* release */,
|
||||
CED596C5111AF56D00C0CF2B /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
|
@ -426,7 +426,7 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
C01FCF4C08A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
@ -444,20 +444,55 @@
|
||||
PRODUCT_NAME = "dupeGuru PE";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
C01FCF5008A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
|
||||
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
|
||||
ARCHS = (
|
||||
i386,
|
||||
x86_64,
|
||||
ppc,
|
||||
);
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
CEE00FF0111AF37400BC1A77 /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
CEE00FF1111AF37400BC1A77 /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(FRAMEWORK_SEARCH_PATHS)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
);
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = "dupeGuru PE";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
@ -465,18 +500,20 @@
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
C01FCF4C08A954540054247B /* release */,
|
||||
CEE00FF1111AF37400BC1A77 /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
C01FCF5008A954540054247B /* release */,
|
||||
CEE00FF0111AF37400BC1A77 /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
|
@ -403,7 +403,7 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
C01FCF4C08A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
@ -418,20 +418,52 @@
|
||||
PRODUCT_NAME = dupeGuru;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
C01FCF5008A954540054247B /* release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
|
||||
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
|
||||
ARCHS = (
|
||||
i386,
|
||||
x86_64,
|
||||
ppc,
|
||||
);
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = Release;
|
||||
name = release;
|
||||
};
|
||||
CE85E84F111AF63D00187B0D /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
CE85E850111AF63D00187B0D /* dev */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../base/cocoa/build/Release\"";
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = dupeGuru;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = dev;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
@ -439,18 +471,20 @@
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
C01FCF4C08A954540054247B /* release */,
|
||||
CE85E850111AF63D00187B0D /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
C01FCF5008A954540054247B /* release */,
|
||||
CE85E84F111AF63D00187B0D /* dev */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
defaultConfigurationName = release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
|
@ -12,20 +12,17 @@ from optparse import OptionParser
|
||||
|
||||
import yaml
|
||||
|
||||
def main(edition, ui, dev, build64):
|
||||
def main(edition, ui, dev):
|
||||
if edition not in ('se', 'me', 'pe'):
|
||||
edition = 'se'
|
||||
if ui not in ('cocoa', 'qt'):
|
||||
ui = 'cocoa' if sys.platform == 'darwin' else 'qt'
|
||||
build_type = 'Dev' if dev else 'Release'
|
||||
print "Configuring dupeGuru {0} for UI {1} ({2})".format(edition.upper(), ui, build_type)
|
||||
if build64:
|
||||
print "If possible, 64-bit builds will be made"
|
||||
conf = {
|
||||
'edition': edition,
|
||||
'ui': ui,
|
||||
'dev': dev,
|
||||
'build64': build64,
|
||||
}
|
||||
yaml.dump(conf, open('conf.yaml', 'w'))
|
||||
|
||||
@ -38,7 +35,5 @@ if __name__ == '__main__':
|
||||
help="Type of UI to build. 'qt' or 'cocoa'. Default is determined by your system.")
|
||||
parser.add_option('--dev', action='store_true', dest='dev', default=False,
|
||||
help="If this flag is set, will configure for dev builds.")
|
||||
parser.add_option('--64bit', action='store_true', dest='build64', default=False,
|
||||
help="Build 64-bit app if possible.")
|
||||
(options, args) = parser.parse_args()
|
||||
main(options.edition, options.ui, options.dev, options.build64)
|
||||
main(options.edition, options.ui, options.dev)
|
||||
|
10
run.py
10
run.py
@ -19,13 +19,15 @@ def main():
|
||||
conf = yaml.load(open('conf.yaml'))
|
||||
edition = conf['edition']
|
||||
ui = conf['ui']
|
||||
dev = conf['dev']
|
||||
print "Running dupeGuru {0} with UI {1}".format(edition.upper(), ui)
|
||||
if ui == 'cocoa':
|
||||
subfolder = 'dev' if dev else 'release'
|
||||
app_path = {
|
||||
'se': 'cocoa/se/build/Release/dupeGuru.app',
|
||||
'me': 'cocoa/me/build/Release/dupeGuru\\ ME.app',
|
||||
'pe': 'cocoa/pe/build/Release/dupeGuru\\ PE.app',
|
||||
}[edition]
|
||||
'se': 'cocoa/se/build/{0}/dupeGuru.app',
|
||||
'me': 'cocoa/me/build/{0}/dupeGuru\\ ME.app',
|
||||
'pe': 'cocoa/pe/build/{0}/dupeGuru\\ PE.app',
|
||||
}[edition].format(subfolder)
|
||||
os.system('open {0}'.format(app_path))
|
||||
elif ui == 'qt':
|
||||
add_to_pythonpath('.')
|
||||
|
Loading…
x
Reference in New Issue
Block a user