@@ -70,6 +70,11 @@ OPTION(BUILD_TESTING "Build with tests." ON)
7070# Configure python
7171OPTION (BUILD_WITH_PYTHON "Build with python support." ON )
7272
73+ ###########################################
74+ # Configure python
75+ OPTION (WITH_TETGEN "Build Tetgen." ON )
76+ MARK_AS_ADVANCED (WITH_TETGEN)
77+
7378###########################################
7479# Configure Windows executable to run with
7580# or without the console
@@ -122,34 +127,35 @@ MARK_AS_ADVANCED(REGENERATE_MODULE_FACTORY_CODE)
122127
123128SET ( SCIRun_DEPENDENCIES )
124129
130+ MACRO (ADD_EXTERNAL cmake_file external)
131+ INCLUDE ( ${cmake_file} )
132+ LIST (APPEND SCIRun_DEPENDENCIES ${external} )
133+ ENDMACRO ()
134+
125135SET (SUPERBUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "" FORCE)
126136SET (SCIRUN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /../src CACHE INTERNAL "" FORCE)
127137SET (SCIRUN_BINARY_DIR ${CMAKE_BINARY_DIR} /SCIRun CACHE INTERNAL "" FORCE)
128138
129139IF (BUILD_TESTING)
130- INCLUDE ( ${SUPERBUILD_DIR} /TestDataConfig.cmake )
131- LIST (APPEND SCIRun_DEPENDENCIES SCIRunTestData_external)
140+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /TestDataConfig.cmake SCIRunTestData_external )
132141ENDIF ()
133142
134- INCLUDE ( ${SUPERBUILD_DIR} /ZlibExternal.cmake )
135- LIST (APPEND SCIRun_DEPENDENCIES Zlib_external)
136-
137- INCLUDE ( ${SUPERBUILD_DIR} /SQLiteExternal.cmake )
138- LIST (APPEND SCIRun_DEPENDENCIES SQLite_external)
139-
140- INCLUDE ( ${SUPERBUILD_DIR} /LibPNGExternal.cmake )
141- LIST (APPEND SCIRun_DEPENDENCIES LibPNG_external)
143+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /ZlibExternal.cmake Zlib_external )
144+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /SQLiteExternal.cmake SQLite_external )
145+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /LibPNGExternal.cmake LibPNG_external )
146+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /TeemExternal.cmake Teem_external )
147+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /FreetypeExternal.cmake Freetype_external )
142148
143149IF (BUILD_WITH_PYTHON)
144- INCLUDE ( ${SUPERBUILD_DIR} /PythonExternal.cmake )
145- LIST (APPEND SCIRun_DEPENDENCIES Python_external)
150+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /PythonExternal.cmake Python_external )
146151ENDIF ()
147152
148- INCLUDE ( ${SUPERBUILD_DIR} /BoostExternal.cmake )
149- LIST (APPEND SCIRun_DEPENDENCIES Boost_external)
153+ IF (WITH_TETGEN)
154+ MESSAGE (STATUS "Configuring Tetgen library under GPL. The SCIRun InterfaceWithTetGen module can be disabled by setting the CMake build variable WITH_TETGEN to OFF." )
155+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /TetgenExternal.cmake Tetgen_external )
156+ ENDIF ()
150157
151- INCLUDE ( ${SUPERBUILD_DIR} /TeemExternal.cmake )
152- LIST (APPEND SCIRun_DEPENDENCIES Teem_external)
158+ ADD_EXTERNAL( ${SUPERBUILD_DIR} /BoostExternal.cmake Boost_external )
153159
154160###########################################
155161# Download external data sources
@@ -171,13 +177,16 @@ SET(SCIRUN_CACHE_ARGS
171177 "-DBUILD_HEADLESS:BOOL=${BUILD_HEADLESS} "
172178 "-DSCIRUN_TEST_RESOURCE_DIR:PATH=${SCIRUN_TEST_RESOURCE_DIR} "
173179 "-DBUILD_WITH_PYTHON:BOOL=${BUILD_WITH_PYTHON} "
180+ "-DWITH_TETGEN:BOOL=${WITH_TETGEN} "
174181 "-DREGENERATE_MODULE_FACTORY_CODE:BOOL=${REGENERATE_MODULE_FACTORY_CODE} "
175182 "-DGENERATE_MODULE_FACTORY_CODE:BOOL=${GENERATE_MODULE_FACTORY_CODE} "
176183 "-DZlib_DIR:PATH=${Zlib_DIR} "
177184 "-DLibPNG_DIR:PATH=${LibPNG_DIR} "
178185 "-DSQLite_DIR:PATH=${SQLite_DIR} "
179186 "-DBoost_DIR:PATH=${Boost_DIR} "
180187 "-DTeem_DIR:PATH=${Teem_DIR} "
188+ "-DTetgen_DIR:PATH=${Tetgen_DIR} "
189+ "-DFreetype_DIR:PATH=${Freetype_DIR} "
181190)
182191
183192IF (BUILD_WITH_PYTHON)
@@ -187,6 +196,12 @@ IF(BUILD_WITH_PYTHON)
187196 )
188197ENDIF ()
189198
199+ IF (WITH_TETGEN)
200+ LIST (APPEND SCIRUN_CACHE_ARGS
201+ "-DTetgen_DIR:PATH=${Tetgen_DIR} "
202+ )
203+ ENDIF ()
204+
190205IF (WIN32 )
191206 LIST (APPEND SCIRUN_CACHE_ARGS
192207 "-DSCIRUN_SHOW_CONSOLE:BOOL=${SCIRUN_SHOW_CONSOLE} "
0 commit comments