Skip to content

Commit 5cfc3d2

Browse files
committed
Remove redundant EXECUTABLE_NAME overrides in PIF
This setting shouldn't normally be overridden (except one edge case I'm leaving in for now because I haven't investigated to know whether it's safe to remove the ".o" suffix from the PRODUCT_NAME of library targets, which can be a separate step.
1 parent 84ba94a commit 5cfc3d2

File tree

2 files changed

+4
-16
lines changed

2 files changed

+4
-16
lines changed

Sources/XCBuildSupport/PIFBuilder.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,6 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
447447
settings[.PRODUCT_NAME] = product.name
448448
settings[.PRODUCT_MODULE_NAME] = mainTarget.c99name
449449
settings[.PRODUCT_BUNDLE_IDENTIFIER] = product.name
450-
settings[.EXECUTABLE_NAME] = product.name
451450
settings[.CLANG_ENABLE_MODULES] = "YES"
452451
settings[.DEFINES_MODULE] = "YES"
453452

@@ -584,7 +583,6 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
584583
settings[.PRODUCT_NAME] = executableName
585584
settings[.PRODUCT_MODULE_NAME] = product.name
586585
settings[.PRODUCT_BUNDLE_IDENTIFIER] = product.name
587-
settings[.EXECUTABLE_NAME] = executableName
588586
settings[.CLANG_ENABLE_MODULES] = "YES"
589587
settings[.DEFINES_MODULE] = "YES"
590588
settings[.SKIP_INSTALL] = "NO"
@@ -630,7 +628,11 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
630628
settings[.PRODUCT_NAME] = "\(target.name).o"
631629
settings[.PRODUCT_MODULE_NAME] = target.c99name
632630
settings[.PRODUCT_BUNDLE_IDENTIFIER] = target.name
631+
632+
// EXECUTABLE_NAME is normally EXECUTABLE_PREFIX + PRODUCT_NAME + EXECUTABLE_SUFFIX
633+
// So we need to override EXECUTABLE_NAME in this case to avoid doubling up the file extension because it is also part of the product name.
633634
settings[.EXECUTABLE_NAME] = "\(target.name).o"
635+
634636
settings[.CLANG_ENABLE_MODULES] = "YES"
635637
settings[.DEFINES_MODULE] = "YES"
636638
settings[.MACH_O_TYPE] = "mh_object"

