Skip to content

Commit

Permalink
ExternalProject definition specifies which variable should be passed …
Browse files Browse the repository at this point in the history
…down to CTK

This minimize the number of edit required each time a new external project
definition is added.

This will also reduce the number of CMake warnings of the form:
The variable, 'XXXX', specified manually, was not used during the generation.
  • Loading branch information
jcfr committed Apr 7, 2011
1 parent 4de9b42 commit 654becb
Show file tree
Hide file tree
Showing 14 changed files with 40 additions and 16 deletions.
2 changes: 2 additions & 0 deletions CMakeExternals/CTKData.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,6 @@ IF(BUILD_TESTING)
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DCTKData_DIR:PATH=${CTKData_DIR})
ENDIF()
2 changes: 2 additions & 0 deletions CMakeExternals/DCMTK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DDCMTK_DIR:PATH=${DCMTK_DIR})

SET(${DCMTK_enabling_variable}_INCLUDE_DIRS DCMTK_INCLUDE_DIR)
SET(${DCMTK_enabling_variable}_FIND_PACKAGE_CMD DCMTK)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/ITK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DITK_DIR:PATH=${ITK_DIR})

SET(${ITK_enabling_variable}_LIBRARY_DIRS ITK_LIBRARY_DIRS)
SET(${ITK_enabling_variable}_INCLUDE_DIRS ITK_INCLUDE_DIRS)
Expand Down
3 changes: 3 additions & 0 deletions CMakeExternals/KWStyle.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,7 @@ IF(CTK_USE_KWSTYLE)
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DCTK_KWSTYLE_EXECUTABLE:FILEPATH=${CTK_KWSTYLE_EXECUTABLE})

ENDIF()
2 changes: 2 additions & 0 deletions CMakeExternals/Log4Qt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DLog4Qt_DIR:PATH=${Log4Qt_DIR})

SET(${Log4Qt_enabling_variable}_INCLUDE_DIRS Log4Qt_INCLUDE_DIR)
SET(${Log4Qt_enabling_variable}_FIND_PACKAGE_CMD Log4Qt)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/OpenIGTLink.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ IF(${add_project})
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DOpenIGTLink_DIR:PATH=${OpenIGTLink_DIR})

SET(${OpenIGTLink_enabling_variable}_LIBRARY_DIRS OpenIGTLink_LIBRARY_DIRS)
SET(${OpenIGTLink_enabling_variable}_INCLUDE_DIRS OpenIGTLink_INCLUDE_DIRS)
SET(${OpenIGTLink_enabling_variable}_FIND_PACKAGE_CMD OpenIGTLink)
Expand Down
7 changes: 7 additions & 0 deletions CMakeExternals/PythonQt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS
-DPYTHONQT_INSTALL_DIR:PATH=${PYTHONQT_INSTALL_DIR}
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE} # FindPythonInterp expects PYTHON_EXECUTABLE variable to be defined
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} # FindPythonQt expects PYTHON_INCLUDE_DIR variable to be defined
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY} # FindPythonQt expects PYTHON_LIBRARY variable to be defined
)

SET(${PythonQt_enabling_variable}_INCLUDE_DIRS PYTHONQT_INCLUDE_DIR PYTHON_INCLUDE_DIRS)
SET(${PythonQt_enabling_variable}_FIND_PACKAGE_CMD PythonQt)
Expand Down
3 changes: 3 additions & 0 deletions CMakeExternals/PythonQtGenerator.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,7 @@ IF(CTK_WRAP_PYTHONQT_FULL)
# library output directory to CTK_EXTERNAL_LIBRARY_DIRS

ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DPYTHONQTGENERATOR_EXECUTABLE:FILEPATH=${PYTHONQTGENERATOR_EXECUTABLE})

ENDIF()
2 changes: 2 additions & 0 deletions CMakeExternals/QtMobility.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ IF(${add_project})

# Since the full path of QtMobility library is used, there is not need to add
# its corresponding library output directory to CTK_EXTERNAL_LIBRARY_DIRS

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DQtMobility_DIR:PATH=${QtMobility_DIR})

SET(${QtMobility_enabling_variable}_INCLUDE_DIRS QtMobility_INCLUDE_DIRS)
SET(${QtMobility_enabling_variable}_FIND_PACKAGE_CMD QtMobility)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/QtSOAP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DQtSOAP_DIR:PATH=${QtSOAP_DIR})

