Skip to content

Instantly share code, notes, and snippets.

@chrismullins
Last active August 29, 2015 14:04
Show Gist options
  • Save chrismullins/0755f4cad89a6255ebd1 to your computer and use it in GitHub Desktop.
Save chrismullins/0755f4cad89a6255ebd1 to your computer and use it in GitHub Desktop.
superbuild-meshkit
cmake_minimum_required(VERSION 2.8)
include(ExternalProject)
include(superbuild.cmake)
ExternalProject_Add( zlib
DEPENDS
PREFIX zlib
URL "http://www.paraview.org/files/v3.12/zlib-1.2.5.tar.gz"
URL_MD5 c735eab2d659a96e5a594c9e8541ad63
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/zlib/zlib-install
PATCH_COMMAND ${CMAKE_COMMAND} -E remove -f <SOURCE_DIR>/zconf.h
INSTALL_COMMAND make install
)
ExternalProject_Add( szip
DEPENDS
PREFIX szip
URL "http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz"
URL_MD5 902f831bcefb69c6b635374424acbead
CONFIGURE_COMMAND <SOURCE_DIR>/configure
--enable-encoding
--prefix=${CMAKE_BINARY_DIR}/szip/szip-install
INSTALL_COMMAND make install
)
ExternalProject_Add( freetype
DEPENDS zlib
PREFIX freetype
URL "http://paraview.org/files/dependencies/freetype-2.4.8.tar.gz"
URL_MD5 5d82aaa9a4abc0ebbd592783208d9c76
CONFIGURE_COMMAND <SOURCE_DIR>/configure
--prefix=${CMAKE_BINARY_DIR}/freetype/freetype-install
--enable-static=no
--with-sysroot=${CMAKE_BINARY_DIR}/zlib/zlib-install
INSTALL_COMMAND make install
)
ExternalProject_Add( ftgl
DEPENDS freetype
PREFIX ftgl
GIT_REPOSITORY "https://github.com/ulrichard/ftgl.git"
GIT_TAG cf4d9957930e41c3b82a57b20207242c7ef69f18
CMAKE_CACHE_ARGS
-DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/ftgl/ftgl-install
-DFREETYPE_INCLUDE_DIR_freetype2:PATH=${CMAKE_BINARY_DIR}/freetype/freetype-install/include
-DFREETYPE_INCLUDE_DIR_ft2build:PATH=${CMAKE_BINARY_DIR}/freetype/src/freetype/include
-DFREETYPE_LIBRARY:PATH=${CMAKE_BINARY_DIR}/freetype/freetype-install/lib/libfreetype.so
INSTALL_COMMAND make install
)
ExternalProject_Add( oce
DEPENDS ftgl
PREFIX oce
GIT_REPOSITORY "https://github.com/robertmaynard/oce.git"
GIT_TAG "cgm_support"
CMAKE_CACHE_ARGS
-DBUILD_SHARED_LIBS:BOOL=TRUE
-OCE_DISABLE_X11:BOOL=FALSE
-OCE_VISU_DEP:BOOL=TRUE
-OCE_VISUALISATION:BOOL=TRUE
-OCE_OCAF:BOOL=TRUE
-OCE_DRAW:BOOL=FALSE
-DFTGL_INCLUDE_DIR:PATH=${CMAKE_BINARY_DIR}/ftgl/ftgl-install/include
-DOCE_INSTALL_PREFIX:FilePath=${CMAKE_BINARY_DIR}/oce/oce-install
#force the include dir path, so it doesn't install the include files into
#install/include/oce/, because than CGM can't find it.
-DOCE_INSTALL_INCLUDE_DIR:FilePath=include
INSTALL_COMMAND make install
)
# remove the installed oce-config.h from the install tree
# so that the build doesn't use that over the configured header in the build
# directory. If we used the installed oce-config the incremental builds will
# fail as it doesn't have all the defines as the build version
ExternalProject_Add_Step(oce OCE-remove-config-file
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/oce/oce-install//include/oce-config.h
COMMENT "Removing the installed oce-config.h so that incremental builds works."
DEPENDEES configure
DEPENDERS build
ALWAYS 1
)
ExternalProject_Add( cgm
DEPENDS oce
PREFIX cgm
GIT_REPOSITORY "https://bitbucket.org/fathomteam/cgm.git"
GIT_TAG "13.1.1"
UPDATE_COMMAND autoreconf -fi <SOURCE_DIR>
CONFIGURE_COMMAND <SOURCE_DIR>/configure
--with-occ=${CMAKE_BINARY_DIR}/oce/oce-install
--prefix=${CMAKE_BINARY_DIR}/cgm/cgm-install
--enable-shared
INSTALL_COMMAND make install
)
ExternalProject_Add( hdf5
DEPENDS szip zlib
PREFIX hdf5
URL "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.8/src/hdf5-1.8.8.tar.gz"
URL_MD5 1196e668f5592bfb50d1de162eb16cff
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/hdf5/hdf5-install
-DBUILD_SHARED_LIBS:BOOL=TRUE
-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=TRUE
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=TRUE
-DHDF5_ENABLE_SZIP_ENCODING:BOOL=TRUE
-DHDF5_BUILD_HL_LIB:BOOL=TRUE
-DSZIP_LIBRARY:PATH=${CMAKE_BINARY_DIR}/szip/szip-install/lib/libsz.so
-DSZIP_INCLUDE_DIR:PATH=${CMAKE_BINARY_DIR}/szip/szip-install/include
INSTALL_COMMAND make install
)
ExternalProject_Add( netcdf
DEPENDS hdf5
PREFIX netcdf
URL "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.0.tar.gz"
URL_MD5 40c0e53433fc5dc59296ee257ff4a813
UPDATE_COMMAND autoreconf -fi <SOURCE_DIR>
CONFIGURE_COMMAND CPPFLAGS=-I${CMAKE_BINARY_DIR}/hdf5/hdf5-install/include LDFLAGS=-L${CMAKE_BINARY_DIR}/hdf5/hdf5-install/lib <SOURCE_DIR>/configure
--enable-netcdf4
--prefix=${CMAKE_BINARY_DIR}/netcdf/netcdf-install
)
#ExternalProject_Add( moab
# DEPENDS hdf5 netcdf cgm
# PREFIX moab
# GIT_REPOSITORY https://bitbucket.org/fathomteam/moab.git
# GIT_TAG "b93d30421f6c4ae7396bff05111ae7449cfc5954"
# UPDATE_COMMAND autoreconf -fi <SOURCE_DIR>
# CONFIGURE_COMMAND <SOURCE_DIR>/configure
# --prefix=${CMAKE_BINARY_DIR}/moab/moab-install
# --with-hdf5=${CMAKE_BINARY_DIR}/hdf5/hdf5-install
# --with-zlib=${CMAKE_BINARY_DIR}/zlib/zlib-install
# --with-szip=${CMAKE_BINARY_DIR}/szip/szip-install
# --with-netcdf=${CMAKE_BINARY_DIR}/netcdf/netcdf-install
# --with-cgm=${CMAKE_BINARY_DIR}/cgm/cgm-install
# --without-damsel
# --without-ccmio
# --enable-shared
# )
ExternalProject_Add( moab
DEPENDS hdf5 netcdf cgm
PREFIX moab
# GIT_REPOSITORY https://bitbucket.org/judajake/moab.git
GIT_REPOSITORY git://github.com/chrismullins/moab.git
GIT_TAG "4.6.3_cmake"
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/moab/moab-install
-DHDF5_DIR:PATH=${CMAKE_BINARY_DIR}/hdf5/hdf5-install
-DENABLE_IMESH:BOOL=ON
-DMOAB_USE_CGM:BOOL=ON
-DMOAB_USE_NETCDF:BOOL=ON
-DMOAB_USE_HDF:BOOL=ON
-DCGM_CFG:PATH=${CMAKE_BINARY_DIR}/cgm/cgm-install/lib/cgm.make
-DNetCDF_DIR:PATH=${CMAKE_BINARY_DIR}/netcdf/netcdf-install
-DCMAKE_CXX_FLAGS:STRING=-fPIC
-DCMAKE_C_FLAGS:STRING=-fPIC
)
ExternalProject_Add( lasso
DEPENDS cgm moab
PREFIX lasso
GIT_REPOSITORY https://bitbucket.org/fathomteam/lasso.git
GIT_TAG bbe66e1a1dd988ee1577f2200b31511b50750bbc
UPDATE_COMMAND autoreconf -fi <SOURCE_DIR>
CONFIGURE_COMMAND <SOURCE_DIR>/configure
--enable-encoding
--enable-shared
--with-imesh=${CMAKE_BINARY_DIR}/moab/moab-install
--with-igeom=${CMAKE_BINARY_DIR}/cgm/cgm-install
--prefix=${CMAKE_BINARY_DIR}/lasso/lasso-install
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment