瀏覽代碼

Merge branch 'master' of https://github.com/ArnaudD-FR/cotire into ArnaudD-FR-master

master
Sascha Kratky 9 年之前
父節點
當前提交
b1c7a21765
共有 1 個文件被更改,包括 45 次插入2 次删除
  1. +45
    -2
      CMake/cotire.cmake

+ 45
- 2
CMake/cotire.cmake 查看文件

@@ -1054,7 +1054,8 @@ endfunction()
function (cotire_scan_includes _includesVar)
set(_options "")
set(_oneValueArgs COMPILER_ID COMPILER_EXECUTABLE COMPILER_VERSION INCLUDE_SYSTEM_FLAG LANGUAGE UNPARSED_LINES)
set(_multiValueArgs COMPILE_DEFINITIONS COMPILE_FLAGS INCLUDE_DIRECTORIES SYSTEM_INCLUDE_DIRECTORIES IGNORE_PATH INCLUDE_PATH IGNORE_EXTENSIONS)
set(_multiValueArgs COMPILE_DEFINITIONS COMPILE_FLAGS INCLUDE_DIRECTORIES SYSTEM_INCLUDE_DIRECTORIES IGNORE_PATH INCLUDE_PATH IGNORE_EXTENSIONS,
INCLUDE_PRIORITY_PATH)
cmake_parse_arguments(_option "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
set (_sourceFiles ${_option_UNPARSED_ARGUMENTS})
if (NOT _option_LANGUAGE)
@@ -1104,6 +1105,21 @@ function (cotire_scan_includes _includesVar)
"${_option_IGNORE_EXTENSIONS}"
_includes _unparsedLines
${_sourceFiles})

if (_option_INCLUDE_PRIORITY_PATH)
set (_sortedIncludes "")
foreach (_priorityPath ${_option_INCLUDE_PRIORITY_PATH})
foreach (_include ${_includes})
string (FIND ${_include} ${_priorityPath} _position)
if (_position GREATER -1)
list (APPEND _sortedIncludes ${_include})
endif()
endforeach()
endforeach()
list (INSERT _includes 0 "${_sortedIncludes}")
list (REMOVE_DUPLICATES _includes)
endif()

