CMake: Make all target_include_directories private

There is no need to expose them to external projects.
This commit is contained in:
Maarten Bent
2022-04-10 20:39:17 +02:00
parent 87d6763209
commit de495c19a3
10 changed files with 34 additions and 46 deletions

View File

@@ -303,7 +303,7 @@ function(wx_set_target_properties target_name is_base)
if(wxTOOLKIT_INCLUDE_DIRS AND NOT is_base)
target_include_directories(${target_name}
PUBLIC ${wxTOOLKIT_INCLUDE_DIRS})
PRIVATE ${wxTOOLKIT_INCLUDE_DIRS})
endif()
if (WIN32)
@@ -488,22 +488,15 @@ macro(wx_exe_link_libraries name)
endif()
endmacro()
# wx_lib_include_directories(name [])
# wx_lib_include_directories(name files)
# Forwards everything to target_include_directories() except for monolithic
# build where it collects all include paths for linking with the mono lib
macro(wx_lib_include_directories name)
cmake_parse_arguments(_LIB_INCLUDE_DIRS "" "" "PUBLIC;PRIVATE" ${ARGN})
if(wxBUILD_MONOLITHIC)
list(APPEND wxMONO_INCLUDE_DIRS_PUBLIC ${_LIB_INCLUDE_DIRS_PUBLIC})
list(APPEND wxMONO_INCLUDE_DIRS_PRIVATE ${_LIB_INCLUDE_DIRS_PRIVATE})
set(wxMONO_INCLUDE_DIRS_PUBLIC ${wxMONO_INCLUDE_DIRS_PUBLIC} PARENT_SCOPE)
set(wxMONO_INCLUDE_DIRS_PRIVATE ${wxMONO_INCLUDE_DIRS_PRIVATE} PARENT_SCOPE)
list(APPEND wxMONO_INCLUDE_DIRS ${ARGN})
set(wxMONO_INCLUDE_DIRS ${wxMONO_INCLUDE_DIRS} PARENT_SCOPE)
else()
set(INCLUDE_POS)
if (_LIB_INCLUDE_DIRS_PRIVATE)
set(INCLUDE_POS BEFORE)
endif()
target_include_directories(${name};${INCLUDE_POS};${ARGN})
target_include_directories(${name} BEFORE PRIVATE ${ARGN})
endif()
endmacro()

View File

@@ -14,8 +14,7 @@ if(wxBUILD_MONOLITHIC)
set(wxMONO_SRC_FILES)
set(wxMONO_LIBS_PRIVATE)
set(wxMONO_LIBS_PUBLIC)
set(wxMONO_INCLUDE_DIRS_PRIVATE)
set(wxMONO_INCLUDE_DIRS_PUBLIC)
set(wxMONO_INCLUDE_DIRS)
set(wxMONO_NONCOMPILED_CPP_FILES)
endif()
@@ -85,17 +84,13 @@ if(wxBUILD_MONOLITHIC)
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(wxmono ${INCLUDE_POS} ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
endif()
if(wxMONO_DEFINITIONS_${vis})
target_compile_definitions(wxmono ${vis} ${wxMONO_DEFINITIONS_${vis}})
endif()
endforeach()
if(wxMONO_INCLUDE_DIRS)
target_include_directories(wxmono BEFORE PRIVATE ${wxMONO_INCLUDE_DIRS})
endif()
foreach(file ${wxMONO_NONCOMPILED_CPP_FILES})
set_source_files_properties(${file} PROPERTIES HEADER_FILE_ONLY TRUE)
endforeach()

View File

@@ -31,23 +31,23 @@ if(NOT wxBUILD_MONOLITHIC)
endif()
if(wxUSE_ZLIB)
wx_lib_include_directories(wxbase PRIVATE ${ZLIB_INCLUDE_DIRS})
wx_lib_include_directories(wxbase ${ZLIB_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${ZLIB_LIBRARIES})
endif()
if(wxUSE_REGEX)
wx_lib_include_directories(wxbase PRIVATE ${REGEX_INCLUDE_DIRS})
wx_lib_include_directories(wxbase ${REGEX_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${REGEX_LIBRARIES})
endif()
if(wxUSE_LIBLZMA)
wx_lib_include_directories(wxbase PRIVATE ${LIBLZMA_INCLUDE_DIRS})
wx_lib_include_directories(wxbase ${LIBLZMA_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBLZMA_LIBRARIES})
endif()
if(UNIX AND wxUSE_SECRETSTORE)
wx_lib_include_directories(wxbase PRIVATE ${LIBSECRET_INCLUDE_DIRS})
wx_lib_include_directories(wxbase ${LIBSECRET_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBSECRET_LIBRARIES})
endif()
if(wxUSE_LIBICONV)
wx_lib_include_directories(wxbase PRIVATE ${ICONV_INCLUDE_DIR})
wx_lib_include_directories(wxbase ${ICONV_INCLUDE_DIR})
wx_lib_link_libraries(wxbase PRIVATE ${ICONV_LIBRARIES})
endif()
if(wxUSE_THREADS AND CMAKE_THREAD_LIBS_INIT)

View File

@@ -61,9 +61,9 @@ wx_add_library(wxcore ${CORE_SRC})
foreach(lib JPEG PNG TIFF)
if(${lib}_LIBRARIES)
if(lib STREQUAL JPEG)
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIR})
wx_lib_include_directories(wxcore ${${lib}_INCLUDE_DIR})
else()
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIRS})
wx_lib_include_directories(wxcore ${${lib}_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(wxcore PRIVATE ${${lib}_LIBRARIES})
@@ -89,20 +89,20 @@ if(WXOSX_IPHONE)
)
endif()
if(WXGTK AND wxUSE_PRIVATE_FONTS)
wx_lib_include_directories(wxcore PUBLIC ${FONTCONFIG_INCLUDE_DIRS} ${PANGOFT2_INCLUDE_DIRS})
wx_lib_include_directories(wxcore ${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(wxcore PUBLIC ${SDL2_INCLUDE_DIR})
wx_lib_include_directories(wxcore ${SDL2_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL2_LIBRARY})
elseif(SDL_FOUND)
wx_lib_include_directories(wxcore PUBLIC ${SDL_INCLUDE_DIR})
wx_lib_include_directories(wxcore ${SDL_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL_LIBRARY})
endif()
endif()
if(wxUSE_LIBNOTIFY)
wx_lib_include_directories(wxcore PUBLIC ${LIBNOTIFY_INCLUDE_DIRS})
wx_lib_include_directories(wxcore ${LIBNOTIFY_INCLUDE_DIRS})
wx_lib_link_libraries(wxcore PUBLIC ${LIBNOTIFY_LIBRARIES})
endif()

View File

@@ -24,7 +24,7 @@ elseif(WXQT)
endif()
wx_add_library(wxgl ${GL_FILES})
wx_lib_include_directories(wxgl PUBLIC ${OPENGL_INCLUDE_DIR})
wx_lib_include_directories(wxgl ${OPENGL_INCLUDE_DIR})
wx_lib_link_libraries(wxgl PUBLIC ${OPENGL_LIBRARIES})
wx_finalize_lib(wxgl)

View File

@@ -18,7 +18,7 @@ endif()
wx_add_library(wxhtml ${HTML_FILES})
if(wxUSE_LIBMSPACK)
wx_lib_include_directories(wxhtml PRIVATE ${MSPACK_INCLUDE_DIRS})
wx_lib_include_directories(wxhtml ${MSPACK_INCLUDE_DIRS})
wx_lib_link_libraries(wxhtml PRIVATE ${MSPACK_LIBRARIES})
endif()

View File

@@ -31,15 +31,15 @@ if(WXOSX)
"-weak_framework AVKit"
)
elseif(WXGTK)
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia ${GSTREAMER_INCLUDE_DIRS})
if(GSTREAMER_INTERFACES_INCLUDE_DIRS)
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
endif()
if(GSTREAMER_VIDEO_INCLUDE_DIRS)
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_VIDEO_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia ${GSTREAMER_VIDEO_INCLUDE_DIRS})
endif()
if(GSTREAMER_PLAYER_INCLUDE_DIRS)
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_PLAYER_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia ${GSTREAMER_PLAYER_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_LIBRARIES})

