--- /dev/null
+# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights\r
+# reserved. Use of this source code is governed by a BSD-style license that\r
+# can be found in the LICENSE file.\r
+\r
+#\r
+# Source files.\r
+#\r
+\r
+# ceftests sources.\r
+set(CEFTESTS_SRCS\r
+ browser_info_map_unittest.cc\r
+ client_app_delegates.cc\r
+ command_line_unittest.cc\r
+ cookie_unittest.cc\r
+ dialog_unittest.cc\r
+ display_unittest.cc\r
+ dom_unittest.cc\r
+ download_unittest.cc\r
+ draggable_regions_unittest.cc\r
+ file_util.cc\r
+ file_util.h\r
+ file_util_unittest.cc\r
+ frame_unittest.cc\r
+ geolocation_unittest.cc\r
+ image_unittest.cc\r
+ image_util.cc\r
+ image_util.h\r
+ jsdialog_unittest.cc\r
+ life_span_unittest.cc\r
+ message_router_unittest.cc\r
+ navigation_unittest.cc\r
+ os_rendering_unittest.cc\r
+ parser_unittest.cc\r
+ plugin_unittest.cc\r
+ preference_unittest.cc\r
+ print_unittest.cc\r
+ process_message_unittest.cc\r
+ request_context_unittest.cc\r
+ request_handler_unittest.cc\r
+ request_unittest.cc\r
+ resource.h\r
+ resource_manager_unittest.cc\r
+ routing_test_handler.cc\r
+ routing_test_handler.h\r
+ run_all_unittests.cc\r
+ scheme_handler_unittest.cc\r
+ scoped_temp_dir_unittest.cc\r
+ stream_resource_handler_unittest.cc\r
+ stream_unittest.cc\r
+ string_unittest.cc\r
+ task_unittest.cc\r
+ test_handler.cc\r
+ test_handler.h\r
+ test_suite.cc\r
+ test_suite.h\r
+ test_util.cc\r
+ test_util.h\r
+ thread_helper.cc\r
+ thread_helper.h\r
+ thread_unittest.cc\r
+ tracing_unittest.cc\r
+ translator_unittest.cc\r
+ urlrequest_unittest.cc\r
+ v8_unittest.cc\r
+ values_unittest.cc\r
+ version_unittest.cc\r
+ waitable_event_unittest.cc\r
+ webui_unittest.cc\r
+ xml_reader_unittest.cc\r
+ zip_reader_unittest.cc\r
+ )\r
+set(CEFTESTS_SRCS_LINUX\r
+ resource_util_linux.cc\r
+ )\r
+set(CEFTESTS_SRCS_MACOSX\r
+ os_rendering_unittest_mac.h\r
+ os_rendering_unittest_mac.mm\r
+ run_all_unittests_mac.mm\r
+ )\r
+set(CEFTESTS_SRCS_WINDOWS\r
+ resource_util_win_idmap.cc\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_SRCS)\r
+source_group(ceftests FILES ${CEFTESTS_SRCS})\r
+\r
+set(CEFTESTS_RESOURCES_WIN_SRCS_WINDOWS\r
+ resources/win/ceftests.exe.manifest\r
+ resources/win/ceftests.ico\r
+ resources/win/ceftests.rc\r
+ resources/win/small.ico\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_RESOURCES_WIN_SRCS)\r
+source_group(ceftests\\\\resources\\\\win FILES ${CEFTESTS_RESOURCES_WIN_SRCS})\r
+\r
+set(CEFTESTS_SHARED_BROWSER_SRCS\r
+ ../shared/browser/client_app_browser.cc\r
+ ../shared/browser/client_app_browser.h\r
+ ../shared/browser/geometry_util.cc\r
+ ../shared/browser/geometry_util.h\r
+ ../shared/browser/main_message_loop.cc\r
+ ../shared/browser/main_message_loop.h\r
+ ../shared/browser/main_message_loop_external_pump.cc\r
+ ../shared/browser/main_message_loop_external_pump.h\r
+ ../shared/browser/main_message_loop_std.cc\r
+ ../shared/browser/main_message_loop_std.h\r
+ ../shared/browser/resource_util.cc\r
+ ../shared/browser/resource_util.h\r
+ ../shared/browser/resource_util.h\r
+ )\r
+set(CEFTESTS_SHARED_BROWSER_SRCS_LINUX\r
+ ../shared/browser/main_message_loop_external_pump_linux.cc\r
+ ../shared/browser/resource_util_posix.cc\r
+ )\r
+set(CEFTESTS_SHARED_BROWSER_SRCS_MACOSX\r
+ ../shared/browser/main_message_loop_external_pump_mac.mm\r
+ ../shared/browser/resource_util_mac.mm\r
+ ../shared/browser/resource_util_posix.cc\r
+ )\r
+set(CEFTESTS_SHARED_BROWSER_SRCS_WINDOWS\r
+ ../shared/browser/main_message_loop_external_pump_win.cc\r
+ ../shared/browser/resource_util_win.cc\r
+ ../shared/browser/util_win.cc\r
+ ../shared/browser/util_win.h\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_SHARED_BROWSER_SRCS)\r
+source_group(shared\\\\browser FILES ${CEFTESTS_SHARED_BROWSER_SRCS})\r
+\r
+set(CEFTESTS_SHARED_COMMON_SRCS\r
+ ../shared/common/client_app.cc\r
+ ../shared/common/client_app.h\r
+ ../shared/common/client_app_other.cc\r
+ ../shared/common/client_app_other.h\r
+ ../shared/common/client_switches.cc\r
+ ../shared/common/client_switches.h\r
+ )\r
+source_group(shared\\\\common FILES ${CEFTESTS_SHARED_COMMON_SRCS})\r
+\r
+set(CEFTESTS_SHARED_RENDERER_SRCS_LINUX\r
+ ../shared/renderer/client_app_renderer.cc\r
+ ../shared/renderer/client_app_renderer.h\r
+ )\r
+set(CEFTESTS_SHARED_RENDERER_SRCS_WINDOWS\r
+ ../shared/renderer/client_app_renderer.cc\r
+ ../shared/renderer/client_app_renderer.h\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_SHARED_RENDERER_SRCS)\r
+source_group(shared\\\\renderer FILES ${CEFTESTS_SHARED_RENDERER_SRCS})\r
+\r
+set(CEFTESTS_VIEWS_SRCS_LINUX\r
+ views/button_unittest.cc\r
+ views/panel_unittest.cc\r
+ views/scroll_view_unittest.cc\r
+ views/test_window_delegate.cc\r
+ views/test_window_delegate.h\r
+ views/textfield_unittest.cc\r
+ views/window_unittest.cc\r
+ )\r
+set(CEFTESTS_VIEWS_SRCS_WINDOWS\r
+ views/button_unittest.cc\r
+ views/panel_unittest.cc\r
+ views/scroll_view_unittest.cc\r
+ views/test_window_delegate.cc\r
+ views/test_window_delegate.h\r
+ views/textfield_unittest.cc\r
+ views/window_unittest.cc\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_VIEWS_SRCS)\r
+source_group(ceftests\\\\views FILES ${CEFTESTS_VIEWS_SRCS})\r
+\r
+set(UNITTESTS_SRCS\r
+ ${CEFTESTS_SRCS}\r
+ ${CEFTESTS_RESOURCES_WIN_SRCS}\r
+ ${CEFTESTS_SHARED_BROWSER_SRCS}\r
+ ${CEFTESTS_SHARED_COMMON_SRCS}\r
+ ${CEFTESTS_SHARED_RENDERER_SRCS}\r
+ ${CEFTESTS_VIEWS_SRCS}\r
+ )\r
+\r
+# ceftests helper sources.\r
+set(CEFTESTS_HELPER_SRCS_MACOSX\r
+ client_app_delegates.cc\r
+ cookie_unittest.cc\r
+ dom_unittest.cc\r
+ file_util.cc\r
+ file_util.h\r
+ frame_unittest.cc\r
+ message_router_unittest.cc\r
+ navigation_unittest.cc\r
+ plugin_unittest.cc\r
+ preference_unittest.cc\r
+ process_message_unittest.cc\r
+ request_handler_unittest.cc\r
+ request_unittest.cc\r
+ routing_test_handler.cc\r
+ routing_test_handler.h\r
+ scheme_handler_unittest.cc\r
+ test_handler.cc\r
+ test_handler.h\r
+ test_suite.cc\r
+ test_suite.h\r
+ test_util.cc\r
+ test_util.h\r
+ thread_helper.cc\r
+ thread_helper.h\r
+ thread_unittest.cc\r
+ tracing_unittest.cc\r
+ urlrequest_unittest.cc\r
+ v8_unittest.cc\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_HELPER_SRCS)\r
+source_group(ceftests FILES ${CEFTESTS_HELPER_SRCS})\r
+\r
+set(CEFTESTS_HELPER_SHARED_SRCS_MACOSX\r
+ ../shared/process_helper_mac.cc\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_HELPER_SHARED_SRCS)\r
+source_group(shared FILES ${CEFTESTS_HELPER_SHARED_SRCS})\r
+\r
+set(CEFTESTS_HELPER_SHARED_BROWSER_SRCS_MACOSX\r
+ ../shared/browser/resource_util.cc\r
+ ../shared/browser/resource_util.h\r
+ ../shared/browser/resource_util_mac.mm\r
+ ../shared/browser/resource_util_posix.cc\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_HELPER_SHARED_BROWSER_SRCS)\r
+source_group(shared\\\\browser FILES ${CEFTESTS_HELPER_SHARED_BROWSER_SRCS})\r
+\r
+set(CEFTESTS_HELPER_SHARED_COMMON_SRCS\r
+ ../shared/common/client_app.cc\r
+ ../shared/common/client_app.h\r
+ ../shared/common/client_app_other.cc\r
+ ../shared/common/client_app_other.h\r
+ ../shared/common/client_switches.cc\r
+ ../shared/common/client_switches.h\r
+ )\r
+source_group(shared\\\\common FILES ${CEFTESTS_HELPER_SHARED_COMMON_SRCS})\r
+\r
+set(CEFTESTS_HELPER_SHARED_RENDERER_SRCS\r
+ ../shared/renderer/client_app_renderer.cc\r
+ ../shared/renderer/client_app_renderer.h\r
+ )\r
+source_group(shared\\\\renderer FILES ${CEFTESTS_HELPER_SHARED_RENDERER_SRCS})\r
+\r
+set(UNITTESTS_HELPER_SRCS\r
+ ${CEFTESTS_HELPER_SRCS}\r
+ ${CEFTESTS_HELPER_SHARED_SRCS}\r
+ ${CEFTESTS_HELPER_SHARED_BROWSER_SRCS}\r
+ ${CEFTESTS_HELPER_SHARED_COMMON_SRCS}\r
+ ${CEFTESTS_HELPER_SHARED_RENDERER_SRCS}\r
+ )\r
+\r
+# ceftests resources.\r
+set(CEFTESTS_RESOURCES_RESOURCES_MAC_SRCS_MACOSX\r
+ resources/mac/Info.plist\r
+ resources/mac/ceftests.icns\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_RESOURCES_RESOURCES_MAC_SRCS)\r
+source_group(ceftests\\\\resources\\\\mac FILES ${CEFTESTS_RESOURCES_RESOURCES_MAC_SRCS})\r
+\r
+set(CEFTESTS_RESOURCES_RESOURCES_MAC_ENGLISH_LPROJ_SRCS_MACOSX\r
+ resources/mac/English.lproj/InfoPlist.strings\r
+ resources/mac/English.lproj/MainMenu.xib\r
+ )\r
+APPEND_PLATFORM_SOURCES(CEFTESTS_RESOURCES_RESOURCES_MAC_ENGLISH_LPROJ_SRCS)\r
+source_group(ceftests\\\\resources\\\\mac\\\\English.lproj FILES ${CEFTESTS_RESOURCES_RESOURCES_MAC_ENGLISH_LPROJ_SRCS})\r
+\r
+set(CEFTESTS_RESOURCES_SHARED_RESOURCES_SRCS\r
+ ../shared/resources/osr_test.html\r
+ ../shared/resources/pdf.html\r
+ ../shared/resources/pdf.pdf\r
+ ../shared/resources/window_icon.1x.png\r
+ ../shared/resources/window_icon.2x.png\r
+ )\r
+source_group(shared\\\\resources FILES ${CEFTESTS_RESOURCES_SHARED_RESOURCES_SRCS})\r
+\r
+set(UNITTESTS_RESOURCES_SRCS\r
+ ${CEFTESTS_RESOURCES_RESOURCES_MAC_SRCS}\r
+ ${CEFTESTS_RESOURCES_RESOURCES_MAC_ENGLISH_LPROJ_SRCS}\r
+ ${CEFTESTS_RESOURCES_SHARED_RESOURCES_SRCS}\r
+ )\r
+\r
+\r
+#\r
+# Shared configuration.\r
+#\r
+\r
+# Target executable names.\r
+set(CEF_TARGET "ceftests")\r
+if(OS_MACOSX)\r
+ set(CEF_HELPER_TARGET "ceftests Helper")\r
+endif()\r
+\r
+# Logical target used to link the libcef library.\r
+ADD_LOGICAL_TARGET("libcef_lib" "${CEF_LIB_DEBUG}" "${CEF_LIB_RELEASE}")\r
+\r
+# Determine the target output directory.\r
+SET_CEF_TARGET_OUT_DIR()\r
+\r
+\r
+#\r
+# Linux configuration.\r
+#\r
+\r
+if(OS_LINUX)\r
+ # Find required libraries and update compiler/linker variables.\r
+ FIND_LINUX_LIBRARIES("glib-2.0")\r
+\r
+ # Executable target.\r
+ add_executable(${CEF_TARGET} ${UNITTESTS_SRCS} ${UNITTESTS_RESOURCES_SRCS})\r
+ SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET})\r
+ add_dependencies(${CEF_TARGET} libcef_dll_wrapper cef_gtest)\r
+ target_link_libraries(${CEF_TARGET} libcef_lib libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS})\r
+\r
+ # Set rpath so that libraries can be placed next to the executable.\r
+ set_target_properties(${CEF_TARGET} PROPERTIES INSTALL_RPATH "$ORIGIN")\r
+ set_target_properties(${CEF_TARGET} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)\r
+ set_target_properties(${CEF_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CEF_TARGET_OUT_DIR})\r
+\r
+ # Copy binary and resource files to the target output directory.\r
+ COPY_FILES("${CEF_TARGET}" "${CEF_BINARY_FILES}" "${CEF_BINARY_DIR}" "${CEF_TARGET_OUT_DIR}")\r
+ COPY_FILES("${CEF_TARGET}" "${CEF_RESOURCE_FILES}" "${CEF_RESOURCE_DIR}" "${CEF_TARGET_OUT_DIR}")\r
+\r
+ # Copy ceftests resource files to the target output directory.\r
+ COPY_FILES("${CEF_TARGET}" "${UNITTESTS_RESOURCES_SRCS}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CEF_TARGET_OUT_DIR}/ceftests_files")\r
+\r
+ # Set SUID permissions on the chrome-sandbox target.\r
+ SET_LINUX_SUID_PERMISSIONS("${CEF_TARGET}" "${CEF_TARGET_OUT_DIR}/chrome-sandbox")\r
+endif()\r
+\r
+\r
+#\r
+# Mac OS X configuration.\r
+#\r
+\r
+if(OS_MACOSX)\r
+ # Output paths for the app bundles.\r
+ set(CEF_APP "${CEF_TARGET_OUT_DIR}/${CEF_TARGET}.app")\r
+ set(CEF_HELPER_APP "${CEF_TARGET_OUT_DIR}/${CEF_HELPER_TARGET}.app")\r
+\r
+ # Variable referenced from Info.plist files.\r
+ set(PRODUCT_NAME "${CEF_TARGET}")\r
+\r
+ # Helper executable target.\r
+ add_executable(${CEF_HELPER_TARGET} MACOSX_BUNDLE ${UNITTESTS_HELPER_SRCS})\r
+ SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_HELPER_TARGET})\r
+ add_dependencies(${CEF_HELPER_TARGET} libcef_dll_wrapper cef_gtest)\r
+ target_link_libraries(${CEF_HELPER_TARGET} libcef_lib libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS})\r
+ set_target_properties(${CEF_HELPER_TARGET} PROPERTIES\r
+ MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist\r
+ )\r
+\r
+ # Fix the framework rpath in the helper executable.\r
+ FIX_MACOSX_HELPER_FRAMEWORK_RPATH(${CEF_HELPER_TARGET})\r
+\r
+ # Main executable target.\r
+ add_executable(${CEF_TARGET} MACOSX_BUNDLE ${UNITTESTS_RESOURCES_SRCS} ${UNITTESTS_SRCS})\r
+ SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET})\r
+ add_dependencies(${CEF_TARGET} libcef_dll_wrapper cef_gtest "${CEF_HELPER_TARGET}")\r
+ target_link_libraries(${CEF_TARGET} libcef_lib libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS})\r
+ set_target_properties(${CEF_TARGET} PROPERTIES\r
+ RESOURCE "${UNITTESTS_RESOURCES_SRCS}"\r
+ MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Info.plist\r
+ )\r
+\r
+ # Copy files into the main app bundle.\r
+ add_custom_command(\r
+ TARGET ${CEF_TARGET}\r
+ POST_BUILD\r
+ # Copy the helper app bundle into the Frameworks directory.\r
+ COMMAND ${CMAKE_COMMAND} -E copy_directory\r
+ "${CEF_HELPER_APP}"\r
+ "${CEF_APP}/Contents/Frameworks/${CEF_HELPER_TARGET}.app"\r
+ # Copy the CEF framework into the Frameworks directory.\r
+ COMMAND ${CMAKE_COMMAND} -E copy_directory\r
+ "${CEF_BINARY_DIR}/Chromium Embedded Framework.framework"\r
+ "${CEF_APP}/Contents/Frameworks/Chromium Embedded Framework.framework"\r
+ VERBATIM\r
+ )\r
+\r
+ # Fix the framework rpath in the main executable.\r
+ FIX_MACOSX_MAIN_FRAMEWORK_RPATH(${CEF_TARGET})\r
+\r
+ if(NOT ${CMAKE_GENERATOR} STREQUAL "Xcode")\r
+ # Manually process and copy over resource files.\r
+ # The Xcode generator handles this via the set_target_properties RESOURCE directive.\r
+ # Remove these prefixes from input file paths.\r
+ set(PREFIXES\r
+ "resources/mac/"\r
+ "../shared/resources/"\r
+ )\r
+ COPY_MACOSX_RESOURCES("${UNITTESTS_RESOURCES_SRCS}" "${PREFIXES}" "${CEF_TARGET}" "${CMAKE_CURRENT_SOURCE_DIR}" "${CEF_APP}")\r
+ endif()\r
+endif()\r
+\r
+\r
+#\r
+# Windows configuration.\r
+#\r
+\r
+if(OS_WINDOWS)\r
+ # Executable target.\r
+ add_executable(${CEF_TARGET} WIN32 ${UNITTESTS_SRCS} ${UNITTESTS_RESOURCES_SRCS})\r
+ add_dependencies(${CEF_TARGET} libcef_dll_wrapper cef_gtest)\r
+\r
+ list(APPEND CEF_EXE_LINKER_FLAGS\r
+ /SUBSYSTEM:CONSOLE # Configure as a console application.\r
+ )\r
+\r
+ SET_EXECUTABLE_TARGET_PROPERTIES(${CEF_TARGET})\r
+ target_link_libraries(${CEF_TARGET} libcef_lib libcef_dll_wrapper cef_gtest ${CEF_STANDARD_LIBS})\r
+\r
+ if(USE_SANDBOX)\r
+ # Logical target used to link the cef_sandbox library.\r
+ ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG}" "${CEF_SANDBOX_LIB_RELEASE}")\r
+ target_link_libraries(${CEF_TARGET} cef_sandbox_lib ${CEF_SANDBOX_STANDARD_LIBS})\r
+ endif()\r
+\r
+ # Add the custom manifest files to the executable.\r
+ ADD_WINDOWS_MANIFEST("${CMAKE_CURRENT_SOURCE_DIR}/resources/win" "${CEF_TARGET}" "exe")\r
+\r
+ # Copy CEF binary and resource files to the target output directory.\r
+ COPY_FILES("${CEF_TARGET}" "${CEF_BINARY_FILES}" "${CEF_BINARY_DIR}" "${CEF_TARGET_OUT_DIR}")\r
+ COPY_FILES("${CEF_TARGET}" "${CEF_RESOURCE_FILES}" "${CEF_RESOURCE_DIR}" "${CEF_TARGET_OUT_DIR}")\r
+endif()\r
+\r