mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			367 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			367 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
 | 
						|
# reserved. Use of this source code is governed by a BSD-style license that
 | 
						|
# can be found in the LICENSE file.
 | 
						|
 | 
						|
# Must be loaded via FindCEF.cmake.
 | 
						|
if(NOT DEFINED _CEF_ROOT_EXPLICIT)
 | 
						|
  message(FATAL_ERROR "Use find_package(CEF) to load this file.")
 | 
						|
endif()
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Shared macros.
 | 
						|
#
 | 
						|
 | 
						|
# Print the current CEF configuration.
 | 
						|
macro(PRINT_CEF_CONFIG)
 | 
						|
  message(STATUS "*** CEF CONFIGURATION SETTINGS ***")
 | 
						|
  message(STATUS "Generator:                    ${CMAKE_GENERATOR}")
 | 
						|
  message(STATUS "Platform:                     ${CMAKE_SYSTEM_NAME}")
 | 
						|
  message(STATUS "Project architecture:         ${PROJECT_ARCH}")
 | 
						|
 | 
						|
  if(GEN_NINJA OR GEN_MAKEFILES)
 | 
						|
    message(STATUS "Build type:                   ${CMAKE_BUILD_TYPE}")
 | 
						|
  endif()
 | 
						|
 | 
						|
  message(STATUS "Binary distribution root:     ${_CEF_ROOT}")
 | 
						|
 | 
						|
  if(OS_MACOSX)
 | 
						|
    message(STATUS "Base SDK:                     ${CMAKE_OSX_SYSROOT}")
 | 
						|
    message(STATUS "Target SDK:                   ${CEF_TARGET_SDK}")
 | 
						|
  endif()
 | 
						|
 | 
						|
  if(OS_WINDOWS)
 | 
						|
    message(STATUS "Visual Studio ATL support:    ${USE_ATL}")
 | 
						|
  endif()
 | 
						|
 | 
						|
  message(STATUS "CEF sandbox:                  ${USE_SANDBOX}")
 | 
						|
 | 
						|
  set(_libraries ${CEF_STANDARD_LIBS})
 | 
						|
  if(OS_WINDOWS AND USE_SANDBOX)
 | 
						|
    list(APPEND _libraries ${CEF_SANDBOX_STANDARD_LIBS})
 | 
						|
  endif()
 | 
						|
  message(STATUS "Standard libraries:           ${_libraries}")
 | 
						|
 | 
						|
  message(STATUS "Compile defines:              ${CEF_COMPILER_DEFINES}")
 | 
						|
  message(STATUS "Compile defines (Debug):      ${CEF_COMPILER_DEFINES_DEBUG}")
 | 
						|
  message(STATUS "Compile defines (Release):    ${CEF_COMPILER_DEFINES_RELEASE}")
 | 
						|
  message(STATUS "C compile flags:              ${CEF_COMPILER_FLAGS} ${CEF_C_COMPILER_FLAGS}")
 | 
						|
  message(STATUS "C compile flags (Debug):      ${CEF_COMPILER_FLAGS_DEBUG} ${CEF_C_COMPILER_FLAGS_DEBUG}")
 | 
						|
  message(STATUS "C compile flags (Release):    ${CEF_COMPILER_FLAGS_RELEASE} ${CEF_C_COMPILER_FLAGS_RELEASE}")
 | 
						|
  message(STATUS "C++ compile flags:            ${CEF_COMPILER_FLAGS} ${CEF_CXX_COMPILER_FLAGS}")
 | 
						|
  message(STATUS "C++ compile flags (Debug):    ${CEF_COMPILER_FLAGS_DEBUG} ${CEF_CXX_COMPILER_FLAGS_DEBUG}")
 | 
						|
  message(STATUS "C++ compile flags (Release):  ${CEF_COMPILER_FLAGS_RELEASE} ${CEF_CXX_COMPILER_FLAGS_RELEASE}")
 | 
						|
  message(STATUS "Exe link flags:               ${CEF_LINKER_FLAGS} ${CEF_EXE_LINKER_FLAGS}")
 | 
						|
  message(STATUS "Exe link flags (Debug):       ${CEF_LINKER_FLAGS_DEBUG} ${CEF_EXE_LINKER_FLAGS_DEBUG}")
 | 
						|
  message(STATUS "Exe link flags (Release):     ${CEF_LINKER_FLAGS_RELEASE} ${CEF_EXE_LINKER_FLAGS_RELEASE}")
 | 
						|
  message(STATUS "Shared link flags:            ${CEF_LINKER_FLAGS} ${CEF_SHARED_LINKER_FLAGS}")
 | 
						|
  message(STATUS "Shared link flags (Debug):    ${CEF_LINKER_FLAGS_DEBUG} ${CEF_SHARED_LINKER_FLAGS_DEBUG}")
 | 
						|
  message(STATUS "Shared link flags (Release):  ${CEF_LINKER_FLAGS_RELEASE} ${CEF_SHARED_LINKER_FLAGS_RELEASE}")
 | 
						|
 | 
						|
  if(OS_LINUX OR OS_WINDOWS)
 | 
						|
    message(STATUS "CEF Binary files:             ${CEF_BINARY_FILES}")
 | 
						|
    message(STATUS "CEF Resource files:           ${CEF_RESOURCE_FILES}")
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Append platform specific sources to a list of sources.
 | 
						|
