Replies: 2 comments 10 replies
-
|
The current directory structure of libcommon was chosen for a specific reason and purpose. Aside from being common (and generally recommended for libraries or providing services to other components) it ensures the separation of public declarations and definitions provided to third parties and the private declarations and definitions that are internal to the library itself. Everything in |
Beta Was this translation helpful? Give feedback.
-
|
Regarding libcommon dll vs static. As a developer a DLL is easier to deal with. But the most important thing to focus on is the VCC user experiance. My worry is publishing a version with an different type of DLL and the possible user confusion it could cause. Perhaps my concern could be mitigated by simply renaming libcommon.dll to libcommon.vcc or some such. That at least would prevent it from being offered as an option for loading as a hardware pak. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently libcommon headers (.h files) are held seperately from other libcommon sources ( .cpp file). This is not consistant with the way the rest of VCC sources are organized. I think the lib common tree should look like this with headers combined with other sources:
Note: the use of vcc subdirectory for sources is to prevent name clashes
with include files.
I created a local branch to see how difficult it would be to make this change
First I changed file names and locations:
renamed libcommon/src/ to libcommon/vcc/
moved libcommon/include/* to libcommon/vcc/
deleted libcommon/include
In libcommon/vcc moved:
DialogOps.cpp Fileops.cpp logger.cpp to libcommon/vcc/common
Next I fixed .props and .vcxproj files:
In vcc-base.props:
replace
$(SolutionDir)libcommon/include
with
$(SolutionDir)libcommon
in libcommon/libcommon.vcxproj and libcommon.vcxproj.filters:
replace Include="src with Include="vcc vim: %s/"src\/"vcc\/
replace Include="include\vcc with Include="vcc vim: %s/="include\vcc/="vcc/
change:
<ClCompile Include="vcc\DialogOps.cpp"
<ClCompile Include="vcc\Fileops.cpp"
<ClCompile Include="vcc\logger.cpp"
to:
<ClCompile Include="vcc\common\DialogOps.cpp"
<ClCompile Include="vcc\common\Fileops.cpp"
<ClCompile Include="vcc\common\logger.cpp"
I tested a full build and new libcommon organization builds clean with no other changes, no sources needed to be changed. None of the files that were moved were changed so when I committed these changes git recognized them as renames rather than deletions and additions.
Beta Was this translation helpful? Give feedback.
All reactions