diff --git a/cmake/tstCMakeInstall.sh.in b/cmake/tstCMakeInstall.sh.in index 67e15d5c..f22a1f24 100755 --- a/cmake/tstCMakeInstall.sh.in +++ b/cmake/tstCMakeInstall.sh.in @@ -42,9 +42,7 @@ cd tstCMakeInstall cp "@PROJECT_SOURCE_DIR@/EXAMPLES/BAND/dnband.f" . cp "@PROJECT_SOURCE_DIR@/EXAMPLES/BAND/dnbdr1.f" . -cp "@PROJECT_SOURCE_DIR@/EXAMPLES/BAND/dnbdr3.f" . cp "@PROJECT_SOURCE_DIR@/PARPACK/EXAMPLES/MPI/pdndrv1.f" . -cp "@PROJECT_SOURCE_DIR@/PARPACK/EXAMPLES/MPI/pdndrv3.f" . cp "@PROJECT_SOURCE_DIR@/TESTS/icb_arpack_c.c" . cp "@PROJECT_SOURCE_DIR@/TESTS/icb_arpack_cpp.cpp" . cp "@PROJECT_SOURCE_DIR@/PARPACK/TESTS/MPI/icb_parpack_c.c" . @@ -55,6 +53,8 @@ echo "cmake_minimum_required(VERSION 3.5)" > CMake echo "" >> CMakeLists.txt echo "project(tstCMakeInstall Fortran C CXX)" >> CMakeLists.txt echo "" >> CMakeLists.txt +echo "# Targets compiled with *.cmake files generated by cmake" >> CMakeLists.txt +echo "" >> CMakeLists.txt echo "find_package(BLAS REQUIRED)" >> CMakeLists.txt echo "find_package(LAPACK REQUIRED)" >> CMakeLists.txt echo "find_package(MPI REQUIRED COMPONENTS Fortran C CXX)" >> CMakeLists.txt @@ -131,17 +131,19 @@ echo "target_link_libraries(icb_parpack_cpp ARPACK::ARPACK)" >> echo "target_include_directories(icb_parpack_cpp INTERFACE PARPACK::PARPACK)" >> CMakeLists.txt echo "target_link_libraries(icb_parpack_cpp PARPACK::PARPACK)" >> CMakeLists.txt echo "" >> CMakeLists.txt +echo "# Targets compiled with with *.pc files generated by cmake" >> CMakeLists.txt +echo "" >> CMakeLists.txt echo "find_package(PkgConfig REQUIRED)" >> CMakeLists.txt echo "pkg_check_modules(ARPACK IMPORTED_TARGET REQUIRED arpack${LIBSUFFIX}${ITF64SUFFIX})" >> CMakeLists.txt echo "pkg_check_modules(PARPACK IMPORTED_TARGET REQUIRED parpack${LIBSUFFIX}${ITF64SUFFIX})" >> CMakeLists.txt -echo "" >> CMakeLists.txt -echo "add_executable(dnbdr3 dnband.f dnbdr3.f)" >> CMakeLists.txt -echo "target_include_directories(dnbdr3 INTERFACE BLAS::BLAS)" >> CMakeLists.txt -echo "target_link_libraries(dnbdr3 BLAS::BLAS)" >> CMakeLists.txt -echo "target_include_directories(dnbdr3 INTERFACE LAPACK::LAPACK)" >> CMakeLists.txt -echo "target_link_libraries(dnbdr3 LAPACK::LAPACK)" >> CMakeLists.txt -echo "target_include_directories(dnbdr3 INTERFACE PkgConfig::ARPACK)" >> CMakeLists.txt -echo "target_link_libraries(dnbdr3 PkgConfig::ARPACK)" >> CMakeLists.txt +echo "" >> CMakeLists.txt +echo "add_executable(dnbdr1_pkg dnband.f dnbdr1.f)" >> CMakeLists.txt +echo "target_include_directories(dnbdr1_pkg INTERFACE BLAS::BLAS)" >> CMakeLists.txt +echo "target_link_libraries(dnbdr1_pkg BLAS::BLAS)" >> CMakeLists.txt +echo "target_include_directories(dnbdr1_pkg INTERFACE LAPACK::LAPACK)" >> CMakeLists.txt +echo "target_link_libraries(dnbdr1_pkg LAPACK::LAPACK)" >> CMakeLists.txt +echo "target_include_directories(dnbdr1_pkg INTERFACE PkgConfig::ARPACK)" >> CMakeLists.txt +echo "target_link_libraries(dnbdr1_pkg PkgConfig::ARPACK)" >> CMakeLists.txt echo "" >> CMakeLists.txt echo "add_executable(icb_arpack_c_pkg icb_arpack_c.c)" >> CMakeLists.txt echo "target_include_directories(icb_arpack_c_pkg INTERFACE BLAS::BLAS)" >> CMakeLists.txt @@ -158,18 +160,18 @@ echo "target_include_directories(icb_arpack_cpp_pkg INTERFACE LAPACK::LAPACK)" echo "target_link_libraries(icb_arpack_cpp_pkg LAPACK::LAPACK)" >> CMakeLists.txt echo "target_include_directories(icb_arpack_cpp_pkg INTERFACE PkgConfig::ARPACK)" >> CMakeLists.txt echo "target_link_libraries(icb_arpack_cpp_pkg PkgConfig::ARPACK)" >> CMakeLists.txt -echo "" >> CMakeLists.txt -echo "add_executable(pdndrv3 dnband.f pdndrv3.f)" >> CMakeLists.txt -echo "target_include_directories(pdndrv3 INTERFACE BLAS::BLAS)" >> CMakeLists.txt -echo "target_link_libraries(pdndrv3 BLAS::BLAS)" >> CMakeLists.txt -echo "target_include_directories(pdndrv3 INTERFACE LAPACK::LAPACK)" >> CMakeLists.txt -echo "target_link_libraries(pdndrv3 LAPACK::LAPACK)" >> CMakeLists.txt -echo "target_include_directories(pdndrv3 INTERFACE MPI::MPI_Fortran)" >> CMakeLists.txt -echo "target_link_libraries(pdndrv3 MPI::MPI_Fortran)" >> CMakeLists.txt -echo "target_include_directories(pdndrv3 INTERFACE PkgConfig::ARPACK)" >> CMakeLists.txt -echo "target_link_libraries(pdndrv3 PkgConfig::ARPACK)" >> CMakeLists.txt -echo "target_include_directories(pdndrv3 INTERFACE PkgConfig::PARPACK)" >> CMakeLists.txt -echo "target_link_libraries(pdndrv3 PkgConfig::PARPACK)" >> CMakeLists.txt +echo "" >> CMakeLists.txt +echo "add_executable(pdndrv1_pkg dnband.f pdndrv1.f)" >> CMakeLists.txt +echo "target_include_directories(pdndrv1_pkg INTERFACE BLAS::BLAS)" >> CMakeLists.txt +echo "target_link_libraries(pdndrv1_pkg BLAS::BLAS)" >> CMakeLists.txt +echo "target_include_directories(pdndrv1_pkg INTERFACE LAPACK::LAPACK)" >> CMakeLists.txt +echo "target_link_libraries(pdndrv1_pkg LAPACK::LAPACK)" >> CMakeLists.txt +echo "target_include_directories(pdndrv1_pkg INTERFACE MPI::MPI_Fortran)" >> CMakeLists.txt +echo "target_link_libraries(pdndrv1_pkg MPI::MPI_Fortran)" >> CMakeLists.txt +echo "target_include_directories(pdndrv1_pkg INTERFACE PkgConfig::ARPACK)" >> CMakeLists.txt +echo "target_link_libraries(pdndrv1_pkg PkgConfig::ARPACK)" >> CMakeLists.txt +echo "target_include_directories(pdndrv1_pkg INTERFACE PkgConfig::PARPACK)" >> CMakeLists.txt +echo "target_link_libraries(pdndrv1_pkg PkgConfig::PARPACK)" >> CMakeLists.txt echo "" >> CMakeLists.txt echo "add_executable(icb_parpack_c_pkg icb_parpack_c.c)" >> CMakeLists.txt echo "target_include_directories(icb_parpack_c_pkg INTERFACE BLAS::BLAS)" >> CMakeLists.txt @@ -205,6 +207,7 @@ make all VERBOSE=1 || exit 1 export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/tmp/tstCMakeInstall/local/lib" +# The first targets are compiled with *.cmake files generated by cmake. ./dnbdr1 || exit 1 ./icb_arpack_c || exit 1 ./icb_arpack_cpp || exit 1 @@ -213,9 +216,10 @@ mpirun -n 2 ./pdndrv1 || exit 1 mpirun -n 2 ./icb_parpack_c || exit 1 mpirun -n 2 ./icb_parpack_cpp || exit 1 -./dnbdr3 || exit 1 +# The second targets are compiled with *.pc files generated by cmake. +./dnbdr1_pkg || exit 1 ./icb_arpack_c_pkg || exit 1 ./icb_arpack_cpp_pkg || exit 1 -mpirun -n 2 ./pdndrv3 || exit 1 +mpirun -n 2 ./pdndrv1_pkg || exit 1 mpirun -n 2 ./icb_parpack_c_pkg || exit 1 mpirun -n 2 ./icb_parpack_cpp_pkg || exit 1