macro(APPEND_PLATFORM_SOURCES name_of_list)
 | 
						|
  if(OS_LINUX AND ${name_of_list}_LINUX)
 | 
						|
    list(APPEND ${name_of_list} ${${name_of_list}_LINUX})
 | 
						|
  endif()
 | 
						|
  if(OS_POSIX AND ${name_of_list}_POSIX)
 | 
						|
    list(APPEND ${name_of_list} ${${name_of_list}_POSIX})
 | 
						|
  endif()
 | 
						|
  if(OS_WINDOWS AND ${name_of_list}_WINDOWS)
 | 
						|
    list(APPEND ${name_of_list} ${${name_of_list}_WINDOWS})
 | 
						|
  endif()
 | 
						|
  if(OS_MACOSX AND ${name_of_list}_MACOSX)
 | 
						|
    list(APPEND ${name_of_list} ${${name_of_list}_MACOSX})
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Determine the target output directory based on platform and generator.
 | 
						|
macro(SET_CEF_TARGET_OUT_DIR)
 | 
						|
  if(GEN_NINJA OR GEN_MAKEFILES)
 | 
						|
    # By default Ninja and Make builds don't create a subdirectory named after
 | 
						|
    # the configuration.
 | 
						|
    set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
 | 
						|
 | 
						|
    # Output binaries (executables, libraries) to the correct directory.
 | 
						|
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CEF_TARGET_OUT_DIR})
 | 
						|
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CEF_TARGET_OUT_DIR})
 | 
						|
  else()
 | 
						|
    set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>")
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Copy a list of files from one directory to another. Relative files paths are maintained.
 | 
						|
# The path component of the source |file_list| will be removed.
 | 
						|
macro(COPY_FILES target file_list source_dir target_dir)
 | 
						|
  foreach(FILENAME ${file_list})
 | 
						|
    set(source_file ${source_dir}/${FILENAME})
 | 
						|
    get_filename_component(target_name ${FILENAME} NAME)
 | 
						|
    set(target_file ${target_dir}/${target_name})
 | 
						|
 | 
						|
    string(FIND ${source_file} "$<CONFIGURATION>" _pos)
 | 
						|
    if(NOT ${_pos} EQUAL -1)
 | 
						|
      # Must test with an actual configuration directory.
 | 
						|
      string(REPLACE "$<CONFIGURATION>" "Release" existing_source_file ${source_file})
 | 
						|
      if(NOT EXISTS ${existing_source_file})
 | 
						|
        string(REPLACE "$<CONFIGURATION>" "Debug" existing_source_file ${source_file})
 | 
						|
      endif()
 | 
						|
    else()
 | 
						|
      set(existing_source_file ${source_file})
 | 
						|
    endif()
 | 
						|
 | 
						|
    if(IS_DIRECTORY ${existing_source_file})
 | 
						|
      add_custom_command(
 | 
						|
        TARGET ${target}
 | 
						|
        POST_BUILD
 | 
						|
        COMMAND ${CMAKE_COMMAND} -E copy_directory "${source_file}" "${target_file}"
 | 
						|
        VERBATIM
 | 
						|
        )
 | 
						|
    else()
 | 
						|
      add_custom_command(
 | 
						|
        TARGET ${target}
 | 
						|
        POST_BUILD
 | 
						|
        COMMAND ${CMAKE_COMMAND} -E copy_if_different "${source_file}" "${target_file}"
 | 
						|
        VERBATIM
 | 
						|
        )
 | 
						|
    endif()
 | 
						|
  endforeach()
 | 
						|
endmacro()
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Linux macros.
 | 
						|
#
 | 
						|
 | 
						|
if(OS_LINUX)
 | 
						|
 | 
						|
# Use pkg-config to find Linux libraries and update compiler/linker variables.
 | 
						|
