CMake: private includes before public includes
This way, build-in headers (for example png headers) will always be included before system headers.
This commit is contained in:
@@ -405,14 +405,18 @@ endmacro()
|
|||||||
# Forwards everything to target_include_directories() except for monolithic
|
# Forwards everything to target_include_directories() except for monolithic
|
||||||
# build where it collects all include paths for linking with the mono lib
|
# build where it collects all include paths for linking with the mono lib
|
||||||
macro(wx_lib_include_directories name)
|
macro(wx_lib_include_directories name)
|
||||||
if(wxBUILD_MONOLITHIC)
|
|
||||||
cmake_parse_arguments(_LIB_INCLUDE_DIRS "" "" "PUBLIC;PRIVATE" ${ARGN})
|
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_PUBLIC ${_LIB_INCLUDE_DIRS_PUBLIC})
|
||||||
list(APPEND wxMONO_INCLUDE_DIRS_PRIVATE ${_LIB_INCLUDE_DIRS_PRIVATE})
|
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_PUBLIC ${wxMONO_INCLUDE_DIRS_PUBLIC} PARENT_SCOPE)
|
||||||
set(wxMONO_INCLUDE_DIRS_PRIVATE ${wxMONO_INCLUDE_DIRS_PRIVATE} PARENT_SCOPE)
|
set(wxMONO_INCLUDE_DIRS_PRIVATE ${wxMONO_INCLUDE_DIRS_PRIVATE} PARENT_SCOPE)
|
||||||
else()
|
else()
|
||||||
target_include_directories(${name};BEFORE;${ARGN})
|
set(INCLUDE_POS)
|
||||||
|
if (_LIB_INCLUDE_DIRS_PRIVATE)
|
||||||
|
set(INCLUDE_POS BEFORE)
|
||||||
|
endif()
|
||||||
|
target_include_directories(${name};${INCLUDE_POS};${ARGN})
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
@@ -86,7 +86,11 @@ if(wxBUILD_MONOLITHIC)
|
|||||||
target_link_libraries(mono ${vis} ${wxMONO_LIBS_${vis}})
|
target_link_libraries(mono ${vis} ${wxMONO_LIBS_${vis}})
|
||||||
endif()
|
endif()
|
||||||
if(wxMONO_INCLUDE_DIRS_${vis})
|
if(wxMONO_INCLUDE_DIRS_${vis})
|
||||||
target_include_directories(mono ${vis} ${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}})
|
||||||
endif()
|
endif()
|
||||||
if(wxMONO_DEFINITIONS_${vis})
|
if(wxMONO_DEFINITIONS_${vis})
|
||||||
target_compile_definitions(mono ${vis} ${wxMONO_DEFINITIONS_${vis}})
|
target_compile_definitions(mono ${vis} ${wxMONO_DEFINITIONS_${vis}})
|
||||||
|
Reference in New Issue
Block a user