Skip to content

Commit

Permalink
- reorder include directories to place internal paths before external
Browse files Browse the repository at this point in the history
  • Loading branch information
alexey-lysiuk committed May 22, 2021
1 parent be4e19b commit 5c9fb20
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
1 change: 0 additions & 1 deletion libraries/glslang/glslang/CMakeLists.txt
Expand Up @@ -124,7 +124,6 @@ add_library(glslang STATIC ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURC
set_property(TARGET glslang PROPERTY FOLDER glslang)
set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(glslang OGLCompiler OSDependent)
target_include_directories(glslang PUBLIC ..)

if(WIN32 AND BUILD_SHARED_LIBS)
set_target_properties(glslang PROPERTIES PREFIX "")
Expand Down
4 changes: 1 addition & 3 deletions libraries/glslang/spirv/CMakeLists.txt
Expand Up @@ -52,9 +52,7 @@ set(SPVREMAP_HEADERS
add_library(SPIRV STATIC ${LIB_TYPE} ${SOURCES} ${HEADERS})
set_property(TARGET SPIRV PROPERTY FOLDER glslang)
set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
target_include_directories(SPIRV PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_include_directories(SPIRV PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..)

if (ENABLE_SPVREMAPPER)
add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
Expand Down
21 changes: 21 additions & 0 deletions src/CMakeLists.txt
Expand Up @@ -1286,12 +1286,33 @@ include_directories( .
scripting/zscript
rendering
../libraries/gdtoa
../libraries/glslang
../libraries/glslang/glslang/Public
../libraries/glslang/spirv
${CMAKE_BINARY_DIR}/libraries/gdtoa
${SYSTEM_SOURCES_DIR}
)

# Reorder include directories to place internal paths before external
get_target_property(UNORDERED_INCLUDE_DIRS zdoom INCLUDE_DIRECTORIES)

foreach(INCLUDE_DIR ${UNORDERED_INCLUDE_DIRS})
get_filename_component(INCLUDE_DIR ${INCLUDE_DIR} ABSOLUTE)
string(FIND "${INCLUDE_DIR}" "${CMAKE_SOURCE_DIR}" SOURCE_DIR_POS)

if(${SOURCE_DIR_POS} EQUAL 0)
list(APPEND ORDERED_INCLUDE_DIRS "${INCLUDE_DIR}")
else()
list(APPEND EXTERNAL_INCLUDE_DIRS "${INCLUDE_DIR}")
endif()
endforeach()

foreach(EXTERNAL_DIR ${EXTERNAL_INCLUDE_DIRS})
list(APPEND ORDERED_INCLUDE_DIRS "${EXTERNAL_DIR}")
endforeach()

set_target_properties(zdoom PROPERTIES INCLUDE_DIRECTORIES "${ORDERED_INCLUDE_DIRS}")

add_dependencies( zdoom revision_check )

# Due to some quirks, we need to do this in this order
Expand Down

0 comments on commit 5c9fb20

Please sign in to comment.