Tests/XCBuildSupportTests/PIFBuilderTests.swift

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,6 @@ final class PIFBuilderTests: XCTestCase {
525525
configuration.checkAllBuildSettings { settings in
526526
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
527527
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
528-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "foo")
529528
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/bin")
530529
XCTAssertEqual(
531530
settings[.LD_RUNPATH_SEARCH_PATHS],
@@ -551,7 +550,6 @@ final class PIFBuilderTests: XCTestCase {
551550
configuration.checkAllBuildSettings { settings in
552551
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
553552
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
554-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "foo")
555553
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/bin")
556554
XCTAssertEqual(
557555
settings[.LD_RUNPATH_SEARCH_PATHS],
@@ -590,7 +588,6 @@ final class PIFBuilderTests: XCTestCase {
590588
configuration.checkAllBuildSettings { settings in
591589
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
592590
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
593-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cfoo")
594591
XCTAssertEqual(
595592
settings[.HEADER_SEARCH_PATHS],
596593
["$(inherited)", "/Foo/Sources/cfoo/include"]
@@ -619,7 +616,6 @@ final class PIFBuilderTests: XCTestCase {
619616
configuration.checkAllBuildSettings { settings in
620617
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
621618
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
622-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cfoo")
623619
XCTAssertEqual(
624620
settings[.HEADER_SEARCH_PATHS],
625621
["$(inherited)", "/Foo/Sources/cfoo/include"]
@@ -664,7 +660,6 @@ final class PIFBuilderTests: XCTestCase {
664660
configuration.checkAllBuildSettings { settings in
665661
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
666662
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
667-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "bar")
668663
XCTAssertEqual(settings[.PACKAGE_RESOURCE_TARGET_KIND], "regular")
669664
XCTAssertEqual(settings[.PRODUCT_BUNDLE_IDENTIFIER], "bar")
670665
XCTAssertEqual(settings[.PRODUCT_MODULE_NAME], "bar")
@@ -684,7 +679,6 @@ final class PIFBuilderTests: XCTestCase {
684679
configuration.checkAllBuildSettings { settings in
685680
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
686681
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
687-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "bar")
688682
XCTAssertEqual(settings[.PACKAGE_RESOURCE_TARGET_KIND], "regular")
689683
XCTAssertEqual(settings[.PRODUCT_BUNDLE_IDENTIFIER], "bar")
690684
XCTAssertEqual(settings[.PRODUCT_MODULE_NAME], "bar")
@@ -718,7 +712,6 @@ final class PIFBuilderTests: XCTestCase {
718712
XCTAssertEqual(settings[.CLANG_CXX_LANGUAGE_STANDARD], "c++14")
719713
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
720714
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
721-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cbar")
722715
XCTAssertEqual(settings[.GCC_C_LANGUAGE_STANDARD], "c11")
723716
XCTAssertEqual(
724717
settings[.HEADER_SEARCH_PATHS],
@@ -743,7 +736,6 @@ final class PIFBuilderTests: XCTestCase {
743736
XCTAssertEqual(settings[.CLANG_CXX_LANGUAGE_STANDARD], "c++14")
744737
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
745738
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
746-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cbar")
747739
XCTAssertEqual(settings[.GCC_C_LANGUAGE_STANDARD], "c11")
748740
XCTAssertEqual(
749741
settings[.HEADER_SEARCH_PATHS],
@@ -874,7 +866,6 @@ final class PIFBuilderTests: XCTestCase {
874866
configuration.checkAllBuildSettings { settings in
875867
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
876868
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
877-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "FooTests")
878869
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
879870
XCTAssertEqual(settings[.LD_RUNPATH_SEARCH_PATHS], [
880871
"$(inherited)",
@@ -922,7 +913,6 @@ final class PIFBuilderTests: XCTestCase {
922913
configuration.checkAllBuildSettings { settings in
923914
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
924915
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
925-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "FooTests")
926916
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
927917
XCTAssertEqual(settings[.LD_RUNPATH_SEARCH_PATHS], [
928918
"$(inherited)",
@@ -981,7 +971,6 @@ final class PIFBuilderTests: XCTestCase {
981971
configuration.checkAllBuildSettings { settings in
982972
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
983973
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
984-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "CFooTests")
985974
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
986975
XCTAssertEqual(settings[.HEADER_SEARCH_PATHS], [
987976
"$(inherited)",
@@ -1032,7 +1021,6 @@ final class PIFBuilderTests: XCTestCase {
10321021
configuration.checkAllBuildSettings { settings in
10331022
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
10341023
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1035-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "CFooTests")
10361024
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
10371025
XCTAssertEqual(settings[.HEADER_SEARCH_PATHS], [
10381026
"$(inherited)",
@@ -1249,7 +1237,6 @@ final class PIFBuilderTests: XCTestCase {
12491237
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
12501238
XCTAssertEqual(settings[.CURRENT_PROJECT_VERSION], "1")
12511239
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1252-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "BarLib")
12531240
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
12541241
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/lib")
12551242
XCTAssertEqual(settings[.MARKETING_VERSION], "1.0")
@@ -1275,7 +1262,6 @@ final class PIFBuilderTests: XCTestCase {
12751262
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
12761263
XCTAssertEqual(settings[.CURRENT_PROJECT_VERSION], "1")
12771264
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1278-
XCTAssertEqual(settings[.EXECUTABLE_NAME], "BarLib")
12791265
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
12801266
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/lib")
12811267
XCTAssertEqual(settings[.MARKETING_VERSION], "1.0")

0 commit comments

Comments
 (0)