[CMake] Question regarding External Project add and VTK

jmerkow jmerkow at gmail.com
Tue Jun 3 18:04:23 EDT 2014


Jc,


Im been updating my CMakeLists.txt to do this superbuild.  But I am running
into an error.  Im not sure why...

My project is something like the following:

cmake_minimum_required(VERSION 2.8.8)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" 
					  "${CMAKE_CURRENT_SOURCE_DIR}/SuperBuild" 
					   "${CMAKE_MODULE_PATH}")			   
set(EXTERNAL_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/CMakeExternals)
set(EXTERNAL_PROJECT_FILE_PREFIX "")
include(ExternalProject)
include(ExternalProjectDependency)
project(myproj)
option(SuperBuild_${PROJECT_NAME} 
"Build ${PROJECT_NAME} and the projects it depends on.
This must be turn on if your wish to download any packages." ON)

<some find package commands, not included in superbuild yet>

ExternalProject_Include_Dependencies(${PROJECT_NAME} PROJECT_VAR
PROJECT_NAME)
if(SuperBuild_${PROJECT_NAME})  
  include(Superbuild)
  RETURN()
endif()

SuperBuild/Superbuild.cmake:
set(${PROJECT_NAME}_DEPENDS "")
set(${PROJECT_NAME}_DEPENDS ${${PROJECT_NAME}_DEPENDS} VTK)
set(proj ${PROJECT_NAME})

ExternalProject_Add(${proj}
  ${${proj}_EP_ARGS}
  DEPENDS ${${PROJECT_NAME}_DEPENDS}
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
  BINARY_DIR ${SimVascular_BINARY_DIR}
  DOWNLOAD_COMMAND ""
  UPDATE_COMMAND ""
  CMAKE_CACHE_ARGS
    -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
    -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}
    -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
    -DCMAKE_C_FLAGS:STRING=${ep_common_c_flags}
    -DADDITIONAL_C_FLAGS:STRING=${ADDITIONAL_C_FLAGS}
    -DADDITIONAL_CXX_FLAGS:STRING=${ADDITIONAL_CXX_FLAGS}
    -DSuperBuild_${PROJECT_NAME}:BOOL=OFF
    ${EXTERNAL_PROJECT_OPTIONAL_ARGS}
  INSTALL_COMMAND ""
  )


and CMakeExternals/VTK.cmake is basically a copy of [1], with proj set to
VTK, and all slicer references removed.

I am getting this error:
CMake Error at /usr/share/cmake-2.8/Modules/ExternalProject.cmake:1580
(get_property):
  get_property could not find TARGET VTK.  Perhaps it has not yet been
  created.
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/ExternalProject.cmake:1808
(_ep_add_configure_command)
  SuperBuild/Superbuild.cmake:51 (ExternalProject_Add)
  CMakeLists.txt:659 (include)

Im not sure whats going wrong, it seems like it should pick up my VTK.cmake
in the CMakeExternals directory automatically, correct?

Thanks a lot for your help!
-Jameson

P.S. I'm thinking we may want to move this off the CMake mailing list?

[1]
https://github.com/Slicer/Slicer/blob/master/SuperBuild/External_VTKv6.cmake




--
View this message in context: http://cmake.3232098.n2.nabble.com/Question-regarding-External-Project-add-and-VTK-tp7587557p7587571.html
Sent from the CMake mailing list archive at Nabble.com.


More information about the CMake mailing list