diff --git a/BUILD.gn b/BUILD.gn index 0a232f7a1..8f8592f3e 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -100,6 +100,7 @@ import("//build/config/sanitizers/sanitizers.gni") import("//build/config/ui.gni") import("//cef/cef_repack_locales.gni") import("//chrome/common/features.gni") +import("//content/public/app/mac_helpers.gni") import("//extensions/buildflags/buildflags.gni") import("//media/media_options.gni") import("//mojo/public/tools/bindings/mojom.gni") @@ -1703,32 +1704,60 @@ if (is_mac) { ] } - mac_app_bundle("${app_name}_helper_app") { - testonly = app_testonly - output_name = app_helper_name + template("cef_helper_app") { + mac_app_bundle(target_name) { + assert(defined(invoker.helper_sources)) + assert(defined(invoker.helper_name_suffix)) + assert(defined(invoker.helper_bundle_id_suffix)) - sources = invoker.helper_sources + testonly = app_testonly + output_name = app_helper_name + invoker.helper_name_suffix - deps = [ - ":cef_make_headers", - ":cef_sandbox", - ":libcef_dll_wrapper", - ] - if (defined(invoker.helper_deps)) { - deps += invoker.helper_deps + sources = invoker.helper_sources + + extra_substitutions = [ + "BUNDLE_ID_SUFFIX=${invoker.helper_bundle_id_suffix}", + ] + + deps = [ + ":cef_make_headers", + ":cef_sandbox", + ":libcef_dll_wrapper", + ] + if (defined(invoker.helper_deps)) { + deps += invoker.helper_deps + } + + ldflags = [ + # The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/ + # so set rpath up to the base. + "-rpath", + "@executable_path/../../../../../..", + ] + + info_plist_target = ":${app_name}_helper_plist" + + if (defined(invoker.helper_defines)) { + defines = invoker.helper_defines + } } + } - ldflags = [ - # The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/ - # so set rpath up to the base. - "-rpath", - "@executable_path/../../../../../..", - ] + foreach(helper_params, content_mac_helpers) { + _helper_target = helper_params[0] + _helper_bundle_id = helper_params[1] + _helper_suffix = helper_params[2] + cef_helper_app("${app_name}_helper_app_${_helper_target}") { + helper_sources = invoker.helper_sources + if (defined(invoker.helper_deps)) { + helper_deps = invoker.helper_deps + } + if (defined(invoker.helper_defines)) { + helper_defines = invoker.helper_defines + } - info_plist_target = ":${app_name}_helper_plist" - - if (defined(invoker.helper_defines)) { - defines = invoker.helper_defines + helper_name_suffix = _helper_suffix + helper_bundle_id_suffix = _helper_bundle_id } } @@ -1736,14 +1765,19 @@ if (is_mac) { testonly = app_testonly sources = [ "$root_out_dir/$cef_framework_name.framework", - "$root_out_dir/$app_helper_name.app", ] public_deps = [ ":cef_framework", - ":${app_name}_helper_app", ] + foreach(helper_params, content_mac_helpers) { + sources += [ + "$root_out_dir/${app_helper_name}${helper_params[2]}.app", + ] + public_deps += [ ":${app_name}_helper_app_${helper_params[0]}" ] + } + outputs = [ "{{bundle_contents_dir}}/Frameworks/{{source_file_part}}", ] diff --git a/cmake/cef_variables.cmake.in b/cmake/cef_variables.cmake.in index 6fca2d54e..3b9ed74bd 100644 --- a/cmake/cef_variables.cmake.in +++ b/cmake/cef_variables.cmake.in @@ -346,6 +346,15 @@ if(OS_MACOSX) set(CEF_SANDBOX_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/cef_sandbox.a") set(CEF_SANDBOX_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/cef_sandbox.a") endif() + + # CEF Helper app suffixes. + # Format is "::". + set(CEF_HELPER_APP_SUFFIXES + "::" + " (GPU):_gpu:.gpu" + " (Plugin):_plugin:.plugin" + " (Renderer):_renderer:.renderer" + ) endif() diff --git a/tests/cefclient/CMakeLists.txt.in b/tests/cefclient/CMakeLists.txt.in index c7ae75a7a..8a9924e85 100644 --- a/tests/cefclient/CMakeLists.txt.in +++ b/tests/cefclient/CMakeLists.txt.in @@ -179,53 +179,88 @@ if(OS_MACOSX) ${CEFCLIENT_MACOSX_HELPER_SRCS} ) - # Output paths for the app bundles. + # Output path for the main app bundle. set(CEF_APP "${CEF_TARGET_OUT_DIR}/${CEF_TARGET}.app") - set(CEF_HELPER_APP "${CEF_TARGET_OUT_DIR}/${CEF_HELPER_OUTPUT_NAME}.app") - # Variable referenced from Info.plist files. + # Variables referenced from the main Info.plist file. + set(EXECUTABLE_NAME "${CEF_TARGET}") set(PRODUCT_NAME "${CEF_TARGET}") - # Helper executable target. - add_executable(${CEF_HELPER_TARGET} MACOSX_BUNDLE ${CEFCLIENT_HELPER_SRCS}) - SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_HELPER_TARGET}) - add_dependencies(${CEF_HELPER_TARGET} libcef_dll_wrapper) - target_link_libraries(${CEF_HELPER_TARGET} libcef_dll_wrapper ${CEF_STANDARD_LIBS}) - set_target_properties(${CEF_HELPER_TARGET} PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist - OUTPUT_NAME ${CEF_HELPER_OUTPUT_NAME} - ) - if(USE_SANDBOX) # Logical target used to link the cef_sandbox library. ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG}" "${CEF_SANDBOX_LIB_RELEASE}") - target_link_libraries(${CEF_HELPER_TARGET} cef_sandbox_lib) endif() - # Main executable target. + # Main app bundle target. add_executable(${CEF_TARGET} MACOSX_BUNDLE ${CEFCLIENT_RESOURCES_SRCS} ${CEFCLIENT_SRCS}) SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET}) - add_dependencies(${CEF_TARGET} libcef_dll_wrapper "${CEF_HELPER_TARGET}") + add_dependencies(${CEF_TARGET} libcef_dll_wrapper) target_link_libraries(${CEF_TARGET} libcef_dll_wrapper ${CEF_STANDARD_LIBS} "-framework OpenGL") set_target_properties(${CEF_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Info.plist ) - # Copy files into the main app bundle. + # Copy the CEF framework into the Frameworks directory. add_custom_command( TARGET ${CEF_TARGET} POST_BUILD - # Copy the helper app bundle into the Frameworks directory. - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CEF_HELPER_APP}" - "${CEF_APP}/Contents/Frameworks/${CEF_HELPER_OUTPUT_NAME}.app" - # Copy the CEF framework into the Frameworks directory. COMMAND ${CMAKE_COMMAND} -E copy_directory "${CEF_BINARY_DIR}/Chromium Embedded Framework.framework" "${CEF_APP}/Contents/Frameworks/Chromium Embedded Framework.framework" VERBATIM ) + # Create the multiple Helper app bundle targets. + foreach(_suffix_list ${CEF_HELPER_APP_SUFFIXES}) + # Convert to a list and extract the suffix values. + string(REPLACE ":" ";" _suffix_list ${_suffix_list}) + list(GET _suffix_list 0 _name_suffix) + list(GET _suffix_list 1 _target_suffix) + list(GET _suffix_list 2 _plist_suffix) + + # Define Helper target and output names. + set(_helper_target "${CEF_HELPER_TARGET}${_target_suffix}") + set(_helper_output_name "${CEF_HELPER_OUTPUT_NAME}${_name_suffix}") + + # Create Helper-specific variants of the helper-Info.plist file. Do this + # manually because the configure_file command (which is executed as part of + # MACOSX_BUNDLE_INFO_PLIST) uses global env variables and would insert the + # wrong values with multiple targets. + set(_helper_info_plist "${CMAKE_CURRENT_BINARY_DIR}/helper-Info${_target_suffix}.plist") + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist" _plist_contents) + string(REPLACE "\${EXECUTABLE_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${PRODUCT_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${BUNDLE_ID_SUFFIX}" "${_plist_suffix}" _plist_contents ${_plist_contents}) + file(WRITE ${_helper_info_plist} ${_plist_contents}) + + # Create Helper executable target. + add_executable(${_helper_target} MACOSX_BUNDLE ${CEFCLIENT_HELPER_SRCS}) + SET_EXECUTABLE_TARGET_PROPERTIES(${_helper_target}) + add_dependencies(${_helper_target} libcef_dll_wrapper) + target_link_libraries(${_helper_target} libcef_dll_wrapper ${CEF_STANDARD_LIBS}) + set_target_properties(${_helper_target} PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${_helper_info_plist} + OUTPUT_NAME ${_helper_output_name} + ) + + if(USE_SANDBOX) + target_link_libraries(${_helper_target} cef_sandbox_lib) + endif() + + # Add the Helper as a dependency of the main executable target. + add_dependencies(${CEF_TARGET} "${_helper_target}") + + # Copy the Helper app bundle into the Frameworks directory. + add_custom_command( + TARGET ${CEF_TARGET} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CEF_TARGET_OUT_DIR}/${_helper_output_name}.app" + "${CEF_APP}/Contents/Frameworks/${_helper_output_name}.app" + VERBATIM + ) + endforeach() + # Manually process and copy over resource files. # The Xcode generator can support this via the set_target_properties RESOURCE # directive but that doesn't properly handle nested resource directories. diff --git a/tests/cefclient/resources/mac/helper-Info.plist b/tests/cefclient/resources/mac/helper-Info.plist index 21c6280ac..43fb55615 100644 --- a/tests/cefclient/resources/mac/helper-Info.plist +++ b/tests/cefclient/resources/mac/helper-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cef.cefclient.helper + org.cef.cefclient.helper${BUNDLE_ID_SUFFIX} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/tests/cefsimple/CMakeLists.txt.in b/tests/cefsimple/CMakeLists.txt.in index 145327832..12b1c84f5 100644 --- a/tests/cefsimple/CMakeLists.txt.in +++ b/tests/cefsimple/CMakeLists.txt.in @@ -97,53 +97,88 @@ if(OS_MACOSX) ) endif() - # Output paths for the app bundles. + # Output path for the main app bundle. set(CEF_APP "${CEF_TARGET_OUT_DIR}/${CEF_TARGET}.app") - set(CEF_HELPER_APP "${CEF_TARGET_OUT_DIR}/${CEF_HELPER_OUTPUT_NAME}.app") - # Variable referenced from Info.plist files. + # Variables referenced from the main Info.plist file. + set(EXECUTABLE_NAME "${CEF_TARGET}") set(PRODUCT_NAME "${CEF_TARGET}") - # Helper executable target. - add_executable(${CEF_HELPER_TARGET} MACOSX_BUNDLE ${CEFSIMPLE_HELPER_SRCS}) - SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_HELPER_TARGET}) - add_dependencies(${CEF_HELPER_TARGET} libcef_dll_wrapper) - target_link_libraries(${CEF_HELPER_TARGET} libcef_dll_wrapper ${CEF_STANDARD_LIBS}) - set_target_properties(${CEF_HELPER_TARGET} PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/mac/helper-Info.plist - OUTPUT_NAME ${CEF_HELPER_OUTPUT_NAME} - ) - if(USE_SANDBOX) # Logical target used to link the cef_sandbox library. ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG}" "${CEF_SANDBOX_LIB_RELEASE}") - target_link_libraries(${CEF_HELPER_TARGET} cef_sandbox_lib) endif() - # Main executable target. + # Main app bundle target. add_executable(${CEF_TARGET} MACOSX_BUNDLE ${CEFSIMPLE_RESOURCES_SRCS} ${CEFSIMPLE_SRCS}) SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET}) - add_dependencies(${CEF_TARGET} libcef_dll_wrapper "${CEF_HELPER_TARGET}") + add_dependencies(${CEF_TARGET} libcef_dll_wrapper) target_link_libraries(${CEF_TARGET} libcef_dll_wrapper ${CEF_STANDARD_LIBS}) set_target_properties(${CEF_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/mac/Info.plist ) - # Copy files into the main app bundle. + # Copy the CEF framework into the Frameworks directory. add_custom_command( TARGET ${CEF_TARGET} POST_BUILD - # Copy the helper app bundle into the Frameworks directory. - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CEF_HELPER_APP}" - "${CEF_APP}/Contents/Frameworks/${CEF_HELPER_OUTPUT_NAME}.app" - # Copy the CEF framework into the Frameworks directory. COMMAND ${CMAKE_COMMAND} -E copy_directory "${CEF_BINARY_DIR}/Chromium Embedded Framework.framework" "${CEF_APP}/Contents/Frameworks/Chromium Embedded Framework.framework" VERBATIM ) + # Create the multiple Helper app bundle targets. + foreach(_suffix_list ${CEF_HELPER_APP_SUFFIXES}) + # Convert to a list and extract the suffix values. + string(REPLACE ":" ";" _suffix_list ${_suffix_list}) + list(GET _suffix_list 0 _name_suffix) + list(GET _suffix_list 1 _target_suffix) + list(GET _suffix_list 2 _plist_suffix) + + # Define Helper target and output names. + set(_helper_target "${CEF_HELPER_TARGET}${_target_suffix}") + set(_helper_output_name "${CEF_HELPER_OUTPUT_NAME}${_name_suffix}") + + # Create Helper-specific variants of the helper-Info.plist file. Do this + # manually because the configure_file command (which is executed as part of + # MACOSX_BUNDLE_INFO_PLIST) uses global env variables and would insert the + # wrong values with multiple targets. + set(_helper_info_plist "${CMAKE_CURRENT_BINARY_DIR}/helper-Info${_target_suffix}.plist") + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/mac/helper-Info.plist" _plist_contents) + string(REPLACE "\${EXECUTABLE_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${PRODUCT_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${BUNDLE_ID_SUFFIX}" "${_plist_suffix}" _plist_contents ${_plist_contents}) + file(WRITE ${_helper_info_plist} ${_plist_contents}) + + # Create Helper executable target. + add_executable(${_helper_target} MACOSX_BUNDLE ${CEFSIMPLE_HELPER_SRCS}) + SET_EXECUTABLE_TARGET_PROPERTIES(${_helper_target}) + add_dependencies(${_helper_target} libcef_dll_wrapper) + target_link_libraries(${_helper_target} libcef_dll_wrapper ${CEF_STANDARD_LIBS}) + set_target_properties(${_helper_target} PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${_helper_info_plist} + OUTPUT_NAME ${_helper_output_name} + ) + + if(USE_SANDBOX) + target_link_libraries(${_helper_target} cef_sandbox_lib) + endif() + + # Add the Helper as a dependency of the main executable target. + add_dependencies(${CEF_TARGET} "${_helper_target}") + + # Copy the Helper app bundle into the Frameworks directory. + add_custom_command( + TARGET ${CEF_TARGET} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CEF_TARGET_OUT_DIR}/${_helper_output_name}.app" + "${CEF_APP}/Contents/Frameworks/${_helper_output_name}.app" + VERBATIM + ) + endforeach() + # Manually process and copy over resource files. # The Xcode generator can support this via the set_target_properties RESOURCE # directive but that doesn't properly handle nested resource directories. diff --git a/tests/cefsimple/mac/helper-Info.plist b/tests/cefsimple/mac/helper-Info.plist index e2d512fa1..46c1e2b90 100644 --- a/tests/cefsimple/mac/helper-Info.plist +++ b/tests/cefsimple/mac/helper-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cef.cefsimple.helper + org.cef.cefsimple.helper${BUNDLE_ID_SUFFIX} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/tests/ceftests/CMakeLists.txt.in b/tests/ceftests/CMakeLists.txt.in index af0403817..cdda2b7be 100644 --- a/tests/ceftests/CMakeLists.txt.in +++ b/tests/ceftests/CMakeLists.txt.in @@ -104,53 +104,88 @@ endif() # if(OS_MACOSX) - # Output paths for the app bundles. + # Output path for the main app bundle. set(CEF_APP "${CEF_TARGET_OUT_DIR}/${CEF_TARGET}.app") - set(CEF_HELPER_APP "${CEF_TARGET_OUT_DIR}/${CEF_HELPER_OUTPUT_NAME}.app") - # Variable referenced from Info.plist files. + # Variables referenced from the main Info.plist file. + set(EXECUTABLE_NAME "${CEF_TARGET}") set(PRODUCT_NAME "${CEF_TARGET}") - # Helper executable target. - add_executable(${CEF_HELPER_TARGET} MACOSX_BUNDLE ${UNITTESTS_HELPER_SRCS}) - SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_HELPER_TARGET}) - add_dependencies(${CEF_HELPER_TARGET} libcef_dll_wrapper cef_gtest) - target_link_libraries(${CEF_HELPER_TARGET} libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS}) - set_target_properties(${CEF_HELPER_TARGET} PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist - OUTPUT_NAME ${CEF_HELPER_OUTPUT_NAME} - ) - if(USE_SANDBOX) # Logical target used to link the cef_sandbox library. ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG}" "${CEF_SANDBOX_LIB_RELEASE}") - target_link_libraries(${CEF_HELPER_TARGET} cef_sandbox_lib) endif() - # Main executable target. + # Main app bundle target. add_executable(${CEF_TARGET} MACOSX_BUNDLE ${UNITTESTS_RESOURCES_SRCS} ${UNITTESTS_SRCS}) SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET}) - add_dependencies(${CEF_TARGET} libcef_dll_wrapper cef_gtest "${CEF_HELPER_TARGET}") + add_dependencies(${CEF_TARGET} libcef_dll_wrapper cef_gtest) target_link_libraries(${CEF_TARGET} libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS}) set_target_properties(${CEF_TARGET} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Info.plist ) - # Copy files into the main app bundle. + # Copy the CEF framework into the Frameworks directory. add_custom_command( TARGET ${CEF_TARGET} POST_BUILD - # Copy the helper app bundle into the Frameworks directory. - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CEF_HELPER_APP}" - "${CEF_APP}/Contents/Frameworks/${CEF_HELPER_OUTPUT_NAME}.app" - # Copy the CEF framework into the Frameworks directory. COMMAND ${CMAKE_COMMAND} -E copy_directory "${CEF_BINARY_DIR}/Chromium Embedded Framework.framework" "${CEF_APP}/Contents/Frameworks/Chromium Embedded Framework.framework" VERBATIM ) + # Create the multiple Helper app bundle targets. + foreach(_suffix_list ${CEF_HELPER_APP_SUFFIXES}) + # Convert to a list and extract the suffix values. + string(REPLACE ":" ";" _suffix_list ${_suffix_list}) + list(GET _suffix_list 0 _name_suffix) + list(GET _suffix_list 1 _target_suffix) + list(GET _suffix_list 2 _plist_suffix) + + # Define Helper target and output names. + set(_helper_target "${CEF_HELPER_TARGET}${_target_suffix}") + set(_helper_output_name "${CEF_HELPER_OUTPUT_NAME}${_name_suffix}") + + # Create Helper-specific variants of the helper-Info.plist file. Do this + # manually because the configure_file command (which is executed as part of + # MACOSX_BUNDLE_INFO_PLIST) uses global env variables and would insert the + # wrong values with multiple targets. + set(_helper_info_plist "${CMAKE_CURRENT_BINARY_DIR}/helper-Info${_target_suffix}.plist") + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist" _plist_contents) + string(REPLACE "\${EXECUTABLE_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${PRODUCT_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents}) + string(REPLACE "\${BUNDLE_ID_SUFFIX}" "${_plist_suffix}" _plist_contents ${_plist_contents}) + file(WRITE ${_helper_info_plist} ${_plist_contents}) + + # Create Helper executable target. + add_executable(${_helper_target} MACOSX_BUNDLE ${UNITTESTS_HELPER_SRCS}) + SET_EXECUTABLE_TARGET_PROPERTIES(${_helper_target}) + add_dependencies(${_helper_target} libcef_dll_wrapper cef_gtest) + target_link_libraries(${_helper_target} libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS}) + set_target_properties(${_helper_target} PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${_helper_info_plist} + OUTPUT_NAME ${_helper_output_name} + ) + + if(USE_SANDBOX) + target_link_libraries(${_helper_target} cef_sandbox_lib) + endif() + + # Add the Helper as a dependency of the main executable target. + add_dependencies(${CEF_TARGET} "${_helper_target}") + + # Copy the Helper app bundle into the Frameworks directory. + add_custom_command( + TARGET ${CEF_TARGET} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CEF_TARGET_OUT_DIR}/${_helper_output_name}.app" + "${CEF_APP}/Contents/Frameworks/${_helper_output_name}.app" + VERBATIM + ) + endforeach() + # Manually process and copy over resource files. # The Xcode generator can support this via the set_target_properties RESOURCE # directive but that doesn't properly handle nested resource directories. diff --git a/tests/ceftests/resources/mac/helper-Info.plist b/tests/ceftests/resources/mac/helper-Info.plist index 55fb3ce67..d2359ccba 100644 --- a/tests/ceftests/resources/mac/helper-Info.plist +++ b/tests/ceftests/resources/mac/helper-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cef.ceftests.helper + org.cef.ceftests.helper${BUNDLE_ID_SUFFIX} CFBundleInfoDictionaryVersion 6.0 CFBundleName