Skip to content

Commit

Permalink
fix msvc build
Browse files Browse the repository at this point in the history
- select skd 8.1 for msvc 2015
- use jom to compile things in parallel

Belonging to [master]:
  - OpenModelica/OMCompiler#2280
  • Loading branch information
adrpo authored and OpenModelica-Hudson committed Mar 15, 2018
1 parent b3683ed commit de26b55
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 29 deletions.
50 changes: 26 additions & 24 deletions Makefile.omdev.mingw
Expand Up @@ -117,6 +117,7 @@ endif
else
$(eval VSCOMNTOOLS=$(VS140COMNTOOLS))
$(eval BOOST_PATH_MSVC=$(OMDEVMSYS)/lib/3rdParty/boost-1_59/)
$(eval VCVARS_PARAMS='x86 8.1')
endif
else
ifeq ($(VSVERSION),2010)
Expand All @@ -132,6 +133,7 @@ else
ifeq ($(VSVERSION),2015)
$(eval VSCOMNTOOLS=$(VS140COMNTOOLS))
$(eval BOOST_PATH_MSVC=$(OMDEVMSYS)/lib/3rdParty/boost-1_59/)
$(eval VCVARS_PARAMS='x86 8.1')
endif
endif
endif
Expand Down Expand Up @@ -287,14 +289,14 @@ fmil_msvc: getMSVCversion
test -f """${VSCOMNTOOLS}/../../VC/vcvarsall.bat"""
echo 'Building CMinpack with MSVC'
echo @echo on > 3rdParty/FMIL/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/FMIL/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/FMIL/build_msvc/build.bat
echo echo Calling CMake >> 3rdParty/FMIL/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DFMILIB_BUILD_TESTS=OFF -DFMILIB_BUILD_STATIC_LIB=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFMILIB_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles"' >> 3rdParty/FMIL/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DFMILIB_BUILD_TESTS=OFF -DFMILIB_BUILD_STATIC_LIB=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFMILIB_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> 3rdParty/FMIL/build_msvc/build.bat
echo @echo on >> 3rdParty/FMIL/build_msvc/build.bat
echo set MAKE= >> 3rdParty/FMIL/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/FMIL/build_msvc/build.bat
echo echo Building FMIL_msvc >> 3rdParty/FMIL/build_msvc/build.bat
echo nmake /f Makefile install >> 3rdParty/FMIL/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe -j 1 /f Makefile install >> 3rdParty/FMIL/build_msvc/build.bat

# Change into directory and run batch file
cd ./3rdParty/FMIL/build_msvc; echo "change to 3rdParty/FMIL/build_msvc";\
Expand Down Expand Up @@ -322,14 +324,14 @@ CMinpack_msvc: getMSVCversion
test -f """$(VSCOMNTOOLS)/../../VC/vcvarsall.bat"""
echo 'Building CMinpack with MSVC'
echo @echo on > 3rdParty/CMinpack/build_msvc/build.bat
echo call '"$(VSCOMNTOOLS)\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/CMinpack/build_msvc/build.bat
echo call '"$(VSCOMNTOOLS)\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/CMinpack/build_msvc/build.bat
echo echo Calling CMake >> 3rdParty/CMinpack/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DSHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles"' >> 3rdParty/CMinpack/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DSHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> 3rdParty/CMinpack/build_msvc/build.bat
echo echo Building CMinpack >> 3rdParty/CMinpack/build_msvc/build.bat
echo @echo on >> 3rdParty/CMinpack/build_msvc/build.bat
echo set MAKE= >> 3rdParty/CMinpack/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/CMinpack/build_msvc/build.bat
echo nmake /f Makefile install >> 3rdParty/CMinpack/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile install >> 3rdParty/CMinpack/build_msvc/build.bat

# Change into directory and run batch file
cd ./3rdParty/CMinpack/build_msvc; echo "change to 3rdParty/CMinpack/build_msvc";\
Expand All @@ -353,14 +355,14 @@ Umfpack_msvc: getMSVCversion
test -f """${VSCOMNTOOLS}/../../VC/vcvarsall.bat"""
echo 'Building Umfpack with MSVC'
echo @echo on > 3rdParty/SuiteSparse/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo echo Calling CMake >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles"' >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=../install_msvc ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo echo Building Umfpack >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo @echo on >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo set MAKE= >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo nmake /f Makefile install >> 3rdParty/SuiteSparse/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile install >> 3rdParty/SuiteSparse/build_msvc/build.bat

