Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows: Improve VS property sheet stuff #2342

Closed
wants to merge 2 commits into from

Conversation

turtleli
Copy link
Member

This is an attempt to improve and simplify the VS property sheet stuff.

The idea so far:

  • base.props - For all projects.
  • nonthirdparty.props - For all non third party projects.
  • vtune.props - For VTune users. Could probably be integrated into nonthirdparty.props. (Untested, don't have it).
  • Third-party related property sheets - For projects with third party dependencies. Importing the relevant property sheet will deal with all the necessary stuff (include paths, preprocessor macros, project references, etc.). It feels easier for me so far, but I'll have to work on it more before I figure out whether I want to go forward with this part or not - It does introduce quite a few property sheets, and I'm not sure if it'll end up a quirky mess.

Some other things it does:

Things to do (notes for myself):
Check build settings (especially release build)
Reduce warnings (fix some, disable others)
Adjust old plugins too
Delete old property sheets
Do commits properly
Reintroduce async exception handling (I'm just experimenting with it off)

Main idea:
base.props - Every project
nonthirdparty.props - Every non third party project
vtune.props - For vtune users (untested)
props related to third party dependencies - idea is import a prop sheet
if a project depends on it, which will handle project references and
includes. Idea doesn't fully work due to wxWidgets. Not sure if this is
workable or will lead to disaster. Will probably need to move some files
about too. it's looking like an idea that's better and worse at the
same time...

Changes:
Almost all intermediate build files are now created in build - it makes
it easier to grep the files (VS search only returns stuff in the
solution)

More simplified, unified build settings - it avoids the non-uniform
settings right now and removes some settings that are unnecessary
(defined by default or ignored due to other settings).

Fixes arch defines - or should. Probably need to shift to different arch
macros - leading underscore stuff is reserved in the standard I think.
old plugins not touched so far.

Other changes:
Remove async exception handling - temporary test, I think __try __except
deals with it already.

Dunno if I've made notable changes anywhere else... (can't remember)
Notes:
Probably need to reintroduce WIN32 define (pcap header devghzdrk)
Some ifdefs actually removed so that's good (zlib)
Avoiding afxwhatever.h in favour of using IDC_STATIC -1 and windows.h
directly in rc stuff
Warnings a plenty. Disable individually in projects or in base props (or
both)?
old plugins not done

Side notes:
.vcxproj placements are rather inconsistent.
@mirh
Copy link

mirh commented Mar 18, 2018

@MrCK1 might be interested to check VTune stuff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants