diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 31fe917389dfacd7c17682c3ca2d0bb8d707af7b..dcf70b95484f61ea2d4c11142770b73b48a991df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: hpclib/hiepacs +nimage: hpclib/hiepacs stages: - build @@ -34,6 +34,7 @@ test_spm: - spm.lcov - spm-gcov.log script: + - source install/bin/spm_env.sh - (cd build && eval "ctest $TESTS_RESTRICTION diff --git a/CMakeLists.txt b/CMakeLists.txt index f86c8d0a5d76da21bcb80cd42b33c440ca5af74c..1f8fea6b75c26c51890bcddf97b108d7caa9ae68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,6 @@ endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules") -include(GenSPMPkgConfig) include(AddSourceFiles) # The current version number @@ -246,6 +245,11 @@ install(TARGETS spm install(FILES include/spm.h DESTINATION include ) +### Build pkg-config and environment file +include(GenSPMPkgConfig) +spm_generate_pkgconfig_file() +spm_generate_env_file() + ### Add documented files to the global property add_documented_files( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/cmake_modules/GenSPMPkgConfig.cmake b/cmake_modules/GenSPMPkgConfig.cmake index 0a1fc3357f858da57a46796620dc495080a3d9b1..935b432f3b3df4aa1eb9fd34509c4c162e815cfb 100644 --- a/cmake_modules/GenSPMPkgConfig.cmake +++ b/cmake_modules/GenSPMPkgConfig.cmake @@ -78,7 +78,7 @@ # GENERATE_PKGCONFIG_FILE: generate files spm.pc # ### -macro(GENERATE_SPM_PKGCONFIG_FILE) +macro(spm_generate_pkgconfig_file) set(SPM_PKGCONFIG_LIBS "-lspm") set(SPM_PKGCONFIG_LIBS_PRIVATE "-lm") @@ -89,7 +89,7 @@ macro(GENERATE_SPM_PKGCONFIG_FILE) set(_output_spm_file "${CMAKE_BINARY_DIR}/spm.pc") configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/spm.pc.in" + "${CMAKE_CURRENT_SOURCE_DIR}/tools/spm.pc.in" "${_output_spm_file}" @ONLY ) @@ -98,19 +98,19 @@ macro(GENERATE_SPM_PKGCONFIG_FILE) DESTINATION lib/pkgconfig ) -endmacro(GENERATE_SPM_PKGCONFIG_FILE) +endmacro(spm_generate_pkgconfig_file) ### # # generate_env_file: generate files pastix.pc # ### -macro(generate_env_file) +macro(spm_generate_env_file) # Create .sh file # --------------- configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/spm_env.sh.in" + "${CMAKE_CURRENT_SOURCE_DIR}/tools/spm_env.sh.in" "${CMAKE_BINARY_DIR}/bin/spm_env.sh" @ONLY) # installation @@ -118,7 +118,7 @@ macro(generate_env_file) install(FILES "${CMAKE_BINARY_DIR}/bin/spm_env.sh" DESTINATION bin) -endmacro(generate_env_file) +endmacro(spm_generate_env_file) ## ## @end file GenPkgConfig.cmake diff --git a/lib/pkgconfig/spm.pc.in b/tools/spm.pc.in similarity index 100% rename from lib/pkgconfig/spm.pc.in rename to tools/spm.pc.in diff --git a/tools/spm_env.sh.in b/tools/spm_env.sh.in new file mode 100644 index 0000000000000000000000000000000000000000..1ae1a3813e0cf805866a2bc7a4db061d4661174b --- /dev/null +++ b/tools/spm_env.sh.in @@ -0,0 +1,36 @@ +# +# @file spm_env.sh +# +# @copyright 2016-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, +# Univ. Bordeaux. All rights reserved. +# +# @version 6.0.0 +# @author Mathieu Faverge +# @date 2017-06-24 +# +#!/bin/sh + +LIB=spm + +export SPM_DIR=@CMAKE_INSTALL_PREFIX@ + +for i in PATH DYLD_LIBRARY_PATH LD_LIBRARY_PATH LIBRARY_PATH LD_RUN_PATH INCLUDE INCLUDE_PATH PKG_CONFIG_PATH PYTHONPATH +do + + for j in /spm + do + cmd1="echo \\\"\$$i\\\" | sed -E 's+^(\(.*:|\))[^:]*${j}[^:]*(\(|:.*\))$+\1\2+' | sed 's/::/:/' | sed 's/^://' | sed 's/:$//' " + temp=`eval $cmd1`; + eval "$i=$temp"; + done +done + +export PATH=$PATH:$SPM_DIR/bin +export LD_RUN_PATH=$LD_RUN_PATH:$SPM_DIR/lib +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SPM_DIR/lib +export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$SPM_DIR/lib +export LIBRARY_PATH=$LIBRARY_PATH:$SPM_DIR/lib +export PYTHONPATH=$PYTHONPATH:$SPM_DIR/lib/python +export INCLUDE=$INCLUDE:$SPM_DIR/include +export INCLUDE_PATH=$INCLUDE_PATH:$SPM_DIR/include +export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$SPM_DIR/lib/pkgconfig