Describe the bug
I installed the latest version just now and tried to run on a project that has several .vcxproj in sub-folders. Because each of these might require common libraries stored elsewhere, I have defined a property file that includes the following:
In my particular case, each is referring to an environment variable in path (so there are no hard-coded locations for external libraries in the code). However, whenever I try to run cmakeconverter I get the following type of error:
ERR : file:/path/to/vcxproj(71): /path/to/vcxproj/\$(SpecificLibraryLocation)/location/pointed/to/in/property/file/.vcxproj file not exists.
Since the error message shows the structure /path/to/vcxproj/, with \$(SpecificLibraryLocation) followed by /location/pointed/to/in/property/file/.vcxproj, I believe this error comes from not parsing user macros in property files ahead of time, as well as assuming all projects are in the same working directory.
To Reproduce
Steps to reproduce the behavior:
Create a solution with several vcxproj files
Make each sub-project depend on an external library defined in a property file
The library location should be pointed to by an environmental variable
Expected behavior
The cmakeconverter should first read all property files and check for $(VAR) entries. Replace each with the corresponding environmental variable. Then load user macro entries as path variables, and parse project file locations accordingly.
Describe the bug I installed the latest version just now and tried to run on a project that has several
.vcxproj
in sub-folders. Because each of these might require common libraries stored elsewhere, I have defined a property file that includes the following:In my particular case, each is referring to an environment variable in path (so there are no hard-coded locations for external libraries in the code). However, whenever I try to run
cmakeconverter
I get the following type of error:ERR : file:/path/to/vcxproj(71): /path/to/vcxproj/\$(SpecificLibraryLocation)/location/pointed/to/in/property/file/.vcxproj file not exists.
Since the error message shows the structure
/path/to/vcxproj/
, with\$(SpecificLibraryLocation)
followed by/location/pointed/to/in/property/file/.vcxproj
, I believe this error comes from not parsing user macros in property files ahead of time, as well as assuming all projects are in the same working directory.To Reproduce Steps to reproduce the behavior:
vcxproj
filesExpected behavior The
cmakeconverter
should first read all property files and check for$(VAR)
entries. Replace each with the corresponding environmental variable. Then load user macro entries as path variables, and parse project file locations accordingly.