- migrate to c++14 for most compilers *except* gcc. There are still many systems in use with gcc-4.8.5, which does not support c++14. - initial rules for nvidia compilers (pgi is will soon be defunct). Not fully tested... CONFIG: provide fallback value for the user directory name - in containers may have an unset USER env variable. Default to 'user' to prevent ugly looking directory names.
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
#------------------------------------------------------------------------------
|
|
# mingw is gcc, but new enough to support c++14
|
|
#------------------------------------------------------------------------------
|
|
include $(GENERAL_RULES)/Gcc/c++
|
|
|
|
c++ARCH = -m64 -pthread
|
|
|
|
# With gnu++14 (not c++14) to ensure __STRICT_ANSI__ is not defined
|
|
CC = x86_64-w64-mingw32-g++ -std=gnu++14
|
|
|
|
include $(RULES)/c++$(WM_COMPILE_OPTION)
|
|
|
|
c++FLAGS = $(c++ARCH) $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS)
|
|
|
|
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
|
|
cxxtoo = $(Ctoo)
|
|
cctoo = $(Ctoo)
|
|
cpptoo = $(Ctoo)
|
|
|
|
LINK_LIBS = $(c++DBUG)
|
|
|
|
# Using "-Wl,--no-undefined,--enable-runtime-pseudo-reloc"
|
|
# does not forgive undefined symbols during linking
|
|
|
|
LINKLIBSO = $(CC) $(c++FLAGS) -shared \
|
|
-Wl,--output-def=$(LIB).def \
|
|
-Wl,--out-implib=$(LIB).dll.a \
|
|
-Wl,--no-undefined \
|
|
-Wl,--enable-runtime-pseudo-reloc \
|
|
-Wl,--enable-auto-import \
|
|
-Wl,--enable-auto-image-base \
|
|
-Wl,--strip-all \
|
|
$(FOAM_EXTRA_LDFLAGS)
|
|
|
|
LINKEXE = $(CC) $(c++FLAGS) \
|
|
-Wl,--enable-auto-import \
|
|
-Wl,--strip-all \
|
|
-Wl,--force-exe-suffix \
|
|
$(FOAM_EXTRA_LDFLAGS)
|
|
|
|
#------------------------------------------------------------------------------
|