Forked from
gmsh / gmsh
16146 commits behind the upstream repository.
-
Christophe Geuzaine authoredChristophe Geuzaine authored
variables.msvc 4.10 KiB
# This is a pre-filled variables file for building Gmsh with Microsoft
# Visual C++ (MSVC).
#
# The non-graphical (ENABLE_GUI=0) versions have been succesfully tested
# with MSVC 2003, 2005 and 2008.
#
# See doc/README.msvc for building instructions.
##################################################################
# Specify where gmake is installed
MAKE=C:\src\gmsh\utils\misc\gmake.exe
# Change the following to select which version to build:
ENABLE_GSL=0
ENABLE_GUI=0
ENABLE_PARSER=1
ENABLE_POSTPRO=1
ENABLE_TETGEN=1
ENABLE_NETGEN=0
ENABLE_METIS=0
ENABLE_OCC=0
ENABLE_MED=0
# If you selected ENABLE_GSL, specify where the GSL is installed
GSL_PREFIX=C:\src\gsl-1.8
# If you selected ENABLE_GUI, specify where FLTK is installed
FLTK_PREFIX=C:\src\fltk-1.1.9
# If you selected ENABLE_OCC, specify where OpenCASCADE is insalled
OCC_PREFIX=C:\src\OpenCASCADE6.3.0\ros
# If you selected ENABLE_MED, specify where MED and HDF5 are installed
MED_PREFIX=C:\src\med-2.3.4
HDF5_PREFIX=C:\src\hdf5-1.6.6
##################################################################
# OS and host
UNAME=WIN32MSVC
HOSTNAME=localhost
# The names of the C and C++ compilers
CC=cl /nologo /MT
CXX=cl /EHsc /nologo /GR /MT
# Debug/Release Single/Multi-threaded Lib/Dll flags:
# Rel-Sin-Lib: /ML
# Deb-Sin-Lib: /MLd
# Rel-Mul-Lib: /MT
# Deb-Mul-Lib: /MTd
# Rel-Mul-Dll: /MD
# Deb-Mul-Dll: /MDd
# append different suffix for release or debug version of library
ifneq (,${findstring MTd,${CXX}})
LIBSUFFIX=_d
else
LIBSUFFIX=_r
endif
# increase stack size to 16Mb to avoid stack overflows in recursive
# tet classification for large 3D Delaunay grids
LINKER=cl /F16777216
# All compiler flags except optimization flags
FLAGS=/DWIN32 /D_USE_MATH_DEFINES /DHAVE_NO_DLL /DHAVE_NO_SOCKLEN_T
FLAGS+=/DHAVE_ANN /DHAVE_MATH_EVAL
FLAGS+=/D_CRT_SECURE_NO_DEPRECATE
# Additional system includes ($INCLUDE is automatically defined by MSVC when
# you launch the MSVC command prompt)
SYSINCLUDE=/I"${INCLUDE}"
# Compiler optimization flags
OPTIM=/O2
# Gmsh subdirectories
GMSH_DIRS=Common Geo Mesh Numeric contrib/ANN contrib/MathEval contrib/NR
# Optional stuff
ifeq (${ENABLE_GSL},1)
FLAGS+=/DHAVE_GSL /I${GSL_PREFIX}
GMSH_LIBS+=${GSL_PREFIX}/lib/gsl.lib ${GSL_PREFIX}/lib/gslcblas.lib
endif
ifeq (${ENABLE_PARSER},1)
GMSH_DIRS+=Parser
else
FLAGS+=/DHAVE_NO_PARSER
endif
ifeq (${ENABLE_POSTPRO},1)
GMSH_DIRS+=Post Plugin
else
FLAGS+=/DHAVE_NO_POST
endif
ifeq (${ENABLE_NETGEN},1)
FLAGS+=/DHAVE_NETGEN
GMSH_DIRS+=contrib/Netgen
endif
ifeq (${ENABLE_TETGEN},1)
FLAGS+=/DHAVE_TETGEN
GMSH_DIRS+=contrib/Tetgen
endif
ifeq (${ENABLE_METIS},1)
FLAGS+=/DHAVE_METIS
GMSH_DIRS+=contrib/Metis
endif
ifeq (${ENABLE_OCC},1)
FLAGS+=/DHAVE_OCC /DHAVE_NO_OCC_CONFIG_H /DWNT /I"${OCC_PREFIX}/inc"
GMSH_LIBS+=${OCC_PREFIX}/win32/bin/*.lib
endif
ifeq (${ENABLE_MED},1)
FLAGS+=/DHAVE_MED /I"${HDF5_PREFIX}/include" /I"${MED_PREFIX}/include"
GMSH_LIBS+=${MED_PREFIX}/lib/med.lib
GMSH_LIBS+=${HDF5_PREFIX}/lib/hdf5.lib ${HDF5_PREFIX}/lib/szlib.lib
endif
ifeq (${ENABLE_GUI},1)
GMSH_DIRS+=Graphics Fltk contrib/NativeFileChooser
FLAGS+=/DHAVE_FLTK /DHAVE_NATIVE_FILE_CHOOSER /I"${FLTK_PREFIX}"
GMSH_LIBS+=Fltk/Main.obj lib/*.lib ${FLTK_PREFIX}\lib\fltk*.lib
GMSH_LIBS+=glu32.lib opengl32.lib advapi32.lib gdi32.lib user32.lib
GMSH_LIBS+=shell32.lib ole32.lib comctl32.lib comdlg32.lib ws2_32.lib
GMSH_LIBS+=Fltk/Win32Icon.res
GMSH_LIBS+=/link /manifest:no /NODEFAULTLIB:msvcrt.lib
GMSH_LIBS+=/SUBSYSTEM:WINDOWS
else
GMSH_LIBS+=Common/Main.obj lib/*.lib
ifeq (${ENABLE_OCC},1)
GMSH_LIBS+=advapi32.lib user32.lib ws2_32.lib
endif
endif
# How you create a static library on this machine
AR=LIB
ARFLAGS=/OUT:
RANLIB=echo
# The symbol used in front of compiler flags
DASH=/
# The extension to use for object files, libraries and executables
OBJEXT=.obj
LIBEXT=.lib
EXEEXT=.exe
# File handling commands
RM=erase
MV=move
# Installation directories
prefix="S:\Lib\gmsh"
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
datadir=${datarootdir}
datarootdir=${prefix}/share
includedir=${prefix}/include
libdir=${exec_prefix}/lib
mandir=${datarootdir}/man
infodir=${datarootdir}/info