@@ -105,16 +105,8 @@ endif()
105105
106106if (OS_WINDOWS)
107107 add_link_options (/DEBUG)
108-
109- if (USE_SANDBOX)
110- # cef_sandbox.lib is MT already, must keep the same with it
111- set (CEF_RUNTIME_LIBRARY_FLAG "/MT" CACHE STRING "Use static runtime" )
112- add_compile_options ("/MT$<$<CONFIG:Debug>:d>" )
113- else ()
114- # either MT or MD is supported
115- set (CEF_RUNTIME_LIBRARY_FLAG "/M$<IF:$<BOOL:${STATIC_CRT} >,T,D>" CACHE STRING "Use static runtime" FORCE)
116- add_compile_options ("/M$<IF:$<BOOL:${STATIC_CRT} >,T,D>$<$<CONFIG:Debug>:d>" )
117- endif ()
108+ set (CEF_RUNTIME_LIBRARY_FLAG "/M$<IF:$<BOOL:${STATIC_CRT} >,T,D>" CACHE STRING "Use static runtime" FORCE)
109+ add_compile_options ("/M$<IF:$<BOOL:${STATIC_CRT} >,T,D>$<$<CONFIG:Debug>:d>" )
118110else ()
119111 add_compile_options (
120112 "-g"
@@ -131,14 +123,6 @@ find_package(CEF REQUIRED)
131123# Add libcef dll wrapper
132124add_subdirectory (${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
133125
134- if (USE_SANDBOX AND (OS_WINDOWS OR OS_MACOS))
135- add_definitions (-DCEF_USE_SANDBOX)
136-
137- # message(STATUS "cef_sandbox_lib path:" "${CEF_SANDBOX_LIB_DEBUG}," "${CEF_SANDBOX_LIB_RELEASE}" )
138- # Logical target used to link the cef_sandbox library.
139- ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG} " "${CEF_SANDBOX_LIB_RELEASE} " )
140- endif ()
141-
142126PRINT_CEF_CONFIG()
143127
144128# #################################################################################
@@ -189,3 +173,27 @@ if(${Need_Config_CefVersion_File})
189173else ()
190174 message (STATUS "No need to configure CefVersion.h file" )
191175endif ()
176+
177+ # config CEF sandbox
178+ if (CEF_VERSION_MAJOR LESS 138 AND USE_SANDBOX)
179+ if (OS_WINDOWS)
180+ if (STATIC_CRT)
181+ # sandbox enabled
182+ add_definitions (-DCEF_USE_SANDBOX)
183+ message (STATUS "cef_sandbox_lib path:" "${CEF_SANDBOX_LIB_DEBUG} ," "${CEF_SANDBOX_LIB_RELEASE} " )
184+ ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG} " "${CEF_SANDBOX_LIB_RELEASE} " )
185+ else ()
186+ # error, on windows platform CEF sandbox is only supported when:
187+ # 1. Static CRT linkage (MT/MTd)
188+ # 2. CEF version less than 138
189+ message (FATAL_ERROR "CEF sandbox feature on windows requires: CEF version < 138 and STATIC CRT linkage" )
190+ endif ()
191+ endif ()
192+
193+ if (OS_MACOS)
194+ # sandbox enabled
195+ add_definitions (-DCEF_USE_SANDBOX)
196+ message (STATUS "cef_sandbox_lib path:" "${CEF_SANDBOX_LIB_DEBUG} ," "${CEF_SANDBOX_LIB_RELEASE} " )
197+ ADD_LOGICAL_TARGET("cef_sandbox_lib" "${CEF_SANDBOX_LIB_DEBUG} " "${CEF_SANDBOX_LIB_RELEASE} " )
198+ endif ()
199+ endif ()
0 commit comments