From 02a28fb9508c865bf56fe9f5e4307ea40ceda270 Mon Sep 17 00:00:00 2001 From: Florent Pruvost <florent.pruvost@inria.fr> Date: Mon, 12 Jun 2017 16:21:41 +0200 Subject: [PATCH] add definitions in the pkg-config file --- CMakeLists.txt | 6 +++--- cmake_modules/GenPkgConfig.cmake | 20 ++++++++++++++++++++ coreblas/CMakeLists.txt | 2 ++ cudablas/CMakeLists.txt | 2 ++ lib/pkgconfig/chameleon.pc.in | 2 +- lib/pkgconfig/coreblas.pc.in | 2 +- lib/pkgconfig/cudablas.pc.in | 2 +- 7 files changed, 30 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c055b07ac..7d47d1d90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1074,13 +1074,14 @@ if(CHAMELEON_ENABLE_DOCS) endif() #------------------------------------------------------------------------------ +get_directory_property( CHAMELEON_DEFINITIONS_LIST DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS ) ############################################################################### # Config files (pkg_config) # ############################# -# Create file morse_starpu.pc -# --------------------------- +# Create .pc file +# --------------- generate_pkgconfig_file() #------------------------------------------------------------------------------ @@ -1106,7 +1107,6 @@ include(CPack) ############################################################################### # Print Options # ################# -get_directory_property( CHAMELEON_DEFINITIONS_LIST DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS ) include(PrintOpts) if (CMAKE_INSTALL_PREFIX STREQUAL "/usr/local" OR CMAKE_INSTALL_PREFIX STREQUAL "C:/Program Files") diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenPkgConfig.cmake index 44b431e14..f37f1a29c 100644 --- a/cmake_modules/GenPkgConfig.cmake +++ b/cmake_modules/GenPkgConfig.cmake @@ -80,6 +80,26 @@ ENDMACRO(CLEAN_LIB_LIST) ### MACRO(GENERATE_PKGCONFIG_FILE) + # The definitions + string(REGEX REPLACE ";" " -D" CHAMELEON_PKGCONFIG_DEFINITIONS "${CHAMELEON_DEFINITIONS_LIST}") + string(REGEX REPLACE ";" " -D" COREBLAS_PKGCONFIG_DEFINITIONS "${COREBLAS_DEFINITIONS_LIST}") + string(REGEX REPLACE ";" " -D" CUDABLAS_PKGCONFIG_DEFINITIONS "${CUDABLAS_DEFINITIONS_LIST}") + if (CHAMELEON_PKGCONFIG_DEFINITIONS) + set(CHAMELEON_PKGCONFIG_DEFINITIONS "-D${CHAMELEON_PKGCONFIG_DEFINITIONS}") + else() + set(CHAMELEON_PKGCONFIG_DEFINITIONS "") + endif() + if (COREBLAS_PKGCONFIG_DEFINITIONS) + set(COREBLAS_PKGCONFIG_DEFINITIONS "-D${COREBLAS_PKGCONFIG_DEFINITIONS}") + else() + set(COREBLAS_PKGCONFIG_DEFINITIONS "") + endif() + if (CUDABLAS_PKGCONFIG_DEFINITIONS) + set(CUDABLAS_PKGCONFIG_DEFINITIONS "-D${CUDABLAS_PKGCONFIG_DEFINITIONS}") + else() + set(CUDABLAS_PKGCONFIG_DEFINITIONS "") + endif() + # The link flags specific to this package and any required libraries # that don't support PkgConfig set(CHAMELEON_PKGCONFIG_LIBS "-lchameleon") diff --git a/coreblas/CMakeLists.txt b/coreblas/CMakeLists.txt index df58613de..1769baf43 100644 --- a/coreblas/CMakeLists.txt +++ b/coreblas/CMakeLists.txt @@ -32,6 +32,8 @@ if (NOT CHAMELEON_SIMULATION) add_subdirectory(eztrace_module) endif() +get_directory_property( COREBLAS_DEFINITIONS_LIST DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS ) + ### ### END CMakeLists.txt ### diff --git a/cudablas/CMakeLists.txt b/cudablas/CMakeLists.txt index 0a1fb991d..ccfcc7095 100644 --- a/cudablas/CMakeLists.txt +++ b/cudablas/CMakeLists.txt @@ -32,6 +32,8 @@ if (NOT CHAMELEON_SIMULATION) add_subdirectory(eztrace_module) endif() +get_directory_property( CUDABLAS_DEFINITIONS_LIST DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS ) + ### ### END CMakeLists.txt ### diff --git a/lib/pkgconfig/chameleon.pc.in b/lib/pkgconfig/chameleon.pc.in index 1a70c174e..028e3d907 100644 --- a/lib/pkgconfig/chameleon.pc.in +++ b/lib/pkgconfig/chameleon.pc.in @@ -6,7 +6,7 @@ includedir=${exec_prefix}/include/chameleon Name: chameleon Description: Dense Linear Algebra for Scalable Multi-core Architectures and GPGPUs Version: @CHAMELEON_VERSION_MAJOR@.@CHAMELEON_VERSION_MINOR@.@CHAMELEON_VERSION_MICRO@ -Cflags: -I${includedir} -I${includedir}/coreblas/include +Cflags: @CHAMELEON_PKGCONFIG_DEFINITIONS@ -I${includedir} -I${includedir}/coreblas/include Libs: -L${libdir} @CHAMELEON_PKGCONFIG_LIBS@ Libs.private: @CHAMELEON_PKGCONFIG_LIBS_PRIVATE@ Requires: @CHAMELEON_PKGCONFIG_REQUIRED@ diff --git a/lib/pkgconfig/coreblas.pc.in b/lib/pkgconfig/coreblas.pc.in index 4897a519f..26b1dbb17 100644 --- a/lib/pkgconfig/coreblas.pc.in +++ b/lib/pkgconfig/coreblas.pc.in @@ -6,7 +6,7 @@ includedir=${exec_prefix}/include/chameleon/coreblas/include Name: coreblas Description: Interface to CBLAS/LAPACKE routines + some other auxiliary routines Version: @CHAMELEON_VERSION_MAJOR@.@CHAMELEON_VERSION_MINOR@.@CHAMELEON_VERSION_MICRO@ -Cflags: -I${includedir} +Cflags: @COREBLAS_PKGCONFIG_DEFINITIONS@ -I${includedir} Libs: -L${libdir} @COREBLAS_PKGCONFIG_LIBS@ Libs.private: @COREBLAS_PKGCONFIG_LIBS_PRIVATE@ Requires: @COREBLAS_PKGCONFIG_REQUIRED@ diff --git a/lib/pkgconfig/cudablas.pc.in b/lib/pkgconfig/cudablas.pc.in index 367cf1520..db3f0f14c 100644 --- a/lib/pkgconfig/cudablas.pc.in +++ b/lib/pkgconfig/cudablas.pc.in @@ -6,7 +6,7 @@ includedir=${exec_prefix}/include/chameleon/cudablas/include Name: cudablas Description: Interface to cuBLAS/MAGMA routines + some other auxiliary routines Version: @CHAMELEON_VERSION_MAJOR@.@CHAMELEON_VERSION_MINOR@.@CHAMELEON_VERSION_MICRO@ -Cflags: -I${includedir} +Cflags: @CUDABLAS_PKGCONFIG_DEFINITIONS@ -I${includedir} Libs: -L${libdir} @CUDABLAS_PKGCONFIG_LIBS@ Libs.private: @CUDABLAS_PKGCONFIG_LIBS_PRIVATE@ Requires: @CUDABLAS_PKGCONFIG_REQUIRED@ -- GitLab