Fix possible problem with enclosed reloading of targets from SALOME modules

This commit is contained in:
vsr 2016-01-13 17:05:19 +03:00
parent f3c62a0c0b
commit 922e147650

View File

@ -72,30 +72,32 @@ ENDIF()
# For all prerequisites, load the corresponding targets if the package was used # For all prerequisites, load the corresponding targets if the package was used
# in CONFIG mode. This ensures dependent projects link correctly # in CONFIG mode. This ensures dependent projects link correctly
# without having to set LD_LIBRARY_PATH: # without having to set LD_LIBRARY_PATH:
SET(_PREREQ @_PREREQ_LIST@) SET(_PREREQ_@PROJECT_NAME@ @_PREREQ_LIST@)
SET(_PREREQ_CONFIG_DIR @_PREREQ_DIR_LIST@) SET(_PREREQ_@PROJECT_NAME@_CONFIG_DIR @_PREREQ_DIR_LIST@)
SET(_PREREQ_COMPONENTS "@_PREREQ_COMPO_LIST@") SET(_PREREQ_@PROJECT_NAME@_COMPONENTS "@_PREREQ_COMPO_LIST@")
LIST(LENGTH _PREREQ_CONFIG_DIR _list_len) LIST(LENGTH _PREREQ_@PROJECT_NAME@_CONFIG_DIR _list_len_@PROJECT_NAME@)
IF(NOT _list_len EQUAL 0) IF(NOT _list_len_@PROJECT_NAME@ EQUAL 0)
# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ... # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
MATH(EXPR _range "${_list_len}-1") MATH(EXPR _range_@PROJECT_NAME@ "${_list_len_@PROJECT_NAME@}-1")
FOREACH(_p RANGE ${_range}) FOREACH(_p_@PROJECT_NAME@ RANGE ${_range_@PROJECT_NAME@})
LIST(GET _PREREQ ${_p} _pkg ) LIST(GET _PREREQ_@PROJECT_NAME@ ${_p_@PROJECT_NAME@} _pkg_@PROJECT_NAME@ )
LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir) LIST(GET _PREREQ_@PROJECT_NAME@_CONFIG_DIR ${_p_@PROJECT_NAME@} _pkg_dir_@PROJECT_NAME@)
LIST(GET _PREREQ_COMPONENTS ${_p} _pkg_compo) LIST(GET _PREREQ_@PROJECT_NAME@_COMPONENTS ${_p_@PROJECT_NAME@} _pkg_compo_@PROJECT_NAME@)
MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...") IF(NOT OMIT_DETECT_PACKAGE_${_pkg_@PROJECT_NAME@})
IF(NOT _pkg_compo) MESSAGE(STATUS "===> Reloading targets from ${_pkg_@PROJECT_NAME@} ...")
FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE IF(NOT _pkg_compo_@PROJECT_NAME@)
PATHS "${_pkg_dir}" FIND_PACKAGE(${_pkg_@PROJECT_NAME@} REQUIRED NO_MODULE
PATHS "${_pkg_dir_@PROJECT_NAME@}"
NO_DEFAULT_PATH) NO_DEFAULT_PATH)
ELSE() ELSE()
STRING(REPLACE "," ";" _compo_lst "${_pkg_compo}") STRING(REPLACE "," ";" _compo_lst_@PROJECT_NAME@ "${_pkg_compo_@PROJECT_NAME@}")
MESSAGE(STATUS "===> (components: ${_pkg_compo})") MESSAGE(STATUS "===> (components: ${_pkg_compo_@PROJECT_NAME@})")
FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE FIND_PACKAGE(${_pkg_@PROJECT_NAME@} REQUIRED NO_MODULE
COMPONENTS ${_compo_lst} COMPONENTS ${_compo_lst_@PROJECT_NAME@}
PATHS "${_pkg_dir}" PATHS "${_pkg_dir_@PROJECT_NAME@}"
NO_DEFAULT_PATH) NO_DEFAULT_PATH)
ENDIF() ENDIF()
ENDIF()
ENDFOREACH() ENDFOREACH()
ENDIF() ENDIF()