Skip to content

Releases: gnustep/libs-xcode

libsXCode 0.5.0

16 Feb 08:21
Compare
Choose a tag to compare

XCode 0.5.0

1 README

The GNUstep Xcode Library is a library for building xcode projects.
It can be used to parse and provide information regarding an
xcode project or used to build an xcode project directly.

1.1 License

The GNUstep libraries and library resources are covered under the GNU
Lesser General Public License. This means you can use these libraries
in any program (even non-free programs). If you distribute the libraries
along with your program, you must make the improvements you have made to
the libraries freely available. You should read the COPYING.LIB file for
more information.

1.2 How to use

To use this library you need to build it and install it and then compile
the front-end which is in the Tools directory and is called buildtool.
Simply go into a directory which contains an Xcode project and type buildtool
and it should build the project. If it doesn't then submit a bug.
Currently GNUstep can only build projects for macOS. Once support for UIKit and
other frameworks are available, those will be added.

1.2.1 Plans for the future

  • Create delegate which will provide a way for the library to
    execute callbacks into the caller so that information can be shown.
    This should eliminate the need to print anything in the library as all
    of the printing will be done on the front end based on information sent
    back by the library to the delegate.
  • Add more options to how the build is run so that the caller can specify
    which target should be built.
  • Add support for translated to .pcproj files.

1.2.2 Documentation

I am working on a manual as well as gsdocs for the code so that the library is
properly documented. There is a manual for buildtool.plist settings and other
information in the Documentation directory of this project.

1.3 How can you help?

  • Give us feedback! Tell us what you like; tell us what you think
    could be better.

    Please log bug reports on the GNUstep project page
    https://github.com/gnustep/libs-xcode/issues or send bug reports
    to [email protected].

    Happy hacking!

Copyright (C) 2005 Free Software Foundation

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

ChangeLog

2025-02-16 Gregory John Casamento [email protected]

* GNUmakefile
* Version: Release 0.5.0

2024-11-22 Gregory John Casamento [email protected]

* XCode/PBXFileReference.m
* XCode/PBXGroup.m
* XCode/PBXHeadersBuildPhase.m
* XCode/PBXResourcesBuildPhase.m
* XCode/PBXSourcesBuildPhase.m
* XCode/PBXFileSystemSynchronizedRootGroup.[hm]: Add
support for file system synchronized groups.

2022-04-12 Riccardo Mottola [email protected]

* PBXFileReference.m (_headerStringForPath):
Look for headers only if it is a directory, skip if a file.

2022-01-10 Gregory John Casamento [email protected]

* PBXFileReference.[hm]: Fix issues with resolving headers.

2022-01-06 Gregory John Casamento [email protected]

* GSXCBuildContext.m
* NSString+PBXAdditions.h
* NSString+PBXAdditions.m: Add code to execute commend and collect
    output
* PBXAbstractBuildPhase.h
* PBXAbstractBuildPhase.m: Add call to get target information
* PBXBuildFile.h
* PBXBuildFile.m: Fixes
* PBXContainerItemProxy.m: Fixes for executing proxy'd project
* PBXFileReference.h
* PBXFileReference.m: Build fixes
* PBXFrameworksBuildPhase.m: Fix building of framework, bundle, etc.
* PBXNativeTarget.m
* PBXProject.h
* PBXProject.m: Fixes
* PBXShellScriptBuildPhase.m: Move script creation to /tmp
* PBXTargetDependency.h: Add declarations for call to get dependencies.

2021-12-17 Gregory John Casamento [email protected]

* Resources/Framework-mapping.plist: Add OpenGL framework to the
    mapping list.

2021-10-10 Gregory John Casamento [email protected]

* GNUmakefile
* PBXFileReference.m
* PBXFrameworksBuildPhase.m
* Resources/Framework-mapping.plist: Add mapping plist so that
    these mappings are no longer hardcoded.

2021-09-22 Gregory John Casamento [email protected]

* NSString+PBXAdditions.m
* PBXFileReference.m
* PBXFrameworksBuildPhase.m
* PBXNativeTarget.m
* PBXProject.m: Refactor path handling.  Correct handling of escaping
paths.

2016-05-08 00:37-EDT Gregory John Casamento [email protected]

* Tools/pcpg/PLCPG.m: Fix issue with include/import of non-NS classes.

2016-04-26 20:48-EDT Gregory John Casamento [email protected]

* PBXFrameworksBuildPhase.m: Fix tool compilation.

2016-04-26 19:45-EDT Gregory John Casamento [email protected]

* PBXFrameworksBuildPhase.m: Use gnustep-config to get the
paths for GNUSTEP_SYSTEM_LIBRARY, GNUSTEP_LOCAL_LIBRARY and
GNUSTEP_USER_LIBRARY after RFM's change to gnustep-make.
This change makes the build method a little more consistent.

2014-08-03 03:49-EDT Gregory John Casamento [email protected]