# Change into directory and run batch file
cd ./3rdParty/SuiteSparse/build_msvc; echo "change to 3rdParty/SuiteSparse/build_msvc";\
Expand All @@ -385,14 +387,14 @@ sundials_msvc: getMSVCversion 3rdParty/sundials/CMakeLists.txt
test -f """${VSCOMNTOOLS}/../../VC/vcvarsall.bat"""
echo 'Building sundials with MSVC'
echo @echo on > 3rdParty/sundials/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/sundials/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/sundials/build_msvc/build.bat
echo echo Calling CMake >> 3rdParty/sundials/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DBUILD_STATIC_LIBS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=. ../ -G "NMake Makefiles"' >> 3rdParty/sundials/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DBUILD_STATIC_LIBS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=. ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> 3rdParty/sundials/build_msvc/build.bat
echo echo Building sundials >> 3rdParty/sundials/build_msvc/build.bat
echo @echo on >> 3rdParty/sundials/build_msvc/build.bat
echo set MAKE= >> 3rdParty/sundials/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/sundials/build_msvc/build.bat
echo nmake /f Makefile install >> 3rdParty/sundials/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile install >> 3rdParty/sundials/build_msvc/build.bat

# Change into directory and run batch file
cd ./3rdParty/sundials/build_msvc; echo "change to 3rdParty/sundials/build_msvc";\
Expand All @@ -418,14 +420,14 @@ nox_msvc: getMSVCversion 3rdParty/trilinos-nox/CMakeLists.txt
test -f """${VSCOMNTOOLS}/../../VC/vcvarsall.bat"""
echo 'Building trilinos-nox with MSVC'
echo @echo on > 3rdParty/trilinos-nox/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo echo Calling CMake >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=. ../ -G "NMake Makefiles" -DOMDEV_DIR="$(OMDEVMSYS) ' >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=. ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe" -DOMDEV_DIR="$(OMDEVMSYS) ' >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo echo Building trilinos-nox >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo @echo on >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo set MAKE= >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo nmake /f Makefile install >> 3rdParty/trilinos-nox/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile install >> 3rdParty/trilinos-nox/build_msvc/build.bat

# Change into directory and run batch file
cd ./3rdParty/trilinos-nox/build_msvc; echo "change to 3rdParty/trilinos-nox/build_msvc";\
Expand All @@ -449,12 +451,12 @@ simulationruntimecmsvc: mkbuilddirs getMSVCversion Umfpack_msvc CMinpack_msvc fm
echo 'Build the MSVC RELEASE'
mkdir -p SimulationRuntime/build_c
echo @echo on > SimulationRuntime/build_c/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> SimulationRuntime/build_c/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:String=../../build ../c -G "NMake Makefiles"' >> SimulationRuntime/build_c/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> SimulationRuntime/build_c/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:String=../../build ../c -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> SimulationRuntime/build_c/build.bat
echo @echo on >> SimulationRuntime/build_c/build.bat
echo set MAKE= >> SimulationRuntime/build_c/build.bat
echo set MAKEFLAGS= >> SimulationRuntime/build_c/build.bat
echo nmake /f Makefile >> SimulationRuntime/build_c/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile >> SimulationRuntime/build_c/build.bat
cd SimulationRuntime/build_c && cmd /c build.bat
echo 'Copy the .lib files (needed for compilation) and .pdb files (needed for debugging) to $(OMBUILDDIR)/lib/omc'
(cd SimulationRuntime/build_c/ && find . -type f -path "*.lib" -exec cp {} $(OMBUILDDIR)/lib/omc/msvc/release/. \;)
Expand All @@ -463,12 +465,12 @@ simulationruntimecmsvc: mkbuilddirs getMSVCversion Umfpack_msvc CMinpack_msvc fm
echo 'Build the MSVC DEBUG'
mkdir -p SimulationRuntime/build_debug_c
echo @echo on > SimulationRuntime/build_debug_c/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> SimulationRuntime/build_debug_c/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:String=../../build_debug ../c -G "NMake Makefiles"' >> SimulationRuntime/build_debug_c/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> SimulationRuntime/build_debug_c/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:String=../../build_debug ../c -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> SimulationRuntime/build_debug_c/build.bat
echo @echo on >> SimulationRuntime/build_debug_c/build.bat
echo set MAKE= >> SimulationRuntime/build_debug_c/build.bat
echo set MAKEFLAGS= >> SimulationRuntime/build_debug_c/build.bat
echo nmake /f Makefile >> SimulationRuntime/build_debug_c/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile >> SimulationRuntime/build_debug_c/build.bat
cd SimulationRuntime/build_debug_c && cmd /c build.bat
echo 'Copy the .lib files (needed for compilation) and .pdb files (needed for debugging) to $(OMBUILDDIR)/lib/omc'
(cd SimulationRuntime/build_debug_c/ && find . -type f -path "*.lib" -exec cp {} $(OMBUILDDIR)/lib/omc/msvc/debug/. \;)
Expand All @@ -488,12 +490,12 @@ simulationruntimecmsvc: mkbuilddirs getMSVCversion Umfpack_msvc CMinpack_msvc fm
echo 'Build gc (RelWithDebInfo)'
mkdir -p 3rdParty/gc/build_msvc
echo @echo on > 3rdParty/gc/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' >> 3rdParty/gc/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../ -G "NMake Makefiles"' >> 3rdParty/gc/build_msvc/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' >> 3rdParty/gc/build_msvc/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> 3rdParty/gc/build_msvc/build.bat
echo @echo on >> 3rdParty/gc/build_msvc/build.bat
echo set MAKE= >> 3rdParty/gc/build_msvc/build.bat
echo set MAKEFLAGS= >> 3rdParty/gc/build_msvc/build.bat
echo nmake /f Makefile >> 3rdParty/gc/build_msvc/build.bat
echo %OMDEV%\\tools\\jom\\jom.exe /f Makefile >> 3rdParty/gc/build_msvc/build.bat
cd 3rdParty/gc/build_msvc && cmd /c build.bat
echo 'Copy the .lib files (needed for compilation) and .pdb files (needed for debugging) to $(OMBUILDDIR)/lib/omc/msvc/'
cp -u 3rdParty/gc/build_msvc/gc-lib.* $(OMBUILDDIR)/lib/omc/msvc/
Expand Down
10 changes: 5 additions & 5 deletions SimulationRuntime/cpp/Makefile.omdev.mingw
Expand Up @@ -102,8 +102,6 @@ else
USE_KLU_COMMAND=-DUSE_KLU:BOOL=OFF
endif



