# Include directories
SET_AND_CHECK(YACS_INCLUDE_DIRS "${YACS_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@")
+SET(YACS_INCLUDE_DIRS "${YACS_INCLUDE_DIRS};@_SalomeYACS_EXTRA_HEADERS@")
+SET(YACS_DEFINITIONS)
+
+# Package specific environment variables
+@_SalomeYACS_EXTRA_ENV_FULL@
#### Now the specificities
# Options exported by the package:
-SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@)
-SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@)
+SET(SALOME_YACS_BUILD_DOC @SALOME_BUILD_DOC@)
+SET(SALOME_YACS_BUILD_TESTS @SALOME_BUILD_TESTS@)
# Advanced options
-SET(SALOME_BUILD_GUI @SALOME_BUILD_GUI@)
+SET(SALOME_YACS_BUILD_GUI @SALOME_BUILD_GUI@)
SET(SALOME_YACS_USE_KERNEL @SALOME_YACS_USE_KERNEL@)
SET(SALOME_YACS_USE_DSC @SALOME_YACS_USE_DSC@)
SET(SALOME_YACS_USE_QSCINTILLA @SALOME_YACS_USE_QSCINTILLA@)
# Optional level 1 prerequisites:
IF(SALOME_YACS_USE_KERNEL)
SET_AND_CHECK(KERNEL_ROOT_DIR_EXP "@PACKAGE_KERNEL_ROOT_DIR@")
+ LIST(APPEND YACS_DEFINITIONS "@KERNEL_DEFINITIONS@")
ELSE()
SET_AND_CHECK(PYTHON_ROOT_DIR_EXP "@PACKAGE_PYTHON_ROOT_DIR@")
SET_AND_CHECK(BOOST_ROOT_DIR_EXP "@PACKAGE_BOOST_ROOT_DIR@")
IF(SALOME_YACS_USE_SWIG)
SET_AND_CHECK(SWIG_ROOT_DIR_EXP "@PACKAGE_SWIG_ROOT_DIR@")
ENDIF()
- IF(SALOME_BUILD_DOC)
+ IF(SALOME_YACS_BUILD_DOC)
SET_AND_CHECK(DOXYGEN_ROOT_DIR_EXP "@PACKAGE_DOXYGEN_ROOT_DIR@")
SET_AND_CHECK(SPHINX_ROOT_DIR_EXP "@PACKAGE_SPHINX_ROOT_DIR@")
ENDIF()
ENDIF()
-IF(SALOME_BUILD_GUI)
+IF(SALOME_YACS_BUILD_GUI)
SET_AND_CHECK(GUI_ROOT_DIR_EXP "@PACKAGE_GUI_ROOT_DIR@")
+ LIST(APPEND YACS_DEFINITIONS "@GUI_DEFINITIONS@")
IF(SALOME_YACS_USE_QSCINTILLA)
SET_AND_CHECK(QSCINTILLA_ROOT_DIR_EXP "@PACKAGE_QSCINTILLA_ROOT_DIR@")
ENDIF()
# For all prerequisites, load the corresponding targets if the package was used
# in CONFIG mode. This ensures dependent projects link correctly
# without having to set LD_LIBRARY_PATH:
-SET(_PREREQ SalomeGUI Expat)
-SET(_PREREQ_CONFIG_DIR "@SalomeGUI_DIR@" "@Expat_DIR@")
+SET(_PREREQ @_PREREQ_LIST@)
+SET(_PREREQ_CONFIG_DIR @_PREREQ_DIR_LIST@)
+SET(_PREREQ_COMPONENTS "@_PREREQ_COMPO_LIST@")
LIST(LENGTH _PREREQ_CONFIG_DIR _list_len)
-# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
-MATH(EXPR _range "${_list_len}-1")
-FOREACH(_p RANGE ${_range})
- LIST(GET _PREREQ ${_p} _pkg )
- LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir)
- IF(_pkg_dir)
- MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...")
- FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE
+IF(NOT _list_len EQUAL 0)
+ # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
+ MATH(EXPR _range "${_list_len}-1")
+ FOREACH(_p RANGE ${_range})
+ LIST(GET _PREREQ ${_p} _pkg )
+ LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir)
+ LIST(GET _PREREQ_COMPONENTS ${_p} _pkg_compo)
+ MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...")
+ IF(NOT _pkg_compo)
+ FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE
PATHS "${_pkg_dir}"
NO_DEFAULT_PATH)
- ENDIF()
-ENDFOREACH()
+ ELSE()
+ STRING(REPLACE "," ";" _compo_lst "${_pkg_compo}")
+ MESSAGE(STATUS "===> (components: ${_pkg_compo})")
+ FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE
+ COMPONENTS ${_compo_lst}
+ PATHS "${_pkg_dir}"
+ NO_DEFAULT_PATH)
+ ENDIF()
+ ENDFOREACH()
+ENDIF()
# Installation directories
SET(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@")
SET(SALOME_INSTALL_DOC "@SALOME_INSTALL_DOC@")
SET(SALOME_INSTALL_AMCONFIG_LOCAL "@SALOME_INSTALL_AMCONFIG_LOCAL@")
-# Include KERNEL targets if they were not already loaded:
-IF(NOT (TARGET SALOMEBasics))
- INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake")
-ENDIF()
+IF(SALOME_YACS_BUILD_GUI)
+ # Include GUI targets if they were not already loaded:
+ IF(NOT (TARGET Event))
+ INCLUDE("${GUI_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE_LOCAL}/SalomeGUITargets.cmake")
+ ENDIF()
+ELSE(SALOME_YACS_BUILD_GUI)
+ IF(SALOME_YACS_USE_KERNEL)
+ # Include KERNEL targets if they were not already loaded:
+ IF(NOT (TARGET SALOMEBasics))
+ INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake")
+ ENDIF()
+ ENDIF(SALOME_YACS_USE_KERNEL)
+ENDIF(SALOME_YACS_BUILD_GUI)
# Exposed YACS targets:
SET(YACS_YACSloader YACSloader)