mariusbancila / croncpp

A C++11/14/17 header-only cross-platform library for handling CRON expressions
MIT License
236 stars 68 forks source link

Add interface target #11

Closed thomasgt closed 4 years ago

thomasgt commented 4 years ago

I was pulling in your project via CMake's FetchContent module (as opposed to just copying the include file into my source tree). I ran into some issues:

To address these, I created an interface target that just defines the include directory and specifies the C++17 requirement. I also made another INTERFACE target that defines the compiler options and definitions that the tests and benchmarks can share. This should keep these settings private such that they don't affect any outer project (should someone include your project as a git submodule or using CMake's FetchContent or ExternalProject modules).

I also updated the CI scripts, although I'm not sure if I have made all the necessary changes.