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 Headers Files #5

Open
jlaura opened this issue Jul 15, 2017 · 9 comments
Open

Windows Headers Files #5

jlaura opened this issue Jul 15, 2017 · 9 comments

Comments

@jlaura
Copy link

jlaura commented Jul 15, 2017

The windows makefile does not also include the headers (as the linux version does).

To include the headers it looks like the makefile needs to be updated as:

all: $(HEADERS) $(LIBRARY)

and

install::
        $(RM) $(INSTDIR)/lib/$(LIBNAME).so
        $(CP) $(LIBRARY:%.dll=%.lib) $(INSTDIR)/lib
        $(CP) $(HEADERS) $(INSTDIR)/include/csm

Though I am not 100% sure? If those are correct, I am happy to open a PR with the changes. I do not have immediate access to a windows build env. to test.

@sminster
Copy link
Collaborator

there is some oddities with the Makefile.win32 file. You cannot even use the all target there to get the library out. I'm not sure why exactly.

@jlaura
Copy link
Author

jlaura commented Sep 27, 2018

We are working on a win build on our CSM implementation, so we can report on how that is progressing. We did swap to use CMake as the build system though so it could be that this is a bit too divergent from the current system.

I am happy to PR in the CMake build with docs if the working group would find that a valuable contribution.

@sminster
Copy link
Collaborator

Using CMake would probably be better than my basic Makefiles :)
When building on Windows, do you use the objects_to_def script?

@jlaura
Copy link
Author

jlaura commented Sep 27, 2018

No, which could be our linking problem. The linking problem is not on the CSM, but on our implementation and I have been attributing that to us needing to add some windows guards to the implementation.

What is / where is the objects_to_def script? My windows knowledge is poor.

@sminster
Copy link
Collaborator

Oops, I thought it was under the scripts directory, but it looks like it isn't. I'll have to look into adding it there.

@jessemapel
Copy link

@sminster Would it be possible to get the script for the def file? We can't get successful builds with the new cmake system without it. I'm currently trying to get the csm API library hosted on conda-forge so that everyone can just install it from there in the future (conda-forge/staged-recipes#6912), but It cannot be integrated until it we can successfully build on windows.

@sminster
Copy link
Collaborator

@jessemapel I created PR #11 to deliver those scripts to the scripts directory

@jessemapel
Copy link

@sminster 👍 great thank you!

@jessemapel
Copy link

CMake has a convenient flag that does all of this for you, WINDOWS_EXPORT_ALL_SYMBOLS. You don't even need macros in the source code for it.

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

No branches or pull requests

3 participants