Commit 837c8224 authored by Chris Cantwell's avatar Chris Cantwell

Keep ThirdParty source in top level directory, not builds directory.

parent 20213360
...@@ -156,7 +156,9 @@ INCLUDE (NektarCommon) ...@@ -156,7 +156,9 @@ INCLUDE (NektarCommon)
# Find Libraries # Find Libraries
SET(TPURL http://www.nektar.info/thirdparty) SET(TPURL http://www.nektar.info/thirdparty)
SET(TPSRC ${CMAKE_BINARY_DIR}/ThirdParty) SET(TPSRC ${CMAKE_SOURCE_DIR}/ThirdParty)
SET(TPBUILD ${CMAKE_BINARY_DIR}/ThirdParty)
SET(TPDIST ${CMAKE_INSTALL_PREFIX})
IF (NOT EXISTS ${TPSRC}) IF (NOT EXISTS ${TPSRC})
FILE(MAKE_DIRECTORY ${TPSRC}) FILE(MAKE_DIRECTORY ${TPSRC})
ENDIF () ENDIF ()
......
...@@ -25,25 +25,29 @@ IF (THIRDPARTY_BUILD_BOOST) ...@@ -25,25 +25,29 @@ IF (THIRDPARTY_BUILD_BOOST)
ENDIF(APPLE) ENDIF(APPLE)
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
boost boost
PREFIX ${TPSRC}
URL ${TPURL}/boost_1_49_0.tar.bz2 URL ${TPURL}/boost_1_49_0.tar.bz2
URL_MD5 "0d202cb811f934282dea64856a175698" URL_MD5 "0d202cb811f934282dea64856a175698"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./bootstrap.sh --prefix=${TPSRC}/dist SOURCE_DIR ${TPSRC}/boost
BINARY_DIR ${TPBUILD}/boost
TMP_DIR ${TPBUILD}/boost-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./bootstrap.sh --prefix=${TPDIST}
BUILD_COMMAND NO_BZIP2=1 ./b2 BUILD_COMMAND NO_BZIP2=1 ./b2
variant=release variant=release
link=shared link=shared
include=${TPSRC}/dist/include include=${TPDIST}/include
linkflags="-L${TPSRC}/dist/lib" linkflags="-L${TPDIST}/lib"
${BOOST_FLAGS} ${BOOST_LIB_LIST} ${BOOST_FLAGS} ${BOOST_LIB_LIST}
--layout=system toolset=${TOOLSET} install --layout=system toolset=${TOOLSET} install
INSTALL_COMMAND "" INSTALL_COMMAND ""
BUILD_IN_SOURCE 1 #BUILD_IN_SOURCE 1
) )
IF (APPLE) IF (APPLE)
EXTERNALPROJECT_ADD_STEP(boost patch-install-path EXTERNALPROJECT_ADD_STEP(boost patch-install-path
COMMAND sed -i ".bak" "s|-install_name \"|&${TPSRC}/dist/lib/|" ${TPSRC}/src/boost/tools/build/v2/tools/darwin.jam COMMAND sed -i ".bak" "s|-install_name \"|&${TPDIST}/lib/|" ${TPSRC}/boost/tools/build/v2/tools/darwin.jam
DEPENDERS build DEPENDERS build
DEPENDEES download) DEPENDEES download)
ENDIF (APPLE) ENDIF (APPLE)
...@@ -82,14 +86,18 @@ IF (THIRDPARTY_BUILD_BOOST) ...@@ -82,14 +86,18 @@ IF (THIRDPARTY_BUILD_BOOST)
ELSE () ELSE ()
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
boost boost
PREFIX ${TPSRC}
URL ${TPURL}/boost_1_49_0.tar.bz2 URL ${TPURL}/boost_1_49_0.tar.bz2
URL_MD5 "0d202cb811f934282dea64856a175698" URL_MD5 "0d202cb811f934282dea64856a175698"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
CONFIGURE_COMMAND bootstrap.bat --prefix=${TPSRC}/boost SOURCE_DIR ${TPSRC}/boost
BINARY_DIR ${TPBUILD}/boost
TMP_DIR ${TPBUILD}/boost-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND bootstrap.bat --prefix=${TPDIST}/boost
BUILD_COMMAND b2 --layout=system install BUILD_COMMAND b2 --layout=system install
INSTALL_COMMAND "" INSTALL_COMMAND ""
BUILD_IN_SOURCE 1 #BUILD_IN_SOURCE 1
) )
ENDIF () ENDIF ()
ELSE (THIRDPARTY_BUILD_BOOST) ELSE (THIRDPARTY_BUILD_BOOST)
...@@ -108,11 +116,11 @@ ELSE (THIRDPARTY_BUILD_BOOST) ...@@ -108,11 +116,11 @@ ELSE (THIRDPARTY_BUILD_BOOST)
FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time
filesystem system program_options regex ) filesystem system program_options regex )
ELSE () ELSE ()
SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/boost) #SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/boost)
FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex) #FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex)
SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/../ThirdParty/boost) #SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/../ThirdParty/boost)
FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex) #FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex)
SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/dist) SET(BOOST_ROOT ${TPDIST})
FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex) FIND_PACKAGE( Boost QUIET COMPONENTS thread iostreams date_time filesystem system program_options regex)
ENDIF() ENDIF()
ELSE() ELSE()
......
...@@ -12,16 +12,20 @@ IF( NEKTAR_USE_FFTW ) ...@@ -12,16 +12,20 @@ IF( NEKTAR_USE_FFTW )
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
fftw-3.2.2 fftw-3.2.2
PREFIX ${TPSRC}
URL ${TPURL}/fftw-3.2.2.tar.gz URL ${TPURL}/fftw-3.2.2.tar.gz
URL_MD5 "b616e5c91218cc778b5aa735fefb61ae" URL_MD5 "b616e5c91218cc778b5aa735fefb61ae"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
CONFIGURE_COMMAND ${TPSRC}/src/fftw-3.2.2/configure --prefix=${TPSRC}/dist --quiet --enable-shared --disable-dependency-tracking SOURCE_DIR ${TPSRC}/fftw-3.2.2
BINARY_DIR ${TPBUILD}/fftw-3.2.2
TMP_DIR ${TPBUILD}/fftw-3.2.2-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${TPSRC}/fftw-3.2.2/configure --prefix=${TPDIST} --quiet --enable-shared --disable-dependency-tracking
) )
SET(FFTW_LIB fftw3) SET(FFTW_LIB fftw3)
MARK_AS_ADVANCED(FFTW_LIB) MARK_AS_ADVANCED(FFTW_LIB)
INCLUDE_DIRECTORIES(${TPSRC}/dist/include) INCLUDE_DIRECTORIES(${TPDIST}/include)
MESSAGE(STATUS "Build FFTW: ${TPSRC}/dist/lib/lib${FFTW_LIB}.so") MESSAGE(STATUS "Build FFTW: ${TPDIST}/lib/lib${FFTW_LIB}.so")
ELSE () ELSE ()
INCLUDE (FindFFTW) INCLUDE (FindFFTW)
INCLUDE_DIRECTORIES(${FFTW_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${FFTW_INCLUDE_DIR})
......
...@@ -30,17 +30,21 @@ IF( NEKTAR_USE_MPI ) ...@@ -30,17 +30,21 @@ IF( NEKTAR_USE_MPI )
IF (THIRDPARTY_BUILD_GSMPI) IF (THIRDPARTY_BUILD_GSMPI)
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
gsmpi-1.2 gsmpi-1.2
PREFIX ${TPSRC}
URL ${TPURL}/gsmpi-1.2.tar.bz2 URL ${TPURL}/gsmpi-1.2.tar.bz2
URL_MD5 35901be16791bfdeafa9c4d0e06d189b URL_MD5 35901be16791bfdeafa9c4d0e06d189b
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/gsmpi-1.2
BINARY_DIR ${TPBUILD}/gsmpi-1.2
TMP_DIR ${TPBUILD}/gsmpi-1.2-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND CONFIGURE_COMMAND
${CMAKE_COMMAND} ${CMAKE_COMMAND}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_BUILD_TYPE:STRING=Debug
-DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
${TPSRC}/src/gsmpi-1.2 ${TPSRC}/gsmpi-1.2
) )
SET(GSMPI_LIBRARY gsmpi CACHE FILEPATH SET(GSMPI_LIBRARY gsmpi CACHE FILEPATH
"GSMPI path" FORCE) "GSMPI path" FORCE)
...@@ -48,8 +52,8 @@ IF( NEKTAR_USE_MPI ) ...@@ -48,8 +52,8 @@ IF( NEKTAR_USE_MPI )
SET(XXT_LIBRARY xxt CACHE FILEPATH SET(XXT_LIBRARY xxt CACHE FILEPATH
"XXT path" FORCE) "XXT path" FORCE)
MARK_AS_ADVANCED(XXT_LIBRARY) MARK_AS_ADVANCED(XXT_LIBRARY)
MESSAGE(STATUS "Build GSMPI: ${TPSRC}/dist/lib/lib${GSMPI_LIBRARY}.a") MESSAGE(STATUS "Build GSMPI: ${TPDIST}/lib/lib${GSMPI_LIBRARY}.a")
MESSAGE(STATUS "Build XXT: ${TPSRC}/dist/lib/lib${XXT_LIBRARY}.a") MESSAGE(STATUS "Build XXT: ${TPDIST}/lib/lib${XXT_LIBRARY}.a")
ELSE (THIRDPARTY_BUILD_GSMPI) ELSE (THIRDPARTY_BUILD_GSMPI)
INCLUDE (FindGSMPI) INCLUDE (FindGSMPI)
INCLUDE (FindXXT) INCLUDE (FindXXT)
......
...@@ -8,21 +8,26 @@ IF (THIRDPARTY_BUILD_METIS) ...@@ -8,21 +8,26 @@ IF (THIRDPARTY_BUILD_METIS)
PREFIX ${TPSRC} PREFIX ${TPSRC}
URL ${TPURL}/modmetis-5.1.0_1.tar.bz2 URL ${TPURL}/modmetis-5.1.0_1.tar.bz2
URL_MD5 "6c6816aea0f53db6c71b1d98ed4ad42b" URL_MD5 "6c6816aea0f53db6c71b1d98ed4ad42b"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/modmetis-5.1.0
BINARY_DIR ${TPBUILD}/modmetis-5.1.0
TMP_DIR ${TPBUILD}/modmetis-5.1.0-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND} CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DCMAKE_C_FLAGS:STRING=-fPIC -DCMAKE_C_FLAGS:STRING=-fPIC
-DGKLIB_PATH:PATH=${TPSRC}/src/modmetis-5.1.0/GKlib -DGKLIB_PATH:PATH=${TPSRC}/modmetis-5.1.0/GKlib
${TPSRC}/src/modmetis-5.1.0 ${TPSRC}/modmetis-5.1.0
) )
SET(METIS_LIB metis CACHE FILEPATH SET(METIS_LIB metis CACHE FILEPATH
"METIS library" FORCE) "METIS library" FORCE)
MARK_AS_ADVANCED(METIS_LIB) MARK_AS_ADVANCED(METIS_LIB)
LINK_DIRECTORIES(${TPSRC}/dist/lib) LINK_DIRECTORIES(${TPDIST}/lib)
INCLUDE_DIRECTORIES(${TPSRC}/dist/include) INCLUDE_DIRECTORIES(${TPDIST}/include)
MESSAGE(STATUS "Build Metis: ${TPSRC}/dist/lib/lib${METIS_LIB}.a") MESSAGE(STATUS "Build Metis: ${TPDIST}/lib/lib${METIS_LIB}.a")
ELSE (THIRDPARTY_BUILD_METIS) ELSE (THIRDPARTY_BUILD_METIS)
INCLUDE (FindMetis) INCLUDE (FindMetis)
ENDIF (THIRDPARTY_BUILD_METIS) ENDIF (THIRDPARTY_BUILD_METIS)
......
...@@ -4,19 +4,23 @@ IF (THIRDPARTY_BUILD_SMV) ...@@ -4,19 +4,23 @@ IF (THIRDPARTY_BUILD_SMV)
INCLUDE(ExternalProject) INCLUDE(ExternalProject)
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
libsmvf1.0 libsmvf1.0
PREFIX ${TPSRC}
URL ${TPURL}/libsmvf1.0.tar.gz URL ${TPURL}/libsmvf1.0.tar.gz
URL_MD5 "40cad0538acebd4aa83136ef9319150e" URL_MD5 "40cad0538acebd4aa83136ef9319150e"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/libsmvf1.0
BINARY_DIR ${TPBUILD}/libsmvf1.0
TMP_DIR ${TPBUILD}/libsmvf1.0-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND} CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist ${TPSRC}/src/libsmvf1.0 -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST} ${TPSRC}/libsmvf1.0
INSTALL_COMMAND echo "LibSMV compiled successfully" INSTALL_COMMAND echo "LibSMV compiled successfully"
) )
SET(SMV smv CACHE FILEPATH "Path to LibSMV." FORCE) SET(SMV smv CACHE FILEPATH "Path to LibSMV." FORCE)
MARK_AS_ADVANCED(SMV) MARK_AS_ADVANCED(SMV)
LINK_DIRECTORIES(${TPSRC}/dist/lib) LINK_DIRECTORIES(${TPDIST}/lib)
MESSAGE(STATUS "Build LibSMV: ${TPSRC}/dist/lib/lib${SMV}.a") MESSAGE(STATUS "Build LibSMV: ${TPDIST}/lib/lib${SMV}.a")
SET(NEKTAR_USING_SMV TRUE) SET(NEKTAR_USING_SMV TRUE)
ADD_DEFINITIONS(-DNEKTAR_USING_SMV) ADD_DEFINITIONS(-DNEKTAR_USING_SMV)
ELSE (THIRDPARTY_BUILD_SMV) ELSE (THIRDPARTY_BUILD_SMV)
......
...@@ -6,17 +6,6 @@ OPTION(THIRDPARTY_BUILD_TINYXML ...@@ -6,17 +6,6 @@ OPTION(THIRDPARTY_BUILD_TINYXML
"Build TinyXML library from ThirdParty." ON) "Build TinyXML library from ThirdParty." ON)
IF (THIRDPARTY_BUILD_TINYXML) IF (THIRDPARTY_BUILD_TINYXML)
#SET(TINYXML_DIR ${TPSRC}/tinyxml)
#EXTERNALPROJECT_ADD(
# tinyxml
# PREFIX ${TPSRC}/build
# URL ${TPSRC}/tinyxml.tar.bz2
# URL_MD5 "aec842139928e65aa7abdff6de0a09ec"
# CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX: PATH=${TPSRC}/ #build/dist ${TPSRC}/build/src/tinyxml
#)
#SET(TINYXML_LIB ${TPSRC}/build/dist/lib/libtinyxml.so)
#SET(TINYXML_BASE ${TPSRC}/build/src)
# Tiny XML # Tiny XML
IF (NOT EXISTS ${TPSRC}/tinyxml_2_4_3.tar.bz2) IF (NOT EXISTS ${TPSRC}/tinyxml_2_4_3.tar.bz2)
FILE(DOWNLOAD ${TPURL}/tinyxml_2_4_3.tar.bz2 FILE(DOWNLOAD ${TPURL}/tinyxml_2_4_3.tar.bz2
......
...@@ -13,13 +13,17 @@ IF( NEKTAR_USE_VTK ) ...@@ -13,13 +13,17 @@ IF( NEKTAR_USE_VTK )
# Obviously this is inconvenient for us. # Obviously this is inconvenient for us.
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
vtk-5.10.1 vtk-5.10.1
PREFIX ${TPSRC}
URL ${TPURL}/vtk-5.10.1-nek.tar.bz2 URL ${TPURL}/vtk-5.10.1-nek.tar.bz2
URL_MD5 "f4e2c6b848d3873d44479baa9e7e4d35" URL_MD5 "f4e2c6b848d3873d44479baa9e7e4d35"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release ${TPSRC}/src/vtk-5.10.1 SOURCE_DIR ${TPSRC}/vtk-5.10.1
BINARY_DIR ${TPBUILD}/vtk-5.10.1
TMP_DIR ${TPBUILD}/vtk-5.10.1-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release ${TPSRC}/vtk-5.10.1
) )
SET(VTK_DIR ${TPSRC}/dist/lib/vtk-5.10) SET(VTK_DIR ${TPDIST}/lib/vtk-5.10)
SET(VTK_FOUND 1) SET(VTK_FOUND 1)
SET(VTK_USE_FILE ${VTK_DIR}/UseVTK.cmake) SET(VTK_USE_FILE ${VTK_DIR}/UseVTK.cmake)
INCLUDE (${VTK_DIR}/VTKConfig.cmake) INCLUDE (${VTK_DIR}/VTKConfig.cmake)
......
...@@ -31,15 +31,19 @@ IF (THIRDPARTY_BUILD_ZLIB) ...@@ -31,15 +31,19 @@ IF (THIRDPARTY_BUILD_ZLIB)
# Build the Zlib library separately # Build the Zlib library separately
EXTERNALPROJECT_ADD( EXTERNALPROJECT_ADD(
zlib-1.2.7 zlib-1.2.7
PREFIX ${TPSRC}
URL ${TPURL}/zlib-1.2.7.tar.gz URL ${TPURL}/zlib-1.2.7.tar.gz
URL_MD5 "4a162e0f643232e7e278d59a0603ceb0" URL_MD5 "4a162e0f643232e7e278d59a0603ceb0"
STAMP_DIR ${TPSRC}/stamp
DOWNLOAD_DIR ${TPSRC} DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/zlib-1.2.7
BINARY_DIR ${TPBUILD}/zlib-1.2.7
TMP_DIR ${TPBUILD}/zlib-1.2.7-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND} CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DCMAKE_C_FLAGS:STRING=-fPIC -DCMAKE_C_FLAGS:STRING=-fPIC
${TPSRC}/src/zlib-1.2.7 ${TPSRC}/zlib-1.2.7
) )
IF (WIN32) IF (WIN32)
SET(ZLIB_LIBRARY zlib) SET(ZLIB_LIBRARY zlib)
......
...@@ -3268,7 +3268,7 @@ ...@@ -3268,7 +3268,7 @@
<PARAMETERS> <PARAMETERS>
<P> TimeStep = 0.001 </P> <P> TimeStep = 0.001 </P>
<P> FinalTime =300 </P> <P> FinalTime = 10 </P>
<P> NumSteps = FinalTime/TimeStep </P> <P> NumSteps = FinalTime/TimeStep </P>
<P> IO_CheckSteps = 1000 </P> <P> IO_CheckSteps = 1000 </P>
<P> IO_InfoSteps = 10 </P> <P> IO_InfoSteps = 10 </P>
......
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