I would recommend using EXTERNALPROJECT_ADD. <a href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject" target="_blank">http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject</a>. Though I am not building in ITK as of yet I am using VTKEdge which depends on VTK<br>
<br>--snip vtkedge_config.cmake --<br>macro( vtkedge_config )<br> set( VTK_EDGE_PACKAGE VTKEdge-5-4-0 )<br><br> unpack( ${PLATFORM_DIR}/VTKEdge/<div id=":2qb" class="ii gt">VTKEdge-5-4-0.zip ${THIRD_PARTY_PACKAGE_DIR} )<br>
<br><br> include_directories(<br>
${INSTALL_PREFIX}/include/VTKEdge<br> )<br><br><br> ExternalProject_Add(<br> ${VTK_EDGE_PACKAGE}<br> DOWNLOAD_COMMAND ""<br> SOURCE_DIR ${TOP}/source/cpp/lib/3rdParty/Win/${VTK_EDGE_PACKAGE}<br>
BINARY_DIR ${BUILD_DIR}/ouput/bin/${VTK_EDGE_PACKAGE}<br> INSTALL_DIR ${INSTALL_PREFIX}<br> CMAKE_ARGS <br> -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} <br> -DINSTALL_PREFIX=${INSTALL_PREFIX} <br>
${VTK_DEFINES}<br> )<br><br>endmacro()<br>--end snip--<br><br>In my top level CMakeLists.txt file I call as follows<br><br><br><br>--snip CMakelists.txt -- <br>...<br>...<br>include( vtkedge_config.cmake )<br>
<br>
...<br>...<br>...<br><br>compiler_config()<br>cuda_config()<br>boost_config()<br>#dcmtk_config()<br>vtk_config()<br>vtkedge_config()<br>matlab_config()<br><br>...<br>...<br>...<br><br>--end snip--<br><br>It
is only boost, and only by patching, that I can get to play nice using
add_subdirectory. I would be interested to hear your trials and
tribulations with add_subdirectory and third party source.</div>