macro(FIND_LINUX_LIBRARIES libraries)
 | 
						|
  # Read pkg-config info into variables.
 | 
						|
  execute_process(COMMAND pkg-config --cflags ${libraries} OUTPUT_VARIABLE FLL_CFLAGS)
 | 
						|
  execute_process(COMMAND pkg-config --libs-only-L --libs-only-other ${libraries} OUTPUT_VARIABLE FLL_LDFLAGS)
 | 
						|
  execute_process(COMMAND pkg-config --libs-only-l ${libraries} OUTPUT_VARIABLE FLL_LIBS)
 | 
						|
 | 
						|
  # Strip leading and trailing whitepspace.
 | 
						|
  STRING(STRIP "${FLL_CFLAGS}"  FLL_CFLAGS)
 | 
						|
  STRING(STRIP "${FLL_LDFLAGS}" FLL_LDFLAGS)
 | 
						|
  STRING(STRIP "${FLL_LIBS}"    FLL_LIBS)
 | 
						|
 | 
						|
  # Convert to a list.
 | 
						|
  separate_arguments(FLL_CFLAGS)
 | 
						|
  separate_arguments(FLL_LDFLAGS)
 | 
						|
  separate_arguments(FLL_LIBS)
 | 
						|
 | 
						|
  # Update build variables.
 | 
						|
  list(APPEND CEF_C_COMPILER_FLAGS    ${FLL_CFLAGS})
 | 
						|
  list(APPEND CEF_CXX_COMPILER_FLAGS  ${FLL_CFLAGS})
 | 
						|
  list(APPEND CEF_EXE_LINKER_FLAGS    ${FLL_LDFLAGS})
 | 
						|
  list(APPEND CEF_SHARED_LINKER_FLAGS ${FLL_LDFLAGS})
 | 
						|
  list(APPEND CEF_STANDARD_LIBS       ${FLL_LIBS})
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Set SUID permissions on the specified executable.
 | 
						|
macro(SET_LINUX_SUID_PERMISSIONS target executable)
 | 
						|
  add_custom_command(
 | 
						|
    TARGET ${target}
 | 
						|
    POST_BUILD
 | 
						|
    COMMAND ${CMAKE_COMMAND} -E echo ""
 | 
						|
    COMMAND ${CMAKE_COMMAND} -E echo "*** Run the following command manually to set SUID permissions ***"
 | 
						|
    COMMAND ${CMAKE_COMMAND} -E echo "EXE=\"${executable}\" && sudo -- chown root:root $EXE && sudo -- chmod 4755 $EXE"
 | 
						|
    COMMAND ${CMAKE_COMMAND} -E echo ""
 | 
						|
    VERBATIM
 | 
						|
    )
 | 
						|
endmacro()
 | 
						|
 | 
						|
endif(OS_LINUX)
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Mac OS X macros.
 | 
						|
#
 | 
						|
 | 
						|
if(OS_MACOSX)
 | 
						|
 | 
						|
# Manually process and copy over resource files.
 | 
						|
macro(COPY_MACOSX_RESOURCES resource_list prefix_list target source_dir app_path)
 | 
						|
  foreach(FILENAME ${resource_list})
 | 
						|
    # Remove one or more prefixes from the source paths.
 | 
						|
    set(TARGET_FILENAME "${FILENAME}")
 | 
						|
    foreach(PREFIX ${prefix_list})
 | 
						|
      string(REGEX REPLACE "^.*${PREFIX}" "" TARGET_FILENAME ${TARGET_FILENAME})
 | 
						|
    endforeach()
 | 
						|
 | 
						|
    # Determine the absolute source and target paths.
 | 
						|
    set(TARGET_PATH "${app_path}/Contents/Resources/${TARGET_FILENAME}")
 | 
						|
    if(IS_ABSOLUTE ${FILENAME})
 | 
						|
      set(SOURCE_PATH ${FILENAME})
 | 
						|
    else()
 | 
						|
      set(SOURCE_PATH "${source_dir}/${FILENAME}")
 | 
						|
    endif()
 | 
						|
 | 
						|
    if(${FILENAME} MATCHES ".xib$")
 | 
						|
      # Change the target file extension.
 | 
						|
      string(REGEX REPLACE ".xib$" ".nib" TARGET_PATH ${TARGET_PATH})
 | 
						|
 | 
						|
      get_filename_component(TARGET_DIRECTORY ${TARGET_PATH} PATH)
 | 
						|
      add_custom_command(
 | 
						|
        TARGET ${target}
 | 
						|
        POST_BUILD
 | 
						|
        # Create the target directory.
 | 
						|
        COMMAND ${CMAKE_COMMAND} -E make_directory "${TARGET_DIRECTORY}"
 | 
						|
        # Compile the XIB file to a NIB.
 | 
						|
        COMMAND /usr/bin/ibtool --output-format binary1 --compile "${TARGET_PATH}" "${SOURCE_PATH}"
 | 
						|
        VERBATIM
 | 
						|
        )
 | 
						|
    elseif(NOT ${TARGET_FILENAME} STREQUAL "Info.plist")
 | 
						|
      # Copy the file as-is.
 | 
						|
      add_custom_command(
 | 
						|
        TARGET ${target}
 | 
						|
        POST_BUILD
 | 
						|
        COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_PATH}" "${TARGET_PATH}"
 | 
						|
        VERBATIM
 | 
						|
        )
 | 
						|
    endif()
 | 
						|
  endforeach()
 | 
						|
