You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
425 lines
13 KiB
425 lines
13 KiB
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -13,6 +13,7 @@
|
|
|
|
include(CMakeDependentOption)
|
|
include(CheckFunctionExists)
|
|
+include(GNUInstallDirs)
|
|
|
|
# The current version number
|
|
set(PASTIX_VERSION_MAJOR 6)
|
|
@@ -516,7 +517,7 @@
|
|
configure_file (
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include/pastix/config.h.in"
|
|
"${PROJECT_INCLUDE_DIR}/pastix/config.h")
|
|
-install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION include/pastix)
|
|
+install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix)
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
|
|
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
|
|
@@ -844,9 +845,9 @@
|
|
# endforeach()
|
|
|
|
install(TARGETS pastix
|
|
- RUNTIME DESTINATION bin
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib)
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
# Install header files
|
|
set(PASTIX_HDRS
|
|
@@ -861,8 +862,8 @@
|
|
)
|
|
install(FILES
|
|
include/pastix.h
|
|
- DESTINATION include )
|
|
-install(FILES ${PASTIX_HDRS} DESTINATION include/pastix )
|
|
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
|
|
+install(FILES ${PASTIX_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix )
|
|
|
|
## Executable and tests
|
|
enable_testing()
|
|
@@ -934,8 +935,6 @@
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/pastixf.pc.in"
|
|
PROJECTNAME PASTIX )
|
|
|
|
-generate_env_file( PROJECTNAME PASTIX )
|
|
-
|
|
#############################################################
|
|
#
|
|
# Build documentation
|
|
--- a/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
|
|
+++ b/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
|
|
@@ -196,7 +196,7 @@
|
|
# ------------
|
|
install(FILES
|
|
"${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc"
|
|
- DESTINATION lib/pkgconfig )
|
|
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
|
|
|
|
endforeach()
|
|
|
|
@@ -232,7 +232,7 @@
|
|
# installation
|
|
# ------------
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh"
|
|
- DESTINATION bin)
|
|
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
endmacro(generate_env_file)
|
|
|
|
--- a/example/CMakeLists.txt
|
|
+++ b/example/CMakeLists.txt
|
|
@@ -36,6 +36,7 @@
|
|
simple.c
|
|
step-by-step.c
|
|
)
|
|
+set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c")
|
|
|
|
foreach (_file ${EXAMPLES})
|
|
get_filename_component(_name_we ${_file} NAME_WE)
|
|
@@ -43,8 +44,8 @@
|
|
target_link_libraries(${_name_we} pastix)
|
|
target_link_libraries(${_name_we} ${BLAS_LIBRARIES})
|
|
|
|
- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
|
|
- install(FILES ${_file} DESTINATION examples )
|
|
+ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
|
|
+ install(FILES ${_file} DESTINATION ${example_install_dir} )
|
|
endforeach()
|
|
|
|
### Install a makefile for user compilation test
|
|
@@ -58,6 +59,6 @@
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY)
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
|
|
- DESTINATION examples)
|
|
+ DESTINATION ${example_install_dir})
|
|
|
|
include(CTestLists.txt)
|
|
--- a/example/old/CMakeLists.txt
|
|
+++ b/example/old/CMakeLists.txt
|
|
@@ -13,14 +13,15 @@
|
|
simple.c
|
|
step-by-step.c
|
|
)
|
|
+set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c/old")
|
|
|
|
foreach (_file ${EXAMPLES})
|
|
get_filename_component(_name_we ${_file} NAME_WE)
|
|
add_executable("old_${_name_we}" ${_file})
|
|
target_link_libraries("old_${_name_we}" pastix)
|
|
|
|
- install(TARGETS old_${_name_we} RUNTIME DESTINATION examples/old )
|
|
- install(FILES ${_file} DESTINATION examples/old )
|
|
+ install(TARGETS old_${_name_we} RUNTIME DESTINATION ${example_install_dir} )
|
|
+ install(FILES ${_file} DESTINATION ${example_install_dir} )
|
|
endforeach()
|
|
|
|
### Install a makefile for user compilation test
|
|
@@ -33,5 +34,5 @@
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY)
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
|
|
- DESTINATION examples/old )
|
|
+ DESTINATION ${example_install_dir} )
|
|
|
|
--- a/kernels/CMakeLists.txt
|
|
+++ b/kernels/CMakeLists.txt
|
|
@@ -149,8 +149,8 @@
|
|
|
|
### Install library
|
|
install(TARGETS pastix_kernels
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib)
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
### Add generated files to the global property
|
|
add_documented_files(
|
|
--- a/kernels/gpus/CMakeLists.txt
|
|
+++ b/kernels/gpus/CMakeLists.txt
|
|
@@ -66,8 +66,8 @@
|
|
# ${cuda_generated_files})
|
|
# cuda_add_cublas_to_target( pastix_cucores_sm${_smtarget} )
|
|
# install(TARGETS pastix_cucores_sm${_smtarget}
|
|
-# LIBRARY DESTINATION lib
|
|
-# ARCHIVE DESTINATION lib )
|
|
+# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
# # if( NOT CMAKE_BUILD_SHARED_LIBS )
|
|
# # target_link_libraries( pastix_cucores pastix_cucores_sm${_smtarget} )
|
|
# # endif()
|
|
@@ -79,7 +79,7 @@
|
|
cuda_add_cublas_to_target( pastix_kernels_cuda )
|
|
|
|
install(TARGETS pastix_kernels_cuda
|
|
- LIBRARY DESTINATION lib
|
|
- ARCHIVE DESTINATION lib )
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
|
|
cuda_build_clean_target()
|
|
--- a/sopalin/parsec/CMakeLists.txt
|
|
+++ b/sopalin/parsec/CMakeLists.txt
|
|
@@ -114,8 +114,8 @@
|
|
endif (MPI_C_FOUND)
|
|
|
|
install(TARGETS pastix_parsec
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib)
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
### Add non-generated documented files to the global property
|
|
add_documented_files(
|
|
--- a/sopalin/starpu/CMakeLists.txt
|
|
+++ b/sopalin/starpu/CMakeLists.txt
|
|
@@ -96,8 +96,8 @@
|
|
endif (MPI_C_FOUND)
|
|
|
|
install(TARGETS pastix_starpu
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib)
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
### Add non-generated documented files to the global property
|
|
add_documented_files(
|
|
--- a/spm/CMakeLists.txt
|
|
+++ b/spm/CMakeLists.txt
|
|
@@ -139,7 +139,7 @@
|
|
configure_file (
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include/spm_config.h.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h")
|
|
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION include)
|
|
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
|
|
include_directories(include)
|
|
include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
|
|
@@ -231,14 +231,14 @@
|
|
endif (MPI_C_FOUND)
|
|
|
|
install(TARGETS spm
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib)
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
install(FILES
|
|
include/spm.h
|
|
include/spm_const.h
|
|
include/spm_datatypes.h
|
|
- DESTINATION include )
|
|
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
|
|
|
|
### Build pkg-config and environment file
|
|
include(GenPkgConfig)
|
|
@@ -251,8 +251,6 @@
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tools/spmf.pc.in"
|
|
PROJECTNAME SPM )
|
|
|
|
-generate_env_file( PROJECTNAME SPM )
|
|
-
|
|
### Add documented files to the global property
|
|
add_documented_files(
|
|
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
--- a/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
|
|
+++ b/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
|
|
@@ -196,7 +196,7 @@
|
|
# ------------
|
|
install(FILES
|
|
"${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc"
|
|
- DESTINATION lib/pkgconfig )
|
|
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
|
|
|
|
endforeach()
|
|
|
|
@@ -232,7 +232,7 @@
|
|
# installation
|
|
# ------------
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh"
|
|
- DESTINATION bin)
|
|
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
endmacro(generate_env_file)
|
|
|
|
--- a/spm/wrappers/fortran90/CMakeLists.txt
|
|
+++ b/spm/wrappers/fortran90/CMakeLists.txt
|
|
@@ -12,7 +12,7 @@
|
|
|
|
# Coherce CMake to install the generated .mod files
|
|
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files)
|
|
-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include)
|
|
+install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
|
|
add_library( spmf
|
|
src/spm_enums.F90
|
|
@@ -30,9 +30,9 @@
|
|
|
|
target_link_libraries( spmf spm )
|
|
install(TARGETS spmf
|
|
- RUNTIME DESTINATION bin
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib )
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
|
|
#
|
|
# Add examples
|
|
@@ -41,14 +41,15 @@
|
|
spm_driver.f90
|
|
spm_user.f90
|
|
)
|
|
+set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
|
|
|
|
foreach (_file ${EXAMPLES})
|
|
get_filename_component(_name_we ${_file} NAME_WE)
|
|
add_executable(${_name_we} examples/${_file})
|
|
target_link_libraries(${_name_we} spmf)
|
|
|
|
- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
|
|
- install(FILES examples/${_file} DESTINATION examples )
|
|
+ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
|
|
+ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
|
|
|
|
add_test(fortran_${_name_we} ./${_name_we})
|
|
|
|
--- a/spm/wrappers/python/CMakeLists.txt
|
|
+++ b/spm/wrappers/python/CMakeLists.txt
|
|
@@ -9,6 +9,8 @@
|
|
#
|
|
###
|
|
|
|
+find_package(Python COMPONENTS Interpreter REQUIRED)
|
|
+
|
|
# Configure enum.py
|
|
if (SPM_INT64)
|
|
set(SPM_PYTHON_INTEGER c_int64)
|
|
@@ -26,23 +28,20 @@
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spm/__spm__.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spm/spm.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spm/enum.py
|
|
- DESTINATION lib/python/spm )
|
|
+ DESTINATION "${Python_SITELIB}/spm" )
|
|
|
|
# Install python examples
|
|
install(FILES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spm_driver.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/spm_scipy.py
|
|
- DESTINATION examples
|
|
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
|
|
)
|
|
|
|
## CTest execution
|
|
-find_package(PythonInterp QUIET)
|
|
-if (PYTHONINTERP_FOUND)
|
|
set( PYTHON_TESTS
|
|
spm_driver spm_scipy )
|
|
|
|
foreach(example ${PYTHON_TESTS} )
|
|
add_test(python_${example} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.py)
|
|
endforeach()
|
|
-endif()
|
|
|
|
--- a/wrappers/fortran90/CMakeLists.txt
|
|
+++ b/wrappers/fortran90/CMakeLists.txt
|
|
@@ -12,7 +12,7 @@
|
|
|
|
# Coherce CMake to install the generated .mod files
|
|
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files)
|
|
-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include)
|
|
+install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
|
|
add_library( pastixf
|
|
src/pastix_enums.F90
|
|
@@ -30,9 +30,9 @@
|
|
|
|
target_link_libraries( pastixf pastix )
|
|
install(TARGETS pastixf
|
|
- RUNTIME DESTINATION bin
|
|
- ARCHIVE DESTINATION lib
|
|
- LIBRARY DESTINATION lib )
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
|
|
|
#
|
|
# Add examples
|
|
@@ -43,14 +43,15 @@
|
|
fstep-by-step.f90
|
|
fmultidof.f90
|
|
)
|
|
+set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
|
|
|
|
foreach (_file ${EXAMPLES})
|
|
get_filename_component(_name_we ${_file} NAME_WE)
|
|
add_executable(${_name_we} examples/${_file})
|
|
target_link_libraries(${_name_we} pastixf spmf)
|
|
|
|
- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
|
|
- install(FILES examples/${_file} DESTINATION examples )
|
|
+ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
|
|
+ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
|
|
|
|
add_test(fortran_${_name_we} ./${_name_we})
|
|
|
|
@@ -65,10 +66,10 @@
|
|
add_executable(${_name_we} examples/${_file})
|
|
target_link_libraries(${_name_we} pastixf spmf)
|
|
|
|
-install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
|
|
-install(FILES examples/${_file} DESTINATION examples )
|
|
-install(FILES examples/test_seq.in DESTINATION examples )
|
|
-install(FILES examples/test_mt.in DESTINATION examples )
|
|
+install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
|
|
+install(FILES examples/${_file} DESTINATION ${example_install_dir} )
|
|
+install(FILES examples/test_seq.in DESTINATION ${example_install_dir} )
|
|
+install(FILES examples/test_mt.in DESTINATION ${example_install_dir} )
|
|
|
|
# Add OpenMP if available
|
|
find_package(OpenMP)
|
|
--- a/wrappers/python/CMakeLists.txt
|
|
+++ b/wrappers/python/CMakeLists.txt
|
|
@@ -9,6 +9,8 @@
|
|
#
|
|
###
|
|
|
|
+find_package(Python COMPONENTS Interpreter REQUIRED)
|
|
+
|
|
# Configure enum.py
|
|
if (PASTIX_INT64)
|
|
set(PASTIX_PYTHON_INTEGER c_int64)
|
|
@@ -27,7 +29,7 @@
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/pastix.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/enum.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/solver.py
|
|
- DESTINATION lib/python/pypastix )
|
|
+ DESTINATION "${Python_SITELIB}/pypastix" )
|
|
|
|
# Install python examples
|
|
install(FILES
|
|
@@ -35,12 +37,10 @@
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_obj.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/schur.py
|
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/schur_obj.py
|
|
- DESTINATION examples
|
|
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
|
|
)
|
|
|
|
## CTest execution
|
|
-find_package(PythonInterp QUIET)
|
|
-if (PYTHONINTERP_FOUND)
|
|
set( PYTHON_TESTS
|
|
simple step-by-step schur simple_obj schur_obj )
|
|
|
|
@@ -57,5 +57,4 @@
|
|
set_tests_properties( python_${example} PROPERTIES
|
|
ENVIRONMENT "${TEST_ENV_LIST}" )
|
|
endforeach()
|
|
-endif()
|
|
|