Commit Graph

6 Commits

Author SHA1 Message Date
Eugene Shalygin f425a3818a cmake: make pkg-config package name independent of target name 2018-11-13 07:43:07 +01:00
Eugene Shalygin 9b9ed6ad60 cmake: strip directories and library prefixes for pkg-config
Replace full library names with -L commands and -llib-name pairs. This
way it resembles what autotools produce and additionally -l can not be
used with GNU linker and full paths (as it prepends "lib" to such
arguments).
2018-11-12 09:09:26 +01:00
Eugene Shalygin 911e4a892b cmake: remove $<LINK_ONLY:...> expressions from INTERFACE_LINK_LIBRARIES
When torrent-rasterbar is built a static library, CMake supplies link
dependencies inside the LINK_ONLY generator expressions. But pkg-config
does not support such operational mode, and thus we can safely replace
those expressions with the library names. Closes #3354.
2018-10-18 08:26:01 +02:00
Eugene Shalygin 287f299314 cmake: pass target C++ standard to pkgconfig generator 2018-05-27 09:55:13 +02:00
Eugene Shalygin a626f75c5e Refactor CMakeLists.txt
1. Replace custom 'shared' option with the standard BUILD_SHARED_LIBS
flag
2. Replace foreach() calls for source items with target_sources() and
generator expression $<JOIN:>.
3. Remove build types definition: makes no sense for
single-configuration generators, and is populated automatically for
multi-configuration ones.
4. Add feature summary
5. Enahnce compiler flags management for static runtime by utilizing functions
from the ucm project
6. Copy almost all options from the Jamfile.
7. If compiler supports C++14, use it.
8. Raise minimum required CMake version to 3.11 and drop bundled FindIconv.cmake
2018-05-14 09:08:19 +02:00
Eugene Shalygin 3c6e0b2578 Generate proper pkg-config file in cmake build 2018-04-29 19:48:26 +02:00