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: | adrpo | Owned by: | adrpo |
---|---|---|---|
Priority: | high | Milestone: | Future |
Component: | Cpp Run-time | Version: | trunk |
Keywords: | Cc: | mwalther, niklwors |
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 Changed 10 years ago by adrpo
- Owner changed from somebody to adrpo
- Status changed from new to accepted
comment:2 Changed 10 years ago by sjoelund.se
comment:3 Changed 10 years ago by adrpo
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 Changed 10 years ago by adrpo
Also, is possible that depending on configuration some header files might be different for gcc or msvc.
comment:5 Changed 10 years ago by niklwors
add the moment we copy all gcc libs to build/lib/cpp and the msvc libs to build/lib/cpp/msvc
comment:6 Changed 10 years ago by adrpo
Ok. So the only issues are because of the .inc files and the precompiled headers that are set by them.
comment:7 Changed 10 years ago by niklwors
Yes I think so.
comment:8 Changed 9 years ago by lochel
- Component changed from Run-time to Cpp Run-time
comment:9 Changed 9 years ago by mwalther
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?