Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(417)

Issue 1827103005: [GN] Add support for generating Xcode projects. (Closed)

Created:
4 years, 9 months ago by sdefresne
Modified:
4 years, 7 months ago
Reviewers:
brettw
CC:
chromium-reviews, Dirk Pranke, justincohen, Robert Sesek, tfarina
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[GN] Add support for generating Xcode projects. tools/gn/xcode_object.{cc,h} Implements a class hierarchy mimicking the structure of an Xcode pbxproj file with methods to dump them as text file. tools/gn/xcode_writer.{cc,h} Implements generation of Xcode project structure from GN settings and for dumping the output to pbxproj and xcworkspacedata files. tools/gn/* Add product_type field to create_bundle target. This is used when generating the Xcode project file to use the correct product type in Xcode. Fix a minor DCHECK failure in create_bundle_target_generator.cc. build/config/compiler/BUILD.gn Remove -fdebug-prefix-map from the clang command-line as it does not work with Xcode (and is unnecessary as the path given to the compiler are relative already). With this flag, Xcode cannot find the source file when debbugging the application, without it breakpoint and displaying code work. BUG=597975 Committed: https://crrev.com/6ee04b5ce48981fd997b94c58240602df1a329d6 Cr-Commit-Position: refs/heads/master@{#391377}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Remove dependency on //tools/gn(${host_toolchain}) on iOS #

Patch Set 3 : Remove dependency on //tools/gn(${host_toolchain}) on iOS #

Patch Set 4 : Add documentation for new flags to "gn gen" #

Total comments: 17

Patch Set 5 : Address first round of comments #

Patch Set 6 : Fix compilation under Windows #

Patch Set 7 : Remove duplicates in sources.xcodeproj #

Total comments: 2

Patch Set 8 : Improve comment about "assert(product_type != "")" #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1905 lines, -19 lines) Patch
M build/config/compiler/BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M build/config/ios/rules.gni View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M tools/gn/BUILD.gn View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
A + tools/gn/DEPS View 0 chunks +-1 lines, --1 lines 0 comments Download
M tools/gn/bundle_data.h View 2 chunks +9 lines, -0 lines 0 comments Download
M tools/gn/command_gen.cc View 1 2 3 4 5 4 chunks +43 lines, -6 lines 0 comments Download
M tools/gn/commands.h View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M tools/gn/commands.cc View 1 2 3 4 2 chunks +22 lines, -0 lines 0 comments Download
M tools/gn/create_bundle_target_generator.cc View 2 chunks +10 lines, -0 lines 0 comments Download
M tools/gn/functions_target.cc View 2 chunks +3 lines, -1 line 0 comments Download
M tools/gn/gn.gyp View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M tools/gn/variables.h View 1 chunk +4 lines, -0 lines 0 comments Download
M tools/gn/variables.cc View 2 chunks +14 lines, -0 lines 0 comments Download
M tools/gn/visual_studio_writer.cc View 1 2 3 4 2 chunks +3 lines, -12 lines 0 comments Download
A tools/gn/xcode_object.h View 1 chunk +392 lines, -0 lines 0 comments Download
A tools/gn/xcode_object.cc View 1 2 3 4 5 1 chunk +858 lines, -0 lines 0 comments Download
A tools/gn/xcode_writer.h View 1 2 3 4 1 chunk +97 lines, -0 lines 0 comments Download
A tools/gn/xcode_writer.cc View 1 2 3 4 5 6 1 chunk +432 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 22 (12 generated)
sdefresne
Brett, can you take a look? https://codereview.chromium.org/1827103005/diff/100001/BUILD.gn File BUILD.gn (right): https://codereview.chromium.org/1827103005/diff/100001/BUILD.gn#newcode228 BUILD.gn:228: "//tools/gn(${host_toolchain})", This is ...
4 years, 7 months ago (2016-04-27 17:41:54 UTC) #9
brettw
Sorry, I made almost no progress on this today. Will do tomorrow. https://codereview.chromium.org/1827103005/diff/100001/BUILD.gn File BUILD.gn ...
4 years, 7 months ago (2016-04-27 23:09:30 UTC) #10
sdefresne
https://codereview.chromium.org/1827103005/diff/100001/BUILD.gn File BUILD.gn (right): https://codereview.chromium.org/1827103005/diff/100001/BUILD.gn#newcode228 BUILD.gn:228: "//tools/gn(${host_toolchain})", On 2016/04/27 at 23:09:30, brettw wrote: > I ...
4 years, 7 months ago (2016-04-28 09:29:12 UTC) #11
brettw
https://codereview.chromium.org/1827103005/diff/160001/build/config/compiler/BUILD.gn File build/config/compiler/BUILD.gn (right): https://codereview.chromium.org/1827103005/diff/160001/build/config/compiler/BUILD.gn#newcode364 build/config/compiler/BUILD.gn:364: if (is_clang && !is_win && !is_nacl && !is_ios && ...
4 years, 7 months ago (2016-04-28 21:16:17 UTC) #12
sdefresne
Please take another look. https://codereview.chromium.org/1827103005/diff/160001/build/config/compiler/BUILD.gn File build/config/compiler/BUILD.gn (right): https://codereview.chromium.org/1827103005/diff/160001/build/config/compiler/BUILD.gn#newcode364 build/config/compiler/BUILD.gn:364: if (is_clang && !is_win && ...
4 years, 7 months ago (2016-04-30 11:25:03 UTC) #14
brettw
lgtm https://codereview.chromium.org/1827103005/diff/240001/build/config/ios/rules.gni File build/config/ios/rules.gni (right): https://codereview.chromium.org/1827103005/diff/240001/build/config/ios/rules.gni#newcode175 build/config/ios/rules.gni:175: assert(product_type != "", "force use of product_type") Ah, ...
4 years, 7 months ago (2016-05-03 20:28:14 UTC) #15
sdefresne
Thank you for the review. https://codereview.chromium.org/1827103005/diff/240001/build/config/ios/rules.gni File build/config/ios/rules.gni (right): https://codereview.chromium.org/1827103005/diff/240001/build/config/ios/rules.gni#newcode175 build/config/ios/rules.gni:175: assert(product_type != "", "force ...
4 years, 7 months ago (2016-05-03 21:08:01 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1827103005/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1827103005/260001
4 years, 7 months ago (2016-05-03 21:09:04 UTC) #19
commit-bot: I haz the power
Committed patchset #8 (id:260001)
4 years, 7 months ago (2016-05-03 22:20:27 UTC) #20
commit-bot: I haz the power
4 years, 7 months ago (2016-05-03 22:22:10 UTC) #22
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/6ee04b5ce48981fd997b94c58240602df1a329d6
Cr-Commit-Position: refs/heads/master@{#391377}

Powered by Google App Engine
This is Rietveld 408576698