getMSVCversion:
echo "Check for given VSVERSION (2010|2012|2013|2015) version: [VSVERSION=$(VSVERSION)]"
ifeq ("$(VSVERSION)","")
Expand All @@ -125,6 +123,7 @@ else
endif
else
$(eval VSCOMNTOOLS=$(VS140COMNTOOLS))
$(eval VCVARS_PARAMS='x86 8.1')
endif
else
ifeq ($(VSVERSION),2010)
Expand All @@ -138,6 +137,7 @@ ifeq ($(VSVERSION),2013)
else
ifeq ($(VSVERSION),2015)
$(eval VSCOMNTOOLS=$(VS140COMNTOOLS))
$(eval VCVARS_PARAMS='x86 8.1')
endif
endif
endif
Expand All @@ -160,7 +160,7 @@ omcCAPImsvc: getMSVCversion
echo 'Build the cppRuntime with MSVC' buildtype: $(BUILDTYPE)
#rm -rf Build_MSVC
mkdir -p Build_CAPI_MSVC
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' > Build_CAPI_MSVC/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' > Build_CAPI_MSVC/build.bat

echo echo Running CMake from '%OMDEV%\\bin\\cmake\\bin\\cmake' >> Build_CAPI_MSVC/build.bat
echo echo using omc libraries from "$(OMBUILDDIR)" >> Build_CAPI_MSVC/build.bat
Expand All @@ -177,7 +177,7 @@ runtimeCPPmsvc: getMSVCversion
echo 'Build the cppRuntime with MSVC' buildtype: $(BUILDTYPE)
#rm -rf Build_MSVC
mkdir -p Build_MSVC
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' > Build_MSVC/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' > Build_MSVC/build.bat

echo echo Running CMake from '%OMDEV%\\bin\\cmake\\bin\\cmake' >> Build_MSVC/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DPLATFORM="dynamic" $(CMAKE_FLAGS) -DIS_MINGW32=OFF -DIS_MINGW64=OFF -DCMAKE_INSTALL_PREFIX:PATH=./tmp ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> Build_MSVC/build.bat
Expand All @@ -192,7 +192,7 @@ runtimeCPPmsvc: getMSVCversion
echo 'Build cppRuntime (static) with MSVC'
#rm -rf Build_MSVC_static
mkdir -p Build_MSVC_static
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat"' > Build_MSVC_static/build.bat
echo call '"${VSCOMNTOOLS}\\..\\..\\VC\\vcvarsall.bat" ${VCVARS_PARAMS}' > Build_MSVC_static/build.bat

echo echo Running CMake from '%OMDEV%\\bin\\cmake\\bin\\cmake' >> Build_MSVC_static/build.bat
echo '%OMDEV%\\bin\\cmake\\bin\\cmake -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DPLATFORM="static" $(CMAKE_FLAGS) -DIS_MINGW32=OFF -DIS_MINGW64=OFF -DCMAKE_INSTALL_PREFIX:PATH=./tmp ../ -G "NMake Makefiles JOM" -D"CMAKE_MAKE_PROGRAM:PATH=%OMDEV%\\tools\\jom\\jom.exe"' >> Build_MSVC_static/build.bat
Expand Down

0 comments on commit de26b55

Please sign in to comment.