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 Adrian Pop, 10 years ago

Owner: changed from somebody to Adrian Pop
Status: newaccepted

comment:2 by Martin Sjölund, 10 years ago

Why would the msvc includes be different from gcc includes?

comment:3 by Adrian Pop, 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 Adrian Pop, 10 years ago

Also, is possible that depending on configuration some header files might be different for gcc or msvc.

comment:5 by Niklas Worschech, 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 Adrian Pop, 10 years ago

Ok. So the only issues are because of the .inc files and the precompiled headers that are set by them.

Last edited 10 years ago by Adrian Pop (previous) (diff)

comment:7 by Niklas Worschech, 10 years ago

Yes I think so.

comment:8 by Lennart Ochel, 9 years ago

Component: Run-timeCpp Run-time

comment:9 by Marcus Walther, 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?

Note: See TracTickets for help on using tickets.