rsys

Basic data structures and low-level features
git clone git://git.meso-star.fr/rsys.git
Log | Files | Refs | README | LICENSE

commit 8496abae79ba96fbe56219382122da2288fb0444
parent 6e4071147db8b3d92edf84463b765fa488942abb
Author: vaplv <vaplv@free.fr>
Date:   Mon, 29 Jan 2018 12:31:18 +0100

Update how the GLibC version is retrieved

Do not use pkg-config anymore

Diffstat:
Mcmake/CMakeLists.txt | 21+++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -148,11 +148,24 @@ if(CMAKE_COMPILER_IS_GNUCC) # On GLIBC version before 2.17 one has to link with the "rt" library to use # the clock_gettime function. - find_package(PkgConfig REQUIRED) - pkg_check_modules(GLIBC QUIET glib-2.0) - if(${GLIBC_FOUND} AND "${GLIBC_VERSION}" VERSION_LESS "2.17") - target_link_libraries(rsys rt) + find_library(_GLIBC NAMES glib-2.0) + get_filename_component(_GLIB_LIBRARY_DIR ${_GLIBC} PATH) + find_path(_GLIBCONFIG_INCLUDE_DIR NAMES glibconfig.h + HINTS ${_GLIB_LIBRARY_DIR} PATH_SUFFIXES glib-2.0/include) + + if(_GLIBCONFIG_INCLUDE_DIR) + file(STRINGS "${_GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" _GLIB_MAJOR_LINE REGEX "^#define[ \t]+GLIB_MAJOR_VERSION[ \t]+[0-9]+$") + file(STRINGS "${_GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" _GLIB_MINOR_LINE REGEX "^#define[ \t]+GLIB_MINOR_VERSION[ \t]+[0-9]+$") + file(STRINGS "${_GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" _GLIB_PATCH_LINE REGEX "^#define[ \t]+GLIB_MICRO_VERSION[ \t]+[0-9]+$") + string(REGEX REPLACE "^#define[ \t]+GLIB_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" _GLIB_MAJOR "${_GLIB_MAJOR_LINE}") + string(REGEX REPLACE "^#define[ \t]+GLIB_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" _GLIB_MINOR "${_GLIB_MINOR_LINE}") + string(REGEX REPLACE "^#define[ \t]+GLIB_MICRO_VERSION[ \t]+([0-9]+)$" "\\1" _GLIB_PATCH "${_GLIB_PATCH_LINE}") + set(_GLIB_VERSION "${_GLIB_MAJOR}.${_GLIB_MINOR}.${_GLIB_PATCH}") + if("${_GLIBC_VERSION}" VERSION_LESS "2.17") + target_link_libraries(rsys rt) + endif() endif() + endif() rcmake_setup_devel(rsys RSys ${VERSION} rsys/rsys_version.h)