Browse Source

Review XIP external project definition

Define INCLUDE_DIRS, LIBRARY_DIRS and FIND_PACKAGE_CMD so that the build
system can automatically handle the dependencies.
Jean-Christophe Fillion-Robin 14 years ago
parent
commit
fbd31aa65e
2 changed files with 32 additions and 20 deletions
  1. 32 11
      CMakeExternals/XIP.cmake
  2. 0 9
      Libs/Visualization/XIP/CMakeLists.txt

+ 32 - 11
CMakeExternals/XIP.cmake

@@ -4,17 +4,38 @@
 SET (XIP_DEPENDS)
 ctkMacroShouldAddExternalProject(XIP_LIBRARIES add_project)
 IF(${add_project})
+  # Sanity checks
+  IF(DEFINED XIP_DIR AND NOT EXISTS ${XIP_DIR})
+    MESSAGE(FATAL_ERROR "XIP_DIR variable is defined but corresponds to non-existing directory")
+  ENDIF()
+  
+  SET(XIP_enabling_variable XIP_LIBRARIES)
+  
   SET(proj XIP)
-#   MESSAGE(STATUS "Adding project:${proj}")
+  SET(proj_DEPENDENCIES)
+  
   SET(XIP_DEPENDS ${proj})
-  ExternalProject_Add(${proj}
-    SVN_REPOSITORY "https://collab01a.scr.siemens.com/svn/xip/releases/latest"
-    SVN_USERNAME "anonymous"
-    INSTALL_COMMAND ""
-    CMAKE_GENERATOR ${gen}
-    CMAKE_ARGS
-      ${ep_common_args}
-      -DHAS_VTK:BOOL=OFF
-      -DHAS_ITK:BOOL=OFF
-    )
+  
+  IF(NOT DEFINED XIP_DIR)
+    #   MESSAGE(STATUS "Adding project:${proj}")
+    ExternalProject_Add(${proj}
+      SVN_REPOSITORY "https://collab01a.scr.siemens.com/svn/xip/releases/latest"
+      SVN_USERNAME "anonymous"
+      INSTALL_COMMAND ""
+      CMAKE_GENERATOR ${gen}
+      CMAKE_ARGS
+        ${ep_common_args}
+        -DHAS_VTK:BOOL=OFF
+        -DHAS_ITK:BOOL=OFF
+      )
+    SET(XIP_DIR ${ep_build_dir}/${proj})
+    
+  ELSE()
+    ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
+  ENDIF()
+  
+  SET(${XIP_enabling_variable}_INCLUDE_DIRS XIP_LIBRARY_DIRS)
+  SET(${XIP_enabling_variable}_INCLUDE_DIRS XIP_INCLUDE_DIRS)
+  SET(${XIP_enabling_variable}_FIND_PACKAGE_CMD XIP)
+  
 ENDIF()

+ 0 - 9
Libs/Visualization/XIP/CMakeLists.txt

@@ -1,15 +1,6 @@
 PROJECT(CTKVisualizationXIP)
 
 #
-# 3rd party dependencies
-#
-
-# FIND_PACKAGE(XIP)
-# IF(NOT XIP_FOUND)
-#   MESSAGE(FATAL_ERROR "error: XIP package is required to build ${PROJECT_NAME}")
-# ENDIF()
-
-#
 # See CTK/CMake/ctkMacroBuildLib.cmake for details
 #