* Updated README and Tools/pcpg/README.

2014-03-25 03:49-EDT Gregory John Casamento [email protected]

* PBXProject.m: Change to debug settings

2013-09-21 08:17-EDT Gregory John Casamento [email protected]

* PBXFileReference.m: Add all subdirectories in the project
to the include directives.

2013-09-21 02:06-EDT Gregory John Casamento [email protected]

* PBXFileReference.m: Use gnu99 as default.  Need to start thinking
about a specs file which will allow definition of defaults on
a per compiler/platform basis.

2013-08-31 Fred Kiefer [email protected]

* PBXCoder.h,
* PBXCoder.m: Remove method -changeToProjectRoot.
* GSXCBuildContext.m: Remove directory change from pop.
* PBXContainerItemProxy.m: Handle all directory changes here.
* PBXFileReference.m: Add std to the compile options.
* PBXFrameworksBuildPhase.m: Add frameworks in OTHER_LDFLAGS to
the link options.

2013-05-09 12:56-EDT Gregory John Casamento [email protected]

* PBXApplicationTarget.m: Set the product type in init.
* PBXBundleTarget.m: Set the product type in init.
* PBXCommon.h: Add GSXCCommon.h to the header.
* PBXFrameworkTarget.m: Set the product type in init.

2013-05-09 12:44-EDT Gregory John Casamento [email protected]

* PBXApplicationTarget.h
* PBXApplicationTarget.m
* PBXBundleTarget.h
* PBXBundleTarget.m
* PBXFrameworkTarget.h
* PBXFrameworkTarget.m: Add new classes to handle older files for
these targets.

2013-05-09 12:44-EDT Gregory John Casamento [email protected]

* GNUmakefile
* PBXNativeTarget.h
* PBXNativeTarget.m: Add new method.

2013-05-07 19:58-EDT Gregory John Casamento [email protected]

* PBXFrameworksBuildPhase.m: Use the gnustep-config script
everywhere to allow us to automatically use the default
compiler.
* Tools/pcpg/PLCPG.m: Fix an issue where mutable dictionary
was not used.

2013-05-06 02:14-EDT Gregory John Casamento [email protected]

* PBXAbstractBuildPhase.h
* PBXAbstractBuildPhase.m: Added missing methods for property
showEnvVarsInLog.

2013-05-06 01:55-EDT Gregory John Casamento [email protected]

* PBXFileReference.m: -build, override buildPath pre-prending
of project root in some cases.  This is likely due to differences
in some versions of the xcodeproj format.

2013-05-04 20:38-EDT Gregory John Casamento [email protected]

* PBXNativeTarget.m
* PBXResourcesBuildPhase.m: Fix issue with copying English.lproj

2013-04-24 02:39-EDT Gregory John Casamento [email protected]

* NSString+PBXAdditions.h
* NSString+PBXAdditions.m: Path manipulation methods.
* PBXFileReference.m
* PBXProject.m: Correct issue with handling older project files
after last modification.

2013-04-20 23:16-EDT Gregory John Casamento [email protected]

* PBXContainerItemProxy.m
* PBXFileReference.h
* PBXFileReference.m: Use the compiler which was used to build
GNUstep instead of hardcoding.
* PBXProject.m: Proceed into target directories when doing the build
* PBXResourcesBuildPhase.m: Copy lproj files.
* PBXShellScriptBuildPhase.m: Improve building of 10.7 and 10.8
(Xcode 4.4 and 4.5) style files.

2012-10-15 13:20-EDT Gregory John Casamento [email protected]

* GSXCBuildContext.h: Add declaration for addEntriesFromDictionary:
* GSXCBuildContext.m: Implement addEntriesFromDictionary:
* PBXContainerItemProxy.m: Correct warnings.
* PBXContainer.m: Added method to collect header directories
which need to be referenced for build.
* PBXFileReference.m: Add code to handle INCLUDE_DIRS context
variable.
* PBXProject.h: Added ivar
* PBXProject.m: Add project context.

2012-08-07 01:13-EDT Gregory John Casamento [email protected]

* PBXFrameworksBuildPhase.m: Automatically add link directives -I
and -L for frameworks present in the UninstalledProducts directory.
This allows for linking of dependencies prior to installation.

2012-08-07 00:09-EDT Gregory John Casamento [email protected]

* PBXNativeTarget.m: Generate the links with a relative path.

2012-03-14 18:25-EDT Gregory John Casamento [email protected]

* PBXFrameworksBuildPhase.m: Remove commented out code..
* README: Update readme to reflect new name.

2012-02-25 11:36-EST Gregory John Casamento [email protected]

* PBXResourcesBuildPhase.m: Fix issues with copying of resources
which are localized.

2012-02-25 10:29-EST Gregory John Casamento [email protected]

* PBXVariantGroup.m: More fixes for appending resource names.
Only use the last ...
Read more