An update will be applied January 25th, between 12PM and 1:00PM EST (UTC -5:00). The site may be slow during that time.

Commit 7ef7a0a3 authored by partyd's avatar partyd
Browse files

ENH: First pass revamp of dependencies.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@13346 3bd1e089-480b-0410-8dfb-8563597acbee
parent 9800e1e7
......@@ -191,18 +191,22 @@ option(Slicer3_USE_VTK_DEBUG_LEAKS
set(tk_DEPENDENCIES tcl)
set(incrTcl_DEPENDENCIES tcl tk)
set(iwidgets_DEPENDENCIES tcl tk)
set(iwidgets_DEPENDENCIES tcl itcl)
set(blt_DEPENDENCIES tcl tk)
set(python_DEPENDENCIES tcl tk)
set(python_DEPENDENCIES tcl)
set(PythonQt_DEPENDENCIES python)
set(blas_DEPENDENCIES)
set(lapack_DEPENDENCIES)
set(numpy_DEPENDENCIES blas lapack python)
set(scipy_DEPENDENCIES numpy)
set(vtk_DEPENDENCIES)
set(CTK_DEPENDENCIES vtk)
set(KWWidgets_DEPENDENCIES vtk)
set(Insight_DEPENDENCIES)
set(BatchMake_DEPENDENCIES Insight)
set(OpenIGTLink_DEPENDENCIES)
set(teem_DEPENDENCIES vtk)
set(cmcurl_DEPENDENCIES)
set(slicer_DEPENDENCIES vtk Insight BatchMake OpenIGTLink teem cmcurl)
#------------------------------------------------------------------------------
......
......@@ -5,14 +5,14 @@
set(proj BatchMake)
ExternalProject_Add(${proj}
DEPENDS Insight
DEPENDS ${BatchMake_DEPENDENCIES}
CVS_REPOSITORY ":pserver:anoncvs:@batchmake.org:/cvsroot/BatchMake"
CVS_MODULE "BatchMake"
SOURCE_DIR BatchMake
BINARY_DIR BatchMake-build
CMAKE_GENERATOR ${gen}
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_TESTING:BOOL=OFF
-DUSE_FLTK:BOOL=OFF
......
......@@ -6,7 +6,7 @@ set(proj KWWidgets)
set(kwwidgets_tag Slicer-3-6)
ExternalProject_Add(${proj}
DEPENDS vtk
DEPENDS ${KWWidgets_DEPENDENCIES}
CVS_REPOSITORY ":pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets"
CVS_MODULE "KWWidgets"
CVS_TAG -r ${kwwidgets_tag}
......
......@@ -18,7 +18,7 @@ else()
endif()
ExternalProject_Add(${proj}
DEPENDS blas lapack python
DEPENDS ${numpy_DEPENDENCIES}
SVN_REPOSITORY "http://svn.scipy.org/svn/numpy/branches/1.3.x"
SOURCE_DIR python/numpy
CONFIGURE_COMMAND ""
......
#-----------------------------------------------------------------------------
set(proj python)
set(python_DEPENDS )
if(Slicer3_USE_PYTHON)
if(WIN32)
list(APPEND python_DEPENDS tcl)
else(WIN32)
list(APPEND python_DEPENDS tcl tk)
endif(WIN32)
endif(Slicer3_USE_PYTHON)
if(WIN32)
set(python_sln ${CMAKE_BINARY_DIR}/${proj}-build/PCbuild/pcbuild.sln)
string(REPLACE "/" "\\" python_sln ${python_sln})
# point the tkinter build file to the slicer tcl-build
get_filename_component(python_base ${python_sln} PATH)
get_filename_component(python_home ${python_base} PATH)
set(python_tkinter ${python_base}/pyproject.vsprops)
string(REPLACE "/" "\\" python_tkinter ${python_tkinter})
set(script ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/StringFindReplace.cmake)
set(out ${python_tkinter})
set(in ${python_tkinter})
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDENCIES}
SVN_REPOSITORY "http://svn.python.org/projects/python/branches/release26-maint"
SOURCE_DIR python-build
UPDATE_COMMAND ""
PATCH_COMMAND ${CMAKE_COMMAND} -Din=${in} -Dout=${out} -Dfind=tcltk\" -Dreplace=tcl-build\" -P ${script}
CONFIGURE_COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /Upgrade
BUILD_COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project select
BUILD_IN_SOURCE 1
INSTALL_COMMAND ""
)
# this must match the version of tcl we are building for slicer.
ExternalProject_Add_Step(${proj} Patch_tcltk_version
COMMAND ${CMAKE_COMMAND} -Din=${in} -Dout=${out} -Dfind=85 -Dreplace=84 -P ${script}
DEPENDEES configure
DEPENDERS build
)
ExternalProject_Add_Step(${proj} Build_make_versioninfo
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project make_versioninfo
DEPENDEES configure
)
ExternalProject_Add_Step(${proj} Build_make_buildinfo
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project make_buildinfo
DEPENDEES Build_make_versioninfo
)
ExternalProject_Add_Step(${proj} Build_kill_python
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project kill_python
DEPENDEES Build_kill_python
)
ExternalProject_Add_Step(${proj} Build_w9xpopen
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project w9xpopen
DEPENDEES Build_kill_python
)
ExternalProject_Add_Step(${proj} Build_pythoncore
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pythoncore
DEPENDEES Build_w9xpopen
)
ExternalProject_Add_Step(${proj} Build__socket
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _socket
DEPENDEES Build_pythoncore
)
ExternalProject_Add_Step(${proj} Build__tkinter
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _tkinter
DEPENDEES Build__socket
)
ExternalProject_Add_Step(${proj} Build__testcapi
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _testcapi
DEPENDEES Build__tkinter
)
ExternalProject_Add_Step(${proj} Build__msi
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _msi
DEPENDEES Build__testcapi
)
ExternalProject_Add_Step(${proj} Build__elementtree
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _elementtree
DEPENDEES Build__msi
)
ExternalProject_Add_Step(${proj} Build__ctypes_test
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _ctypes_test
DEPENDEES Build__elementtree
)
ExternalProject_Add_Step(${proj} Build__ctypes
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _ctypes
DEPENDEES python_sln
)
ExternalProject_Add_Step(${proj} Build_winsound
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project winsound
DEPENDEES Build__ctypes
)
ExternalProject_Add_Step(${proj} Build_pyexpat
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pyexpat
DEPENDEES Build_winsound
)
ExternalProject_Add_Step(${proj} Build_pythonw
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pythonw
DEPENDEES Build_pyexpat
)
ExternalProject_Add_Step(${proj} Build__multiprocessing
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _multiprocessing
DEPENDEES Build_pythonw
)
if(WIN32)
ExternalProject_Add_Step(${proj} CopyPythonLib
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/python26.lib ${CMAKE_BINARY_DIR}/python-build/Lib/python26.lib
DEPENDEES install
)
ExternalProject_Add_Step(${proj} Copy_socketPyd
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/_socket.pyd ${CMAKE_BINARY_DIR}/python-build/Lib/_socket.pyd
DEPENDEES install
)
ExternalProject_Add_Step(${proj} Copy_ctypesPyd
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/_ctypes.pyd ${CMAKE_BINARY_DIR}/python-build/Lib/_ctypes.pyd
DEPENDEES install
)
ExternalProject_Add_Step(${proj} CopyPythonDll
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/python26.dll ${CMAKE_BINARY_DIR}/Slicer3-build/bin/${CMAKE_BUILD_TYPE}/python26.dll
DEPENDEES install
)
elseif(APPLE)
set(python_SVN "http://svn.python.org/projects/python/branches/release26-maint")
set(python_BUILD_IN_SOURCE 1)
set(python_CONFIGURE sh configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/python-build --with-tcl=${tcl_build} --enable-shared)
set(python_BUILD make)
set(python_INSTALL make install)
set(python_sln ${CMAKE_BINARY_DIR}/${proj}-build/PCbuild/pcbuild.sln)
string(REPLACE "/" "\\" python_sln ${python_sln})
# point the tkinter build file to the slicer tcl-build
get_filename_component(python_base ${python_sln} PATH)
get_filename_component(python_home ${python_base} PATH)
set(python_tkinter ${python_base}/pyproject.vsprops)
string(REPLACE "/" "\\" python_tkinter ${python_tkinter})
set(script ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/StringFindReplace.cmake)
set(out ${python_tkinter})
set(in ${python_tkinter})
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDS}
SVN_REPOSITORY "http://svn.python.org/projects/python/branches/release26-maint"
SOURCE_DIR python-build
UPDATE_COMMAND ""
PATCH_COMMAND ${CMAKE_COMMAND} -Din=${in} -Dout=${out} -Dfind=tcltk\" -Dreplace=tcl-build\" -P ${script}
CONFIGURE_COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /Upgrade
BUILD_COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project select
BUILD_IN_SOURCE 1
INSTALL_COMMAND ""
)
# this must match the version of tcl we are building for slicer.
ExternalProject_Add_Step(${proj} Patch_tcltk_version
COMMAND ${CMAKE_COMMAND} -Din=${in} -Dout=${out} -Dfind=85 -Dreplace=84 -P ${script}
DEPENDEES configure
DEPENDERS build
)
ExternalProject_Add_Step(${proj} Build_make_versioninfo
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project make_versioninfo
DEPENDEES configure
)
ExternalProject_Add_Step(${proj} Build_make_buildinfo
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project make_buildinfo
DEPENDEES Build_make_versioninfo
)
ExternalProject_Add_Step(${proj} Build_kill_python
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project kill_python
DEPENDEES Build_kill_python
)
ExternalProject_Add_Step(${proj} Build_w9xpopen
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project w9xpopen
DEPENDEES Build_kill_python
)
ExternalProject_Add_Step(${proj} Build_pythoncore
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pythoncore
DEPENDEES Build_w9xpopen
)
ExternalProject_Add_Step(${proj} Build__socket
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _socket
DEPENDEES Build_pythoncore
)
ExternalProject_Add_Step(${proj} Build__tkinter
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _tkinter
DEPENDEES Build__socket
)
ExternalProject_Add_Step(${proj} Build__testcapi
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _testcapi
DEPENDEES Build__tkinter
)
ExternalProject_Add_Step(${proj} Build__msi
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _msi
DEPENDEES Build__testcapi
)
ExternalProject_Add_Step(${proj} Build__elementtree
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _elementtree
DEPENDEES Build__msi
)
ExternalProject_Add_Step(${proj} Build__ctypes_test
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _ctypes_test
DEPENDEES Build__elementtree
)
ExternalProject_Add_Step(${proj} Build__ctypes
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _ctypes
DEPENDEES python_sln
)
ExternalProject_Add_Step(${proj} Build_winsound
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project winsound
DEPENDEES Build__ctypes
)
ExternalProject_Add_Step(${proj} Build_pyexpat
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pyexpat
DEPENDEES Build_winsound
)
ExternalProject_Add_Step(${proj} Build_pythonw
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project pythonw
DEPENDEES Build_pyexpat
)
ExternalProject_Add_Step(${proj} Build__multiprocessing
COMMAND ${CMAKE_BUILD_TOOL} ${python_sln} /build Release /project _multiprocessing
DEPENDEES Build_pythonw
)
ExternalProject_Add_Step(${proj} CopyPythonLib
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/python26.lib ${CMAKE_BINARY_DIR}/python-build/Lib/python26.lib
DEPENDEES install
)
ExternalProject_Add_Step(${proj} Copy_socketPyd
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/_socket.pyd ${CMAKE_BINARY_DIR}/python-build/Lib/_socket.pyd
DEPENDEES install
)
ExternalProject_Add_Step(${proj} Copy_ctypesPyd
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/_ctypes.pyd ${CMAKE_BINARY_DIR}/python-build/Lib/_ctypes.pyd
DEPENDEES install
)
ExternalProject_Add_Step(${proj} CopyPythonDll
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/python-build/PCbuild/python26.dll ${CMAKE_BINARY_DIR}/Slicer3-build/bin/${CMAKE_BUILD_TYPE}/python26.dll
DEPENDEES install
)
elseif(APPLE)
set(python_SVN "http://svn.python.org/projects/python/branches/release26-maint")
set(python_BUILD_IN_SOURCE 1)
set(python_CONFIGURE sh configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/python-build --with-tcl=${tcl_build} --enable-shared)
set(python_BUILD make)
set(python_INSTALL make install)
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDS}
SVN_REPOSITORY ${python_SVN}
SOURCE_DIR python
BUILD_IN_SOURCE ${python_BUILD_IN_SOURCE}
CONFIGURE_COMMAND ${python_CONFIGURE}
BUILD_COMMAND ${python_BUILD}
INSTALL_COMMAND ${python_INSTALL}
)
list(APPEND python_DEPENDENCIES tk)
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDENCIES}
SVN_REPOSITORY ${python_SVN}
SOURCE_DIR python
BUILD_IN_SOURCE ${python_BUILD_IN_SOURCE}
CONFIGURE_COMMAND ${python_CONFIGURE}
BUILD_COMMAND ${python_BUILD}
INSTALL_COMMAND ${python_INSTALL}
)
# if { $isDarwin } {
# # Special Slicer hack to build and install the .dylib
# file mkdir $::Slicer3_LIB/python-build/lib/
......@@ -175,23 +168,25 @@ endif(Slicer3_USE_PYTHON)
# -current_version 2.6 -lSystem -lSystemStubs
#
#
else()
set(python_SVN "http://svn.python.org/projects/python/branches/release26-maint")
set(python_BUILD_IN_SOURCE 1)
set(python_CONFIGURE sh configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/python-build --with-tcl=${tcl_build} --enable-shared)
set(python_BUILD make)
set(python_INSTALL make install)
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDS}
SVN_REPOSITORY ${python_SVN}
SOURCE_DIR python
BUILD_IN_SOURCE ${python_BUILD_IN_SOURCE}
CONFIGURE_COMMAND ${python_CONFIGURE}
BUILD_COMMAND ${python_BUILD}
INSTALL_COMMAND ${python_INSTALL}
)
endif()
else()
set(python_SVN "http://svn.python.org/projects/python/branches/release26-maint")
set(python_BUILD_IN_SOURCE 1)
set(python_CONFIGURE sh configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/python-build --with-tcl=${tcl_build} --enable-shared)
set(python_BUILD make)
set(python_INSTALL make install)
list(APPEND python_DEPENDENCIES tk)
ExternalProject_Add(${proj}
DEPENDS ${python_DEPENDENCIES}
SVN_REPOSITORY ${python_SVN}
SOURCE_DIR python
BUILD_IN_SOURCE ${python_BUILD_IN_SOURCE}
CONFIGURE_COMMAND ${python_CONFIGURE}
BUILD_COMMAND ${python_BUILD}
INSTALL_COMMAND ${python_INSTALL}
)
endif()
#-----------------------------------------------------------------------------
......
......@@ -19,13 +19,12 @@ set(pythonqt_patch_script "${CMAKE_CURRENT_BINARY_DIR}/Slicer3-build/CMake/Slice
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../CMake/Slicer3PatchPythonQt.cmake.in ${pythonqt_patch_script} @ONLY)
ExternalProject_Add(${proj}
DEPENDS python
DEPENDS ${PythonQt_DEPENDENCIES}
SVN_REPOSITORY "https://pythonqt.svn.sourceforge.net/svnroot/pythonqt/trunk"
SOURCE_DIR PythonQt
PATCH_COMMAND ${CMAKE_COMMAND} -P ${pythonqt_patch_script}
CMAKE_GENERATOR ${gen}
CMAKE_ARGS
#-DCMAKE_INSTALL_PREFIX:PATH=${prefix}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
${vtk_PYTHON_ARGS}
......
......@@ -2,7 +2,7 @@
set(proj scipy)
ExternalProject_Add(${proj}
DEPENDS numpy
DEPENDS ${scipy_DEPENDENCIES}
SVN_REPOSITORY "http://svn.scipy.org/svn/scipy/branches/0.7.x"
SOURCE_DIR python/scipy
CONFIGURE_COMMAND ""
......
......@@ -40,7 +40,7 @@ endif()
if(NOT WIN32)
ExternalProject_Add(${proj}
DEPENDS tcl
DEPENDS ${tk_DEPENDENCIES}
SVN_REPOSITORY ${tk_SVN_REPOSITORY}
SOURCE_DIR ${tk_SOURCE_DIR}
UPDATE_COMMAND ""
......
......@@ -5,19 +5,17 @@
set(proj VTK)
set(vtk_source ${CMAKE_BINARY_DIR}/VTK)
set(vtk_DEPENDS)
set(vtk_WRAP_TCL OFF)
set(vtk_WRAP_PYTHON OFF)
if(Slicer3_USE_KWWIDGETS)
list(APPEND vtk_DEPENDS tcl)
list(APPEND vtk_DEPENDENCIES tcl)
set(vtk_WRAP_TCL ON)
endif(Slicer3_USE_KWWIDGETS)
if (Slicer3_USE_PYTHONQT)
set(vtk_WRAP_PYTHON ON)
list(APPEND vtk_DEPENDS python)
list(APPEND vtk_DEPENDENCIES python)
endif(Slicer3_USE_PYTHONQT)
set(vtk_QT_ARGS)
......@@ -72,7 +70,7 @@ if(vtk_WRAP_TCL)
endif(vtk_WRAP_TCL)
ExternalProject_Add(vtk
DEPENDS ${vtk_DEPENDS}
DEPENDS ${vtk_DEPENDENCIES}
SOURCE_DIR ${vtk_source}
BINARY_DIR VTK-build
SVN_REPOSITORY "http://svn.slicer.org/Slicer3-lib-mirrors/trunk/VTK/"
......
......@@ -35,7 +35,7 @@ endif()
if(NOT WIN32)
ExternalProject_Add(${proj}
DEPENDS tcl tk
DEPENDS ${blt_DEPENDENCIES}
SVN_REPOSITORY ${blt_SVN}
SOURCE_DIR tcl/blt
BUILD_IN_SOURCE ${blt_BUILD_IN_SOURCE}
......
......@@ -35,7 +35,7 @@ endif()
if(NOT WIN32)
ExternalProject_Add(${proj}
DEPENDS tk
DEPENDS ${incrTcl_DEPENDENCIES}
SVN_REPOSITORY ${itcl_SVN_REPOSITORY}
SOURCE_DIR tcl/incrTcl
BUILD_IN_SOURCE ${itcl_BUILD_IN_SOURCE}
......
......@@ -15,7 +15,7 @@ if(NOT WIN32)
set(iwidgets_INSTALL make install)
ExternalProject_Add(${proj}
DEPENDS tcl itcl
DEPENDS ${iwidgets_DEPENDENCIES}
SVN_REPOSITORY ${iwidgets_SVN}
SOURCE_DIR tcl/iwidgets
BUILD_IN_SOURCE ${iwidgets_BUILD_IN_SOURCE}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment