99 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| #############################################################################
 | |
| # Name:        build/cmake/lib/webview/CMakeLists.txt
 | |
| # Purpose:     CMake file for webview library
 | |
| # Author:      Tobias Taschner
 | |
| # Created:     2016-10-03
 | |
| # Copyright:   (c) 2016 wxWidgets development team
 | |
| # Licence:     wxWindows licence
 | |
| #############################################################################
 | |
| 
 | |
| include(../../source_groups.cmake)
 | |
| 
 | |
| wx_append_sources(WEBVIEW_FILES WEBVIEW_CMN)
 | |
| 
 | |
| if(WXMSW)
 | |
|     wx_append_sources(WEBVIEW_FILES WEBVIEW_MSW)
 | |
| elseif(WXGTK)
 | |
|     if(wxUSE_WEBVIEW_WEBKIT2)
 | |
|         wx_append_sources(WEBVIEW_FILES WEBVIEW2_GTK)
 | |
|     elseif(wxUSE_WEBVIEW_WEBKIT)
 | |
|         wx_append_sources(WEBVIEW_FILES WEBVIEW_GTK)
 | |
|     endif()
 | |
| elseif(APPLE)
 | |
|     wx_append_sources(WEBVIEW_FILES WEBVIEW_OSX_SHARED)
 | |
| endif()
 | |
| 
 | |
| wx_add_library(webview ${WEBVIEW_FILES})
 | |
| 
 | |
| if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
 | |
|     set(WX_WEB_EXTENSIONS_DIRECTORY "lib/wx/${wxMAJOR_VERSION}.${wxMINOR_VERSION}/web-extensions")
 | |
|     wx_lib_compile_definitions(webview PRIVATE
 | |
|         -DWX_WEB_EXTENSIONS_DIRECTORY="${CMAKE_INSTALL_PREFIX}/${WX_WEB_EXTENSIONS_DIRECTORY}"
 | |
|         )
 | |
| endif()
 | |
| 
 | |
| if(APPLE)
 | |
|     wx_lib_link_libraries(webview PUBLIC "-framework WebKit")
 | |
| elseif(WXMSW)
 | |
|     if(wxUSE_WEBVIEW_EDGE)
 | |
|         wx_lib_include_directories(webview PRIVATE "${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/include")
 | |
| 
 | |
|         if (CMAKE_SIZEOF_VOID_P EQUAL 4)
 | |
|             set(WEBVIEW2_ARCH x86)
 | |
|         else()
 | |
|             set(WEBVIEW2_ARCH x64)
 | |
|         endif()
 | |
| 
 | |
|         add_custom_command(TARGET webview POST_BUILD
 | |
|             COMMAND ${CMAKE_COMMAND} -E copy
 | |
|             "${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/${WEBVIEW2_ARCH}/WebView2Loader.dll"
 | |
|             "$<TARGET_FILE_DIR:webview>/WebView2Loader.dll")
 | |
|     endif()
 | |
| elseif(WXGTK)
 | |
|     if(LIBSOUP_FOUND)
 | |
|         wx_lib_include_directories(webview PUBLIC ${LIBSOUP_INCLUDE_DIRS})
 | |
|         wx_lib_link_libraries(webview PUBLIC ${LIBSOUP_LIBRARIES})
 | |
|     endif()
 | |
|     if(wxUSE_WEBVIEW_WEBKIT2)
 | |
|         wx_lib_include_directories(webview PUBLIC ${WEBKIT2_INCLUDE_DIR})
 | |
|         wx_lib_link_libraries(webview PUBLIC ${WEBKIT2_LIBRARIES})
 | |
|     elseif(wxUSE_WEBVIEW_WEBKIT)
 | |
|         wx_lib_include_directories(webview PUBLIC ${WEBKIT_INCLUDE_DIR})
 | |
|         wx_lib_link_libraries(webview PUBLIC ${WEBKIT_LIBRARIES})
 | |
|     endif()
 | |
| endif()
 | |
| 
 | |
| wx_finalize_lib(webview)
 | |
| 
 | |
| # webkit extension plugin
 | |
| # we can't use (all of the) macros and functions because this library should
 | |
| # always be build as a shared libary, and not included in the monolithic build.
 | |
| if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
 | |
|     wx_append_sources(WEBKIT2_EXT_FILES WEBVIEW_WEBKIT2_EXTENSION)
 | |
|     add_library(webkit2_ext SHARED ${WEBKIT2_EXT_FILES})
 | |
|     wx_set_target_properties(webkit2_ext false)
 | |
| 
 | |
|     # Change output name to match expected name in webview_webkit2.cpp: webkit2_ext*
 | |
|     if(wxUSE_UNICODE)
 | |
|         set(lib_unicode u)
 | |
|     endif()
 | |
|     set_target_properties(webkit2_ext PROPERTIES PREFIX "")
 | |
|     set_target_properties(webkit2_ext PROPERTIES
 | |
|         OUTPUT_NAME "webkit2_ext${lib_unicode}-${wxMAJOR_VERSION}.${wxMINOR_VERSION}"
 | |
|         OUTPUT_NAME_DEBUG "webkit2_ext${lib_unicode}d-${wxMAJOR_VERSION}.${wxMINOR_VERSION}"
 | |
|         )
 | |
| 
 | |
|     target_include_directories(webkit2_ext PUBLIC
 | |
|         ${LIBSOUP_INCLUDE_DIRS}
 | |
|         ${WEBKIT2_INCLUDE_DIR}
 | |
|         )
 | |
|     target_link_libraries(webkit2_ext PUBLIC
 | |
|         ${LIBSOUP_LIBRARIES}
 | |
|         ${WEBKIT2_LIBRARIES}
 | |
|         )
 | |
| 
 | |
|     wx_install(TARGETS webkit2_ext LIBRARY DESTINATION ${WX_WEB_EXTENSIONS_DIRECTORY})
 | |
| 
 | |
|     add_dependencies(webview webkit2_ext)
 | |
| endif()
 |