set (${_includesVar} ${_includes} PARENT_SCOPE)
if (_option_UNPARSED_LINES)
set (${_option_UNPARSED_LINES} ${_unparsedLines} PARENT_SCOPE)
@@ -1255,7 +1271,8 @@ function (cotire_generate_prefix_header _prefixFile)
set(_options "")
set(_oneValueArgs LANGUAGE COMPILER_EXECUTABLE COMPILER_ID COMPILER_VERSION INCLUDE_SYSTEM_FLAG)
set(_multiValueArgs DEPENDS COMPILE_DEFINITIONS COMPILE_FLAGS
INCLUDE_DIRECTORIES SYSTEM_INCLUDE_DIRECTORIES IGNORE_PATH INCLUDE_PATH IGNORE_EXTENSIONS)
INCLUDE_DIRECTORIES SYSTEM_INCLUDE_DIRECTORIES IGNORE_PATH INCLUDE_PATH IGNORE_EXTENSIONS
INCLUDE_PRIORITY_PATH)
cmake_parse_arguments(_option "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
if (_option_DEPENDS)
cotire_check_file_up_to_date(_prefixFileIsUpToDate "${_prefixFile}" ${_option_DEPENDS})
@@ -1292,6 +1309,7 @@ function (cotire_generate_prefix_header _prefixFile)
IGNORE_PATH ${_option_IGNORE_PATH}
INCLUDE_PATH ${_option_INCLUDE_PATH}
IGNORE_EXTENSIONS ${_option_IGNORE_EXTENSIONS}
INCLUDE_PRIORITY_PATH ${_option_INCLUDE_PRIORITY_PATH}
UNPARSED_LINES _unparsedLines)
cotire_generate_unity_source("${_prefixFile}"
PROLOGUE ${_prologue} EPILOGUE ${_epilogue} LANGUAGE "${_option_LANGUAGE}" ${_selectedHeaders})
@@ -1951,6 +1969,7 @@ function (cotire_generate_target_script _language _configurations _targetSourceD
get_target_property(COTIRE_TARGET_PRE_UNDEFS ${_target} COTIRE_UNITY_SOURCE_PRE_UNDEFS)
get_target_property(COTIRE_TARGET_POST_UNDEFS ${_target} COTIRE_UNITY_SOURCE_POST_UNDEFS)
get_target_property(COTIRE_TARGET_MAXIMUM_NUMBER_OF_INCLUDES ${_target} COTIRE_UNITY_SOURCE_MAXIMUM_NUMBER_OF_INCLUDES)
get_target_property(COTIRE_TARGET_INCLUDE_PRIORITY_PATH ${_target} COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH)
cotire_get_source_files_undefs(COTIRE_UNITY_SOURCE_PRE_UNDEFS COTIRE_TARGET_SOURCES_PRE_UNDEFS ${COTIRE_TARGET_SOURCES})
cotire_get_source_files_undefs(COTIRE_UNITY_SOURCE_POST_UNDEFS COTIRE_TARGET_SOURCES_POST_UNDEFS ${COTIRE_TARGET_SOURCES})
string (STRIP "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}" COTIRE_INCLUDE_SYSTEM_FLAG)
@@ -2360,6 +2379,10 @@ function (cotire_init_cotire_target_properties _target)
if (NOT _isSet)
set_property(TARGET ${_target} PROPERTY COTIRE_PREFIX_HEADER_INCLUDE_PATH "")
endif()
get_property(_isSet TARGET ${_target} PROPERTY COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH SET)
if (NOT _isSet)
set_property(TARGET ${_target} PROPERTY COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH "")
endif()
get_property(_isSet TARGET ${_target} PROPERTY COTIRE_UNITY_SOURCE_PRE_UNDEFS SET)
if (NOT _isSet)
set_property(TARGET ${_target} PROPERTY COTIRE_UNITY_SOURCE_PRE_UNDEFS "")
@@ -3146,6 +3169,7 @@ if (CMAKE_SCRIPT_MODE_FILE)
IGNORE_PATH "${COTIRE_TARGET_IGNORE_PATH};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH}"
INCLUDE_PATH ${COTIRE_TARGET_INCLUDE_PATH}
IGNORE_EXTENSIONS "${CMAKE_${COTIRE_TARGET_LANGUAGE}_SOURCE_FILE_EXTENSIONS};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS}"
INCLUDE_PRIORITY_PATH "${COTIRE_TARGET_INCLUDE_PRIORITY_PATH}"
INCLUDE_SYSTEM_FLAG "${COTIRE_INCLUDE_SYSTEM_FLAG}"
INCLUDE_DIRECTORIES ${_includeDirs}
SYSTEM_INCLUDE_DIRECTORIES ${_systemIncludeDirs}
@@ -3383,6 +3407,13 @@ else()
"See target property COTIRE_PREFIX_HEADER_INCLUDE_PATH."
)

define_property(
DIRECTORY PROPERTY "COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH"
BRIEF_DOCS "Header path matching one of these directories is put at the top of prefix header."
FULL_DOCS
"See target property COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH."
)

define_property(
DIRECTORY PROPERTY "COTIRE_UNITY_SOURCE_PRE_UNDEFS"
BRIEF_DOCS "Preprocessor undefs to place in the generated unity source file before the inclusion of each source file."
@@ -3469,6 +3500,18 @@ else()
"If not set, this property is initialized to the empty list."
)

define_property(
TARGET PROPERTY "COTIRE_PREFIX_HEADER_INCLUDE_PRIORITY_PATH"
BRIEF_DOCS "Header path matching one of these directories is put at the top of prefix header."
FULL_DOCS
"The property can be set to a list of directories."
"Headers files paths matching one of these directories will appear at the begin of generated prefix header."
"Order is kept from the property path order."
"If not set, this property is initialized to the empty list."
)



define_property(
TARGET PROPERTY "COTIRE_UNITY_SOURCE_PRE_UNDEFS" INHERITED
BRIEF_DOCS "Preprocessor undefs to place in the generated unity source file before the inclusion of each target source file."


Loading…
取消
儲存