]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
CMake: invoking SALOME_CONFIGURE_PREPARE() macro and adapted SalomeGUIConfig.cmake
authorbruneton <bruneton>
Mon, 28 Oct 2013 14:43:47 +0000 (14:43 +0000)
committerbruneton <bruneton>
Mon, 28 Oct 2013 14:43:47 +0000 (14:43 +0000)
so that the reloading of level-1-prerequisite targets takes into account the
component list (typically needed for VTK).

CMakeLists.txt
SalomeGUIConfig.cmake.in

index 04c999c9986a13baf28963e10d60cb38bb7a1ae4..bee2f53d59d5e431ad5e6933009c21fe32b5966e 100755 (executable)
@@ -300,6 +300,11 @@ SET(VTK_ROOT_DIR "${VTK_ROOT_DIR}")
 SET(QWT_ROOT_DIR "${QWT_ROOT_DIR}")
  
 SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include")
+
+# Build variables that will be expanded when configuring Salome<MODULE>Config.cmake:
+SALOME_CONFIGURE_PREPARE(CAS OpenGL PyQt4 Qt4 Qwt SIP VTK)
+message("_PREREQ_LIST ${_PREREQ_LIST}")
+
 CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in 
     ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
     INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
index ff024cda2b2a491d2839ee67a1923654dcc8cea5..b8493d58aed7a78ecd63aba6bef6df118463e721 100644 (file)
@@ -80,19 +80,28 @@ 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 CAS OpenGL PyQt4 Qt4 Qwt SIP VTK)
-SET(_PREREQ_CONFIG_DIR "@CAS_DIR@" "@OpenGL_DIR@" "@PyQt4_DIR@" "@Qt4_DIR@" "@Qwt_DIR@" "@SIP_DIR@" "@VTK_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 
+  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)
+  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()