SET(${QtSOAP_enabling_variable}_LIBRARY_DIRS QtSOAP_LIBRARY_DIRS)
SET(${QtSOAP_enabling_variable}_INCLUDE_DIRS QtSOAP_INCLUDE_DIRS)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/VTK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ IF(${add_project} OR CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DVTK_DIR:PATH=${VTK_DIR})

SET(${VTK_enabling_variable}_LIBRARY_DIRS VTK_LIBRARY_DIRS)
SET(${VTK_enabling_variable}_INCLUDE_DIRS VTK_INCLUDE_DIRS)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/XIP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ IF(${add_project})
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DXIP_DIR:PATH=${XIP_DIR})

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)
Expand Down
2 changes: 2 additions & 0 deletions CMakeExternals/ZMQ.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ IF(${add_project})
ELSE()
ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
ENDIF()

LIST(APPEND CTK_SUPERBUILD_EP_ARGS -DZMQ_DIR:PATH=${ZMQ_DIR})

SET(${ZMQ_enabling_variable}_INCLUDE_DIRS ZMQ_LIBRARY_DIRS)
SET(${ZMQ_enabling_variable}_INCLUDE_DIRS ZMQ_INCLUDE_DIRS)
Expand Down
23 changes: 7 additions & 16 deletions SuperBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ SET(external_projects
ITK
)

# This variable will contain the list of CMake variable specific to each external project
# that should passed to CTK.
# The item of this list should have the following form: -D<EP>_DIR:PATH=${<EP>_DIR}
# where '<EP>' is an external project name.
SET(CTK_SUPERBUILD_EP_ARGS)

# Include external projects
SET(dependency_args )
FOREACH(p ${external_projects})
Expand Down Expand Up @@ -257,22 +263,7 @@ ExternalProject_Add(${proj}
-DCTK_C_FLAGS:STRING=${CTK_C_FLAGS}
-DCTK_EXTERNAL_LIBRARY_DIRS:STRING=${CTK_EXTERNAL_LIBRARY_DIRS}
-DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
# External projects
-DCTKData_DIR:PATH=${CTKData_DIR}
-DZMQ_DIR:PATH=${ZMQ_DIR} # FindVTK expects VTK_DIR variable to be defined
-DOpenIGTLink_DIR:PATH=${OpenIGTLink_DIR} # FindOpenIGTLink expects OpenIGTLink_DIR variable to be defined
-DCTK_KWSTYLE_EXECUTABLE:FILEPATH=${CTK_KWSTYLE_EXECUTABLE}
-DDCMTK_DIR:PATH=${DCMTK_DIR} # FindDCMTK expects DCMTK_DIR variable to be defined
-DVTK_DIR:PATH=${VTK_DIR} # FindVTK expects VTK_DIR variable to be defined
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE} # FindPythonInterp expects PYTHON_EXECUTABLE variable to be defined
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} # FindPythonQt expects PYTHON_INCLUDE_DIR variable to be defined
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY} # FindPythonQt expects PYTHON_LIBRARY variable to be defined
-DPYTHONQT_INSTALL_DIR:PATH=${PYTHONQT_INSTALL_DIR} # FindPythonQt expects PYTHONQT_INSTALL_DIR variable to be defined
-DPYTHONQTGENERATOR_EXECUTABLE:FILEPATH=${PYTHONQTGENERATOR_EXECUTABLE} #FindPythonQtGenerator expects PYTHONQTGENERATOR_EXECUTABLE to be defined
-DLog4Qt_DIR:PATH=${Log4Qt_DIR} # FindLog4Qt expects Log4Qt_DIR variable to be defined
-DQtSOAP_DIR:PATH=${QtSOAP_DIR} # FindQtSOAP expects QtSOAP_DIR variable to be defined
-DQtMobility_DIR:PATH=${QtMobility_DIR}
-DITK_DIR:PATH=${ITK_DIR} # FindITK expects ITK_DIR variable to be defined
${CTK_SUPERBUILD_EP_ARGS}
${dependency_args}
SOURCE_DIR ${CTK_SOURCE_DIR}
BINARY_DIR ${CTK_BINARY_DIR}/CTK-build
Expand Down

0 comments on commit 654becb

Please sign in to comment.