concurrentqueue icon indicating copy to clipboard operation
concurrentqueue copied to clipboard

Feature/add cmake support

Open kobi-ca opened this issue 5 years ago • 5 comments

Added cmake support. Did not touch xcode/msvc since I dont have access to this.

gnu makefile - modified but did not try it out (will give it a shot - it should be good)

@mikeroe please review as well.

kobi-ca avatar Jul 24 '19 16:07 kobi-ca

change includes install of the headers and also generate .cmake to be used by other cmake projects.

kobi-ca avatar Jul 24 '19 16:07 kobi-ca

If you want to add cmake support for Linux that's fine, but:

  • It should be optional (the existing files should not need to be changed/moved)
  • The cmake files should ideally be under build/ somewhere (EDIT: I understand that cmake likes to litter its files across each folder -- this is OK since it seems unavoidable)

cameron314 avatar Jul 24 '19 17:07 cameron314

Hi

Thanks for your feedback Cmake is optional. The reason I changed the location of the files was to be aligned to how standard open source libs behaves in terms of look and feel. When someone installs the headers on the machine the include should be: Libname/header

I can move the cmake to the build dir. It's going to be a bit less conforming to how other cmake prjs behave but that's minor I think.

kobi-ca avatar Jul 25 '19 00:07 kobi-ca

I understand the layout is non-standard, but the intention was for it to be a header-only library in order to avoid mucking with build systems :-) That's why the two headers are in the root. Everything else is just gravy.

But I appreciate the pull request, sorry for being a bit abrupt earlier. I'm just picky.

cameron314 avatar Jul 25 '19 01:07 cameron314

no need to be sorry and all. This is the whole point of PR and feedback and I totally understand. I'm also picky ;) I was just explaining the motivation behind the changes and I appreciate your fast response.

take care

On Wed, Jul 24, 2019 at 6:06 PM Cameron [email protected] wrote:

I understand the layout is non-standard, but the intention was for it to be a header-only library in order to avoid mucking with build systems :-) That's why the two headers are in the root. Everything else is just gravy.

But I appreciate the pull request, sorry for being a bit abrupt earlier. I'm just picky.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cameron314/concurrentqueue/pull/161?email_source=notifications&email_token=AAVGY26APIDLMPGDIG7HPJ3QBD377A5CNFSM4IGR7GCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2YA27I#issuecomment-514854269, or mute the thread https://github.com/notifications/unsubscribe-auth/AAVGY2YDC47Y7ASPH7TGQ5TQBD377ANCNFSM4IGR7GCA .

kobi-ca avatar Jul 25 '19 01:07 kobi-ca