View File

@@ -183,7 +183,7 @@ if(wxBUILD_PRECOMP)
endif()
wx_add_library(wxstc ${STC_FILES})
wx_lib_include_directories(wxstc PRIVATE
wx_lib_include_directories(wxstc
${wxSOURCE_DIR}/src/stc/scintilla/include
${wxSOURCE_DIR}/src/stc/scintilla/lexlib
${wxSOURCE_DIR}/src/stc/scintilla/src

View File

@@ -79,9 +79,9 @@ elseif(WXMSW)
endif()
set(WEBVIEW2_PACKAGE_DIR ${WEBVIEW2_PACKAGE_DIR} CACHE INTERNAL "" FORCE)
wx_lib_include_directories(wxwebview PRIVATE "${WEBVIEW2_PACKAGE_DIR}/build/native/include")
wx_lib_include_directories(wxwebview "${WEBVIEW2_PACKAGE_DIR}/build/native/include")
if(NOT MSVC)
wx_lib_include_directories(wxwebview PRIVATE "${wxSOURCE_DIR}/include/wx/msw/wrl")
wx_lib_include_directories(wxwebview "${wxSOURCE_DIR}/include/wx/msw/wrl")
if (NOT wxBUILD_MONOLITHIC)
target_compile_options(wxwebview PRIVATE -Wno-unknown-pragmas)
endif()
@@ -96,14 +96,14 @@ elseif(WXMSW)
endif()
elseif(WXGTK)
if(LIBSOUP_FOUND)
wx_lib_include_directories(wxwebview PUBLIC ${LIBSOUP_INCLUDE_DIRS})
wx_lib_include_directories(wxwebview ${LIBSOUP_INCLUDE_DIRS})
wx_lib_link_libraries(wxwebview PUBLIC ${LIBSOUP_LIBRARIES})
endif()
if(wxUSE_WEBVIEW_WEBKIT2)
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT2_INCLUDE_DIR})
wx_lib_include_directories(wxwebview ${WEBKIT2_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT2_LIBRARIES})
elseif(wxUSE_WEBVIEW_WEBKIT)
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT_INCLUDE_DIR})
wx_lib_include_directories(wxwebview ${WEBKIT_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT_LIBRARIES})
endif()
endif()
@@ -143,7 +143,7 @@ if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
PREFIX ""
)
target_include_directories(wxwebkit2_ext PUBLIC
target_include_directories(wxwebkit2_ext PRIVATE
${LIBSOUP_INCLUDE_DIRS}
${WEBKIT2_INCLUDE_DIR}
)

View File

@@ -12,6 +12,6 @@ include(../../source_groups.cmake)
wx_append_sources(XML_FILES XML)
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_lib_include_directories(wxxml ${EXPAT_INCLUDE_DIRS})
wx_finalize_lib(wxxml)