CMake: use wx prefix in library names

Rename all library targets to start with wx. This way it does not use generic
names like base or core that could interfere with other libraries that add
include the wxWidgets project.
This commit is contained in:
Maarten Bent
2020-05-17 19:41:44 +02:00
parent 0c2d05f52f
commit 0f806ad96d
26 changed files with 198 additions and 184 deletions

View File

@@ -75,31 +75,31 @@ endforeach()
if(wxBUILD_MONOLITHIC)
# Create monolithic library target
list(LENGTH wxMONO_SRC_FILES src_file_count)
wx_add_library(mono ${wxMONO_SRC_FILES})
wx_add_library(wxmono ${wxMONO_SRC_FILES})
foreach(vis PRIVATE PUBLIC)
if(wxMONO_LIBS_${vis})
# Remove libs included in mono from list
foreach(lib IN LISTS LIBS)
list(REMOVE_ITEM wxMONO_LIBS_${vis} ${lib})
list(REMOVE_ITEM wxMONO_LIBS_${vis} wx${lib})
endforeach()
target_link_libraries(mono ${vis} ${wxMONO_LIBS_${vis}})
target_link_libraries(wxmono ${vis} ${wxMONO_LIBS_${vis}})
endif()
if(wxMONO_INCLUDE_DIRS_${vis})
set(INCLUDE_POS)
if (vis STREQUAL PRIVATE)
set(INCLUDE_POS BEFORE)
endif()
target_include_directories(mono ${INCLUDE_POS} ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
target_include_directories(wxmono ${INCLUDE_POS} ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
endif()
if(wxMONO_DEFINITIONS_${vis})
target_compile_definitions(mono ${vis} ${wxMONO_DEFINITIONS_${vis}})
target_compile_definitions(wxmono ${vis} ${wxMONO_DEFINITIONS_${vis}})
endif()
endforeach()
foreach(file ${wxMONO_NONCOMPILED_CPP_FILES})
set_source_files_properties(${file} PROPERTIES HEADER_FILE_ONLY TRUE)
endforeach()
wx_finalize_lib(mono)
wx_finalize_lib(wxmono)
endif()
# Propagate variable(s) to parent scope

View File

@@ -9,6 +9,6 @@
include(../../source_groups.cmake)
wx_add_library(adv "${wxSOURCE_DIR}/src/common/dummy.cpp")
wx_add_library(wxadv "${wxSOURCE_DIR}/src/common/dummy.cpp")
wx_finalize_lib(adv)
wx_finalize_lib(wxadv)

View File

@@ -17,6 +17,6 @@ elseif(WXGTK2)
wx_append_sources(AUI_FILES AUI_GTK)
endif()
wx_add_library(aui ${AUI_FILES})
wx_add_library(wxaui ${AUI_FILES})
wx_finalize_lib(aui)
wx_finalize_lib(wxaui)

View File

@@ -26,38 +26,38 @@ elseif(UNIX)
wx_append_sources(BASE_FILES BASE_UNIX)
endif()
wx_add_library(base IS_BASE ${BASE_FILES})
wx_add_library(wxbase IS_BASE ${BASE_FILES})
if(NOT wxBUILD_MONOLITHIC)
wx_lib_compile_definitions(base PRIVATE wxUSE_BASE=1)
wx_lib_compile_definitions(wxbase PRIVATE wxUSE_BASE=1)
endif()
if(wxUSE_ZLIB)
wx_lib_include_directories(base PRIVATE ${ZLIB_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${ZLIB_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${ZLIB_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${ZLIB_LIBRARIES})
endif()
if(wxUSE_REGEX)
wx_lib_include_directories(base PRIVATE ${REGEX_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${REGEX_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${REGEX_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${REGEX_LIBRARIES})
endif()
if(wxUSE_LIBLZMA)
wx_lib_include_directories(base PRIVATE ${LIBLZMA_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${LIBLZMA_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${LIBLZMA_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBLZMA_LIBRARIES})
endif()
if(UNIX AND wxUSE_SECRETSTORE)
wx_lib_include_directories(base PRIVATE ${LIBSECRET_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${LIBSECRET_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${LIBSECRET_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBSECRET_LIBRARIES})
endif()
if(wxUSE_LIBICONV)
wx_lib_include_directories(base PRIVATE ${ICONV_INCLUDE_DIR})
wx_lib_link_libraries(base PRIVATE ${ICONV_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${ICONV_INCLUDE_DIR})
wx_lib_link_libraries(wxbase PRIVATE ${ICONV_LIBRARIES})
endif()
if(wxUSE_THREADS AND CMAKE_THREAD_LIBS_INIT)
wx_lib_link_libraries(base PRIVATE ${CMAKE_THREAD_LIBS_INIT})
wx_lib_link_libraries(wxbase PRIVATE ${CMAKE_THREAD_LIBS_INIT})
endif()
if(APPLE)
wx_lib_link_libraries(base
wx_lib_link_libraries(wxbase
PRIVATE
"-framework Security"
PUBLIC
@@ -67,7 +67,7 @@ if(APPLE)
"-framework IOKit"
)
elseif(UNIX)
wx_lib_link_libraries(base PRIVATE dl)
wx_lib_link_libraries(wxbase PRIVATE dl)
endif()
wx_finalize_lib(base)
wx_finalize_lib(wxbase)

View File

@@ -54,44 +54,44 @@ elseif(WXQT)
endif()
endif()
wx_add_library(core ${CORE_SRC})
wx_add_library(wxcore ${CORE_SRC})
foreach(lib JPEG PNG TIFF)
if(${lib}_LIBRARIES)
if(lib STREQUAL JPEG)
wx_lib_include_directories(core PRIVATE ${${lib}_INCLUDE_DIR})
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIR})
else()
wx_lib_include_directories(core PRIVATE ${${lib}_INCLUDE_DIRS})
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(core PRIVATE ${${lib}_LIBRARIES})
wx_lib_link_libraries(wxcore PRIVATE ${${lib}_LIBRARIES})
endif()
endforeach()
if(WIN32)
wx_lib_link_libraries(core PRIVATE winmm)
wx_lib_link_libraries(wxcore PRIVATE winmm)
endif()
if(WXOSX_COCOA)
wx_lib_link_libraries(core PUBLIC "-framework AudioToolbox")
wx_lib_link_libraries(wxcore PUBLIC "-framework AudioToolbox")
if(wxUSE_WEBKIT)
wx_lib_link_libraries(core PUBLIC "-framework WebKit")
wx_lib_link_libraries(wxcore PUBLIC "-framework WebKit")
endif()
endif()
if(WXGTK AND wxUSE_PRIVATE_FONTS)
wx_lib_include_directories(core PUBLIC ${FONTCONFIG_INCLUDE_DIRS} ${PANGOFT2_INCLUDE_DIRS})
wx_lib_link_libraries(core PUBLIC ${FONTCONFIG_LIBRARIES} ${PANGOFT2_LIBRARIES})
wx_lib_include_directories(wxcore PUBLIC ${FONTCONFIG_INCLUDE_DIRS} ${PANGOFT2_INCLUDE_DIRS})
wx_lib_link_libraries(wxcore PUBLIC ${FONTCONFIG_LIBRARIES} ${PANGOFT2_LIBRARIES})
endif()
if(wxUSE_LIBSDL)
if(SDL2_FOUND)
wx_lib_include_directories(core PUBLIC ${SDL2_INCLUDE_DIR})
wx_lib_link_libraries(core PUBLIC ${SDL2_LIBRARY})
wx_lib_include_directories(wxcore PUBLIC ${SDL2_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL2_LIBRARY})
elseif(SDL_FOUND)
wx_lib_include_directories(core PUBLIC ${SDL_INCLUDE_DIR})
wx_lib_link_libraries(core PUBLIC ${SDL_LIBRARY})
wx_lib_include_directories(wxcore PUBLIC ${SDL_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL_LIBRARY})
endif()
endif()
if(wxUSE_LIBNOTIFY)
wx_lib_include_directories(core PUBLIC ${LIBNOTIFY_INCLUDE_DIRS})
wx_lib_link_libraries(core PUBLIC ${LIBNOTIFY_LIBRARIES})
wx_lib_include_directories(wxcore PUBLIC ${LIBNOTIFY_INCLUDE_DIRS})
wx_lib_link_libraries(wxcore PUBLIC ${LIBNOTIFY_LIBRARIES})
endif()
wx_finalize_lib(core)
wx_finalize_lib(wxcore)

View File

@@ -21,8 +21,8 @@ elseif(WXQT)
wx_append_sources(GL_FILES OPENGL_QT)
endif()
wx_add_library(gl ${GL_FILES})
wx_lib_include_directories(gl PUBLIC ${OPENGL_INCLUDE_DIR})
wx_lib_link_libraries(gl PUBLIC ${OPENGL_LIBRARIES})
wx_add_library(wxgl ${GL_FILES})
wx_lib_include_directories(wxgl PUBLIC ${OPENGL_INCLUDE_DIR})
wx_lib_link_libraries(wxgl PUBLIC ${OPENGL_LIBRARIES})
wx_finalize_lib(gl)
wx_finalize_lib(wxgl)

View File

@@ -15,11 +15,11 @@ if(WIN32 OR wxUSE_LIBMSPACK)
wx_append_sources(HTML_FILES HTML_MSW)
endif()
wx_add_library(html ${HTML_FILES})
wx_add_library(wxhtml ${HTML_FILES})
if(wxUSE_LIBMSPACK)
wx_lib_include_directories(html PRIVATE ${MSPACK_INCLUDE_DIRS})
wx_lib_link_libraries(html PRIVATE ${MSPACK_LIBRARIES})
wx_lib_include_directories(wxhtml PRIVATE ${MSPACK_INCLUDE_DIRS})
wx_lib_link_libraries(wxhtml PRIVATE ${MSPACK_LIBRARIES})
endif()
wx_finalize_lib(html)
wx_finalize_lib(wxhtml)

View File

@@ -21,37 +21,37 @@ elseif(WXQT)
wx_append_sources(MEDIA_FILES MEDIA_QT)
endif()
wx_add_library(media ${MEDIA_FILES})
wx_add_library(wxmedia ${MEDIA_FILES})
if(WXOSX_COCOA)
# TODO: add version detection of some kind and/or wx_option
wx_lib_compile_definitions(media PRIVATE -DwxOSX_USE_QTKIT=0)
wx_lib_link_libraries(media PUBLIC
wx_lib_compile_definitions(wxmedia PRIVATE -DwxOSX_USE_QTKIT=0)
wx_lib_link_libraries(wxmedia PUBLIC
"-framework AVFoundation"
"-framework AVKit"
"-framework CoreMedia"
)
elseif(UNIX)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INCLUDE_DIRS})
if(GSTREAMER_INTERFACES_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
endif()
if(GSTREAMER_VIDEO_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_VIDEO_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_VIDEO_INCLUDE_DIRS})
endif()
if(GSTREAMER_PLAYER_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_PLAYER_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_PLAYER_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_LIBRARIES})
if(GSTREAMER_INTERFACES_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_INTERFACES_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_INTERFACES_LIBRARIES})
endif()
if(GSTREAMER_VIDEO_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_VIDEO_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_VIDEO_LIBRARIES})
endif()
if(GSTREAMER_PLAYER_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
endif()
endif()
wx_finalize_lib(media)
wx_finalize_lib(wxmedia)

View File

@@ -21,10 +21,10 @@ if(UNIX AND NOT WIN32)
wx_append_sources(NET_FILES NET_UNIX)
endif()
wx_add_library(net IS_BASE ${NET_FILES})
wx_add_library(wxnet IS_BASE ${NET_FILES})
if(WIN32)
wx_lib_link_libraries(net PRIVATE ws2_32)
wx_lib_link_libraries(wxnet PRIVATE ws2_32)
endif()
wx_finalize_lib(net)
wx_finalize_lib(wxnet)

View File

@@ -11,6 +11,6 @@ include(../../source_groups.cmake)
wx_append_sources(PROPGRID_FILES PROPGRID)
wx_add_library(propgrid ${PROPGRID_FILES})
wx_add_library(wxpropgrid ${PROPGRID_FILES})
wx_finalize_lib(propgrid)
wx_finalize_lib(wxpropgrid)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(QA_FILES QA)
wx_add_library(qa ${QA_FILES})
wx_lib_link_libraries(qa PUBLIC xml)
wx_add_library(wxqa ${QA_FILES})
wx_lib_link_libraries(wxqa PUBLIC wxxml)
wx_finalize_lib(qa)
wx_finalize_lib(wxqa)

View File

@@ -11,6 +11,6 @@ include(../../source_groups.cmake)
wx_append_sources(RIBBON_FILES RIBBON)
wx_add_library(ribbon ${RIBBON_FILES})
wx_add_library(wxribbon ${RIBBON_FILES})
wx_finalize_lib(ribbon)
wx_finalize_lib(wxribbon)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(RICHTEXT_FILES RICHTEXT)
wx_add_library(richtext ${RICHTEXT_FILES})
wx_lib_link_libraries(richtext PRIVATE html xml)
wx_add_library(wxrichtext ${RICHTEXT_FILES})
wx_lib_link_libraries(wxrichtext PRIVATE wxhtml wxxml)
wx_finalize_lib(richtext)
wx_finalize_lib(wxrichtext)

View File

@@ -182,18 +182,18 @@ if(wxBUILD_PRECOMP)
wx_target_enable_precomp(wxscintilla ${wxSCINTILLA_PREC_HEADER})
endif()
wx_add_library(stc ${STC_FILES})
wx_lib_include_directories(stc PRIVATE
wx_add_library(wxstc ${STC_FILES})
wx_lib_include_directories(wxstc PRIVATE
${wxSOURCE_DIR}/src/stc/scintilla/include
${wxSOURCE_DIR}/src/stc/scintilla/lexlib
${wxSOURCE_DIR}/src/stc/scintilla/src
)
wx_lib_compile_definitions(stc PRIVATE
wx_lib_compile_definitions(wxstc PRIVATE
NO_CXX11_REGEX
__WX__
SCI_LEXER
LINK_LEXERS
)
wx_lib_link_libraries(stc PRIVATE wxscintilla)
wx_lib_link_libraries(wxstc PRIVATE wxscintilla)
wx_finalize_lib(stc)
wx_finalize_lib(wxstc)

View File

@@ -23,20 +23,20 @@ elseif(APPLE)
wx_append_sources(WEBVIEW_FILES WEBVIEW_OSX_SHARED)
endif()
wx_add_library(webview ${WEBVIEW_FILES})
wx_add_library(wxwebview ${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
wx_lib_compile_definitions(wxwebview PRIVATE
-DWX_WEB_EXTENSIONS_DIRECTORY="${CMAKE_INSTALL_PREFIX}/${WX_WEB_EXTENSIONS_DIRECTORY}"
)
endif()
if(APPLE)
wx_lib_link_libraries(webview PUBLIC "-framework WebKit")
wx_lib_link_libraries(wxwebview PUBLIC "-framework WebKit")
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
wx_lib_include_directories(webview PRIVATE "${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/include")
wx_lib_include_directories(wxwebview PRIVATE "${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/include")
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
set(WEBVIEW2_ARCH x86)
@@ -44,55 +44,55 @@ elseif(WXMSW)
set(WEBVIEW2_ARCH x64)
endif()
add_custom_command(TARGET webview POST_BUILD
add_custom_command(TARGET wxwebview POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/${WEBVIEW2_ARCH}/WebView2Loader.dll"
"$<TARGET_FILE_DIR:webview>/WebView2Loader.dll")
"$<TARGET_FILE_DIR:wxwebview>/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})
wx_lib_include_directories(wxwebview PUBLIC ${LIBSOUP_INCLUDE_DIRS})
wx_lib_link_libraries(wxwebview 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})
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT2_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT2_LIBRARIES})
elseif(wxUSE_WEBVIEW_WEBKIT)
wx_lib_include_directories(webview PUBLIC ${WEBKIT_INCLUDE_DIR})
wx_lib_link_libraries(webview PUBLIC ${WEBKIT_LIBRARIES})
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT_LIBRARIES})
endif()
endif()
wx_finalize_lib(webview)
wx_finalize_lib(wxwebview)
# 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)
add_library(wxwebkit2_ext SHARED ${WEBKIT2_EXT_FILES})
wx_set_target_properties(wxwebkit2_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
set_target_properties(wxwebkit2_ext PROPERTIES PREFIX "")
set_target_properties(wxwebkit2_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
target_include_directories(wxwebkit2_ext PUBLIC
${LIBSOUP_INCLUDE_DIRS}
${WEBKIT2_INCLUDE_DIR}
)
target_link_libraries(webkit2_ext PUBLIC
target_link_libraries(wxwebkit2_ext PUBLIC
${LIBSOUP_LIBRARIES}
${WEBKIT2_LIBRARIES}
)
wx_install(TARGETS webkit2_ext LIBRARY DESTINATION ${WX_WEB_EXTENSIONS_DIRECTORY})
wx_install(TARGETS wxwebkit2_ext LIBRARY DESTINATION ${WX_WEB_EXTENSIONS_DIRECTORY})
add_dependencies(webview webkit2_ext)
add_dependencies(wxwebview wxwebkit2_ext)
endif()

View File

@@ -10,8 +10,8 @@
include(../../source_groups.cmake)
wx_append_sources(XML_FILES XML)
wx_add_library(xml IS_BASE ${XML_FILES})
wx_lib_link_libraries(xml PRIVATE ${EXPAT_LIBRARIES})
wx_lib_include_directories(xml PRIVATE ${EXPAT_INCLUDE_DIRS})
wx_add_library(wxxml IS_BASE ${XML_FILES})
wx_lib_link_libraries(wxxml PRIVATE ${EXPAT_LIBRARIES})
wx_lib_include_directories(wxxml PRIVATE ${EXPAT_INCLUDE_DIRS})
wx_finalize_lib(xml)
wx_finalize_lib(wxxml)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(XRC_FILES XRC)
wx_add_library(xrc ${XRC_FILES})
wx_lib_link_libraries(xrc PRIVATE html xml)
wx_add_library(wxxrc ${XRC_FILES})
wx_lib_link_libraries(wxxrc PRIVATE wxhtml wxxml)
wx_finalize_lib(xrc)
wx_finalize_lib(wxxrc)