Opened 10 years ago
Last modified 9 years ago
#3172 accepted defect
Reorganize the /build layout for Windows to better support +target=msvc for CPP runtime
Reported by: | Adrian Pop | Owned by: | Adrian Pop |
---|---|---|---|
Priority: | high | Milestone: | Future |
Component: | Cpp Run-time | Version: | trunk |
Keywords: | Cc: | Marcus Walther, Niklas Worschech |
Description
Currently runtimeCPPmsvcinstall and runtimeCPPinstall puts the build/include and build/lib files in the same place which means that we only support gcc for the CPP runtime (or whichever target is ran last).
I propose to have build/include/msvc/cpp and build/lib/msvc/cpp.
Maybe even have the same for the C runtime (build/include|lib/msvc/c) as currently is directly in build/include/msvc and build/lib/msvc.
Change History (9)
comment:1 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → accepted |
comment:2 by , 10 years ago
comment:3 by , 10 years ago
Because at least in CPP runtime they have some ModelicaConfig.inc and ModelicaLibraryConfig.inc (makefile) includes that are in build/include/cpp and they are make or nmake specific.
comment:4 by , 10 years ago
Also, is possible that depending on configuration some header files might be different for gcc or msvc.
comment:5 by , 10 years ago
add the moment we copy all gcc libs to build/lib/cpp and the msvc libs to build/lib/cpp/msvc
comment:6 by , 10 years ago
Ok. So the only issues are because of the .inc files and the precompiled headers that are set by them.
comment:8 by , 9 years ago
Component: | Run-time → Cpp Run-time |
---|
comment:9 by , 9 years ago
I've build the environment with the following commands on windows 7:
make -f Makefile.omdev.mingw omc -j4
make -f Makefile.omdev.mingw runtimeCPPinstall -j4
make -f Makefile.omdev.mingw runtimeCPPmsvcinstall -j4
after that, I've changed to testsuite/simulation/libraries/msl32_cpp and started the following tests:
omc Modelica.Electrical.Spice3.Examples.CoupledInductors.mos
omc Modelica.Electrical.Spice3.Examples.CoupledInductors.mos +target=msvc
Both tests completed successfully. The libraries of the gcc build are stored in build\lib\omc\cpp and the libraries of the msvc build are copied to build\lib\omc\cpp\msvc. There are 3 files in the include folder that differ for gcc and msvc build. The are separated by their file extension (Modelica.pch and Modelica.h.gch) or their name (ModelicaConfig_msvc.inc and ModelicaConfig_gcc.inc / ModelicaLibraryConfig_msvc.inc and ModelicaLibraryConfig_gcc.inc).
Which further steps are needed to close the ticket?
Why would the msvc includes be different from gcc includes?