mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	bazel: Fix resource paths as external repo (see #3757)
- Headers that are included by .rc files need to be supplied to `declare_exe` via the `resources_deps` attribute (passed as the `deps attribute to `compile_rc`). The headers must be part of a cc_library target via either the `hdrs` or `srcs` attribute. - File paths for CEF resources are prefixed with "external/<repo>" when CEF is loaded as an external repo. Update `copy_filegroups` to work with these paths.
This commit is contained in:
		| @@ -10,12 +10,16 @@ def _copy_filegroups_impl(ctx): | |||||||
|     outputs = [] |     outputs = [] | ||||||
|     for f in inputs: |     for f in inputs: | ||||||
|         relative_path = f.path |         relative_path = f.path | ||||||
|  |         if relative_path.startswith("external/"): | ||||||
|  |           # Remove the "external/<repo>" component, if any. | ||||||
|  |           relative_path = "/".join(relative_path.split("/")[2:]) | ||||||
|  |  | ||||||
|         for prefix in remove_prefixes: |         for prefix in remove_prefixes: | ||||||
|             # Add trailing forward slash if necessary. |             # Add trailing forward slash if necessary. | ||||||
|             if prefix[-1] != "/": |             if prefix[-1] != "/": | ||||||
|                 prefix += "/" |                 prefix += "/" | ||||||
|             if len(prefix) > 0 and f.path.startswith(prefix): |             if len(prefix) > 0 and relative_path.startswith(prefix): | ||||||
|                 relative_path = f.path[len(prefix):] |                 relative_path = relative_path[len(prefix):] | ||||||
|                 break |                 break | ||||||
|  |  | ||||||
|         if len(add_prefix) > 0: |         if len(add_prefix) > 0: | ||||||
|   | |||||||
| @@ -81,10 +81,10 @@ objc_library( | |||||||
| # Windows targets. | # Windows targets. | ||||||
| # | # | ||||||
|  |  | ||||||
| # Allow access from the declare_exe target. | # Allow access to resource.h from the declare_exe target. | ||||||
| filegroup( | cc_library( | ||||||
|     name = "ResourceH", |     name = "ResourceH", | ||||||
|     srcs = [ |     hdrs = [ | ||||||
|         "browser/resource.h" |         "browser/resource.h" | ||||||
|     ] |     ] | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -43,12 +43,14 @@ declare_exe( | |||||||
|         "{}.exe.manifest".format(PRODUCT_NAME), |         "{}.exe.manifest".format(PRODUCT_NAME), | ||||||
|     ], |     ], | ||||||
|     resources_srcs = [ |     resources_srcs = [ | ||||||
|         "{}:ResourceH".format(PKG_NAME), |  | ||||||
|         "{}:Resources".format(PKG_NAME), |         "{}:Resources".format(PKG_NAME), | ||||||
|         "{}.ico".format(PRODUCT_NAME), |         "{}.ico".format(PRODUCT_NAME), | ||||||
|         "small.ico", |         "small.ico", | ||||||
|         "//tests/shared:Resources", |         "//tests/shared:Resources", | ||||||
|     ], |     ], | ||||||
|  |     resources_deps = [ | ||||||
|  |         "{}:ResourceH".format(PKG_NAME), | ||||||
|  |     ], | ||||||
|     linkopts = [ |     linkopts = [ | ||||||
|         "/SUBSYSTEM:WINDOWS", |         "/SUBSYSTEM:WINDOWS", | ||||||
|     ] + [ |     ] + [ | ||||||
|   | |||||||
| @@ -66,10 +66,10 @@ cc_library( | |||||||
| # Windows targets. | # Windows targets. | ||||||
| # | # | ||||||
|  |  | ||||||
| # Allow access from the declare_exe target. | # Allow access to resource.h from the declare_exe target. | ||||||
| filegroup( | cc_library( | ||||||
|     name = "ResourceH", |     name = "ResourceH", | ||||||
|     srcs = [ |     hdrs = [ | ||||||
|         "resource.h" |         "resource.h" | ||||||
|     ] |     ] | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -27,10 +27,12 @@ declare_exe( | |||||||
|         "{}.exe.manifest".format(PRODUCT_NAME), |         "{}.exe.manifest".format(PRODUCT_NAME), | ||||||
|     ], |     ], | ||||||
|     resources_srcs = [ |     resources_srcs = [ | ||||||
|         "{}:ResourceH".format(PKG_NAME), |  | ||||||
|         "{}.ico".format(PRODUCT_NAME), |         "{}.ico".format(PRODUCT_NAME), | ||||||
|         "small.ico", |         "small.ico", | ||||||
|     ], |     ], | ||||||
|  |     resources_deps = [ | ||||||
|  |         "{}:ResourceH".format(PKG_NAME), | ||||||
|  |     ], | ||||||
|     linkopts = [ |     linkopts = [ | ||||||
|         "/SUBSYSTEM:WINDOWS", |         "/SUBSYSTEM:WINDOWS", | ||||||
|     ], |     ], | ||||||
|   | |||||||
| @@ -81,10 +81,10 @@ objc_library( | |||||||
| # Windows targets. | # Windows targets. | ||||||
| # | # | ||||||
|  |  | ||||||
| # Allow access from the declare_exe target. | # Allow access to resource.h from the declare_exe target. | ||||||
| filegroup( | cc_library( | ||||||
|     name = "ResourceH", |     name = "ResourceH", | ||||||
|     srcs = [ |     hdrs = [ | ||||||
|         "resource.h" |         "resource.h" | ||||||
|     ] |     ] | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -45,11 +45,13 @@ declare_exe( | |||||||
|         "{}.exe.manifest".format(PRODUCT_NAME), |         "{}.exe.manifest".format(PRODUCT_NAME), | ||||||
|     ], |     ], | ||||||
|     resources_srcs = [ |     resources_srcs = [ | ||||||
|         "{}:ResourceH".format(PKG_NAME), |  | ||||||
|         "{}.ico".format(PRODUCT_NAME), |         "{}.ico".format(PRODUCT_NAME), | ||||||
|         "small.ico", |         "small.ico", | ||||||
|         "//tests/shared:Resources", |         "//tests/shared:Resources", | ||||||
|     ], |     ], | ||||||
|  |     resources_deps = [ | ||||||
|  |         "{}:ResourceH".format(PKG_NAME), | ||||||
|  |     ], | ||||||
|     linkopts = [ |     linkopts = [ | ||||||
|         "/SUBSYSTEM:CONSOLE", |         "/SUBSYSTEM:CONSOLE", | ||||||
|     ], |     ], | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user