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

Compiling with clang on Windows #2334

Open
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
1 participant
@kodebach
Copy link
Contributor

kodebach commented Jan 23, 2019

Contains various changes made to allow compilation using clang on Windows.

After the changes in this PR compiling should work with the following CMake configuration (from the MinGW build job, plus a few additions).

cmake -DENABLE_TESTING=OFF \
	-DBUILD_TESTING=OFF \
	-DBUILD_STATIC=ON \
	-DBUILD_FULL=ON \
	-DBUILD_SHARED=OFF \
	-DPLUGINS="wresolver;dump;list" \
	-DKDB_DEFAULT_RESOLVER=wresolver \
	-DKDB_DEFAULT_STORAGE=dump \
	-DKDB_DB_SYSTEM=kdb -DKDB_DB_SPEC=spec \
	-DBUILD_DOCUMENTATION=OFF \
	-DCMAKE_PIC_FLAGS=""  \
	-DBINDINGS=-ALL \
	-DTOOLS="" \
	-DENABLE_OPTIMIZATIONS=OFF \
	-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE

TODOs

The things listed below need to be done, in order for the native Windows build to be on par with the MinGW version:

  • Get ENABLE_OPTIMIZATIONS working.
  • Once the kdb tool doesn't use getopt anymore, check whether it compiles.
  • Check for a better way than CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to suppress the _ prefix on exported symbols.
  • Try compiling the various bindings.

Basics

Do not describe the purpose here but:

  • Short descriptions should be in the release notes (added as entry in
    doc/news/_preparation_next_release.md which contains *(my name)*)
    Please always add something to the the release notes.
  • Longer descriptions should be in documentation or in design decisions.
  • Describe details of how you changed the code in commit messages
    (first line should have module: short statement syntax)
  • References to issues, e.g. close #X, should be in the commit messages.

Checklist

Check relevant points but please do not remove entries.
For docu fixes, spell checking, and similar none of these points below
need to be checked.

  • I added unit tests
  • I ran all tests locally and everything went fine
  • affected documentation is fixed
  • I added code comments, logging, and assertions (see doc/CODING.md)
  • meta data is updated (e.g. README.md of plugins)

Closes #2303

PS. I probably won't do much work on this PR in the foreseeable future. I am just putting out there, in case anybody wants to try their luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.