endmacro()
 | 
						|
 | 
						|
endif(OS_MACOSX)
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Windows macros.
 | 
						|
#
 | 
						|
 | 
						|
if(OS_WINDOWS)
 | 
						|
 | 
						|
# Add custom manifest files to an executable target.
 | 
						|
macro(ADD_WINDOWS_MANIFEST manifest_path target extension)
 | 
						|
  add_custom_command(
 | 
						|
    TARGET ${target}
 | 
						|
    POST_BUILD
 | 
						|
    COMMAND "mt.exe" -nologo
 | 
						|
            -manifest \"${manifest_path}/${target}.${extension}.manifest\" \"${manifest_path}/compatibility.manifest\"
 | 
						|
            -outputresource:"${CEF_TARGET_OUT_DIR}/${target}.${extension}"\;\#1
 | 
						|
    COMMENT "Adding manifest..."
 | 
						|
    )
 | 
						|
endmacro()
 | 
						|
 | 
						|
endif(OS_WINDOWS)
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Target configuration macros.
 | 
						|
#
 | 
						|
 | 
						|
# Add a logical target that can be used to link the specified libraries into an
 | 
						|
# executable target.
 | 
						|
macro(ADD_LOGICAL_TARGET target debug_lib release_lib)
 | 
						|
  add_library(${target} ${CEF_LIBTYPE} IMPORTED)
 | 
						|
  set_target_properties(${target} PROPERTIES
 | 
						|
    IMPORTED_LOCATION "${release_lib}"
 | 
						|
    IMPORTED_LOCATION_DEBUG "${debug_lib}"
 | 
						|
    IMPORTED_LOCATION_RELEASE "${release_lib}"
 | 
						|
    )
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Set common target properties. Use SET_LIBRARY_TARGET_PROPERTIES() or
 | 
						|
# SET_EXECUTABLE_TARGET_PROPERTIES() instead of calling this macro directly.
 | 
						|
