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

Simplify external builds #1950

Closed
sithhell opened this issue Jan 8, 2016 · 6 comments

Comments

Projects
None yet
2 participants
@sithhell
Copy link
Member

commented Jan 8, 2016

Upon closer investigation of #1925, we came to the conclusion that building applications against HPX needs to be simplified. In order to achieve that, the following items need to be implemented:

  • properly export HPX_LIBRARIES in HPXConfig.cmake
  • Make sure that applications build correctly without the need to set the HPX_APPLICATION_NAME and HPX_COMPONENT_NAME macros.
  • Better document CMake usage, in particular how to enforce a specific C++ Language Standard, for example C++11

@sithhell sithhell added this to the 0.9.12 milestone Jan 8, 2016

sithhell added a commit that referenced this issue Jan 8, 2016

Fixing #1950 (1/3): Properly exporting HPX_LIBRARIES
Flyby change: Make sure the CMAKE_CXX_FLAGS are updated properly even if the user
supplied additional ones (for example through the command line)
@gentryx

This comment has been minimized.

Copy link
Member

commented Jan 9, 2016

Doesn't HPX automatically set the language standard in CMAKE_CXX_FLAGS?

@sithhell

This comment has been minimized.

Copy link
Member Author

commented Jan 9, 2016

Not anymore with this patch

@gentryx

This comment has been minimized.

Copy link
Member

commented Jan 10, 2016

But... why?

@sithhell

This comment has been minimized.

Copy link
Member Author

commented Jan 10, 2016

But... why?

Short answer: to only get what you need. With that change, only
applications that build against HPX will have the flags necessary to build
against HPX. There is no pollution of the global CMAKE_CXX_FLAGS anymore
which can be easily overridden by third party projects and might lead to
subtitle failures. The target properties used in this patch are also
transitive, such that those flags will get inherited downstream if the
downstream package exports its library targets in the same way. For
example, lgd applications don't need to call hpx_setup_target anymore if
they want to use the HPX backend of lgd.

@gentryx

This comment has been minimized.

Copy link
Member

commented Jan 10, 2016

@sithhell I don't know what changed your mind about global C++ flags pollution, but I'm happy that it happened.

@sithhell

This comment has been minimized.

Copy link
Member Author

commented Jan 10, 2016

@sithhell I don't know what changed your mind about global C++ flags pollution, but I'm happy that it happened.

Ooh, i was never opposed. The only thing missing was a way to implement
what we want. That's what we have now, I guess.

@sithhell sithhell referenced this issue Jan 12, 2016

Merged

Fixing #1950 #1957

hkaiser added a commit that referenced this issue Jan 26, 2016

brycelelbach added a commit that referenced this issue Mar 24, 2017

biddisco added a commit that referenced this issue Mar 30, 2017

biddisco added a commit to biddisco/hpx that referenced this issue Mar 30, 2017

biddisco added a commit to biddisco/hpx that referenced this issue Mar 31, 2017

biddisco added a commit that referenced this issue Apr 1, 2017

biddisco added a commit that referenced this issue Apr 2, 2017

biddisco added a commit that referenced this issue Apr 3, 2017

biddisco added a commit to biddisco/hpx that referenced this issue Apr 10, 2017

biddisco added a commit that referenced this issue Apr 11, 2017

biddisco added a commit to biddisco/hpx that referenced this issue Apr 25, 2017

biddisco added a commit to biddisco/hpx that referenced this issue Apr 26, 2017

biddisco added a commit that referenced this issue Apr 27, 2017

biddisco added a commit that referenced this issue May 2, 2017

sithhell added a commit that referenced this issue May 5, 2017

biddisco added a commit that referenced this issue May 8, 2017

biddisco added a commit that referenced this issue May 8, 2017

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.