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

Why would the msvc includes be different from gcc includes?

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.

Last edited 10 years ago by adrpo (previous) (diff)

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?

Note: See TracTickets for help on using tickets.