macro(SET_COMMON_TARGET_PROPERTIES target)
 | 
						|
  # Compile flags.
 | 
						|
  target_compile_options(${target} PRIVATE ${CEF_COMPILER_FLAGS} ${CEF_CXX_COMPILER_FLAGS})
 | 
						|
  target_compile_options(${target} PRIVATE $<$<CONFIG:Debug>:${CEF_COMPILER_FLAGS_DEBUG} ${CEF_CXX_COMPILER_FLAGS_DEBUG}>)
 | 
						|
  target_compile_options(${target} PRIVATE $<$<CONFIG:Release>:${CEF_COMPILER_FLAGS_RELEASE} ${CEF_CXX_COMPILER_FLAGS_RELEASE}>)
 | 
						|
 | 
						|
  # Compile definitions.
 | 
						|
  target_compile_definitions(${target} PRIVATE ${CEF_COMPILER_DEFINES})
 | 
						|
  target_compile_definitions(${target} PRIVATE $<$<CONFIG:Debug>:${CEF_COMPILER_DEFINES_DEBUG}>)
 | 
						|
  target_compile_definitions(${target} PRIVATE $<$<CONFIG:Release>:${CEF_COMPILER_DEFINES_RELEASE}>)
 | 
						|
 | 
						|
  # Include directories.
 | 
						|
  target_include_directories(${target} PRIVATE ${CEF_INCLUDE_PATH})
 | 
						|
 | 
						|
  # Linker flags.
 | 
						|
  if(CEF_LINKER_FLAGS)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_LINKER_FLAGS}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_LINKER_FLAGS_DEBUG)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_LINKER_FLAGS_DEBUG}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_DEBUG ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_LINKER_FLAGS_RELEASE)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_LINKER_FLAGS_RELEASE}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_RELEASE ${_flags_str})
 | 
						|
  endif()
 | 
						|
 | 
						|
  if(OS_MACOSX)
 | 
						|
    # Set Xcode target properties.
 | 
						|
    set_target_properties(${target} PROPERTIES
 | 
						|
      XCODE_ATTRIBUTE_ALWAYS_SEARCH_USER_PATHS                    NO
 | 
						|
      XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD                 "gnu++11"   # -std=gnu++11
 | 
						|
      XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME                     NO          # -fno-objc-link-runtime
 | 
						|
      XCODE_ATTRIBUTE_CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS  YES         # -Wobjc-missing-property-synthesis
 | 
						|
      XCODE_ATTRIBUTE_COPY_PHASE_STRIP                            NO
 | 
						|
      XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING[variant=Release]        YES         # -Wl,-dead_strip
 | 
						|
      XCODE_ATTRIBUTE_GCC_C_LANGUAGE_STANDARD                     "c99"       # -std=c99
 | 
						|
      XCODE_ATTRIBUTE_GCC_CW_ASM_SYNTAX                           NO          # No -fasm-blocks
 | 
						|
      XCODE_ATTRIBUTE_GCC_DYNAMIC_NO_PIC                          NO
 | 
						|
      XCODE_ATTRIBUTE_GCC_ENABLE_CPP_EXCEPTIONS                   NO          # -fno-exceptions
 | 
						|
      XCODE_ATTRIBUTE_GCC_ENABLE_CPP_RTTI                         NO          # -fno-rtti
 | 
						|
      XCODE_ATTRIBUTE_GCC_ENABLE_PASCAL_STRINGS                   NO          # No -mpascal-strings
 | 
						|
      XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN              YES         # -fvisibility-inlines-hidden
 | 
						|
      XCODE_ATTRIBUTE_GCC_OBJC_CALL_CXX_CDTORS                    YES         # -fobjc-call-cxx-cdtors
 | 
						|
      XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN                  YES         # -fvisibility=hidden
 | 
						|
      XCODE_ATTRIBUTE_GCC_THREADSAFE_STATICS                      NO          # -fno-threadsafe-statics
 | 
						|
      XCODE_ATTRIBUTE_GCC_TREAT_WARNINGS_AS_ERRORS                YES         # -Werror
 | 
						|
      XCODE_ATTRIBUTE_GCC_VERSION                                 "com.apple.compilers.llvm.clang.1_0"
 | 
						|
      XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_NEWLINE              YES         # -Wnewline-eof
 | 
						|
      XCODE_ATTRIBUTE_USE_HEADERMAP                               NO
 | 
						|
      OSX_ARCHITECTURES_DEBUG                                     "${CMAKE_OSX_ARCHITECTURES}"
 | 
						|
      OSX_ARCHITECTURES_RELEASE                                   "${CMAKE_OSX_ARCHITECTURES}"
 | 
						|
      )
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Set library-specific properties.
 | 
						|
macro(SET_LIBRARY_TARGET_PROPERTIES target)
 | 
						|
  SET_COMMON_TARGET_PROPERTIES(${target})
 | 
						|
 | 
						|
  # Shared library linker flags.
 | 
						|
  if(CEF_SHARED_LINKER_FLAGS)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_SHARED_LINKER_FLAGS}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_SHARED_LINKER_FLAGS_DEBUG)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_SHARED_LINKER_FLAGS_DEBUG}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_DEBUG ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_SHARED_LINKER_FLAGS_RELEASE)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_SHARED_LINKER_FLAGS_RELEASE}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_RELEASE ${_flags_str})
 | 
						|
  endif()
 | 
						|
endmacro()
 | 
						|
 | 
						|
# Set executable-specific properties.
 | 
						|
macro(SET_EXECUTABLE_TARGET_PROPERTIES target)
 | 
						|
  SET_COMMON_TARGET_PROPERTIES(${target})
 | 
						|
 | 
						|
  # Executable linker flags.
 | 
						|
  if(CEF_EXE_LINKER_FLAGS)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_EXE_LINKER_FLAGS}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_EXE_LINKER_FLAGS_DEBUG)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_EXE_LINKER_FLAGS_DEBUG}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_DEBUG ${_flags_str})
 | 
						|
  endif()
 | 
						|
  if(CEF_EXE_LINKER_FLAGS_RELEASE)
 | 
						|
    string(REPLACE ";" " " _flags_str "${CEF_EXE_LINKER_FLAGS_RELEASE}")
 | 
						|
    set_property(TARGET ${target} PROPERTY LINK_FLAGS_RELEASE ${_flags_str})
 | 
						|
  endif()
 | 
						|
endmacro()
 |