From c04bb42d30f4f7f0cd9d2e4e2be61e2394e1acb9 Mon Sep 17 00:00:00 2001 From: Michael Hirsch Date: Wed, 13 Oct 2021 02:04:42 -0400 Subject: [PATCH] default build Release --- CMakeLists.txt | 16 ++++++++++++++-- VERSION | 2 +- cmake/lapack.cmake | 18 ++++++++++-------- cmake/libraries.json | 4 ++-- cmake/scalapack.cmake | 13 ++++++++----- 5 files changed, 35 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1b1d3b..1e56e9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,9 @@ -cmake_minimum_required(VERSION 3.20...3.21) +cmake_minimum_required(VERSION 3.20...3.22) + +get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(NOT is_multi_config AND NOT (CMAKE_BUILD_TYPE OR DEFINED ENV{CMAKE_BUILD_TYPE})) + set(CMAKE_BUILD_TYPE Release CACHE STRING "Release default") +endif() file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/VERSION PROJECT_VERSION REGEX "^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)" LIMIT_INPUT 16 LENGTH_MAXIMUM 16 LIMIT_COUNT 1) @@ -7,7 +12,8 @@ project(MUMPS LANGUAGES C Fortran VERSION ${PROJECT_VERSION} DESCRIPTION "Sparse direct parallel solver" -HOMEPAGE_URL "http://mumps-solver.org/") +HOMEPAGE_URL "http://mumps-solver.org/" +) include(CTest) @@ -15,6 +21,12 @@ if(NOT MUMPS_UPSTREAM_VERSION) set(MUMPS_UPSTREAM_VERSION 5.4.1) endif() +if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config") + set(EXTPROJ_GENERATOR "Ninja") +else() + set(EXTPROJ_GENERATOR ${CMAKE_GENERATOR}) +endif() + if(MSVC AND BUILD_SHARED_LIBS) message(WARNING "MUMPS: Windows MSVC/Intel compilers with **shared** libraries is not supported and will probably fail. Recommend using static libraries, which does work: diff --git a/VERSION b/VERSION index e0f8b16..5c5a889 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.4.1.2 +5.4.1.3 diff --git a/cmake/lapack.cmake b/cmake/lapack.cmake index 436a61b..ed3f14c 100644 --- a/cmake/lapack.cmake +++ b/cmake/lapack.cmake @@ -28,12 +28,11 @@ if(LAPACK_FOUND OR TARGET LAPACK::LAPACK) return() endif() - set(lapack_external true CACHE BOOL "build Lapack") if(NOT LAPACK_ROOT) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(LAPACK_ROOT ${PROJECT_BINARY_DIR} CACHE PATH "default root") + set(LAPACK_ROOT ${PROJECT_BINARY_DIR} CACHE PATH "default ROOT") else() set(LAPACK_ROOT ${CMAKE_INSTALL_PREFIX}) endif() @@ -41,21 +40,24 @@ endif() set(LAPACK_LIBRARIES ${LAPACK_ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lapack${CMAKE_STATIC_LIBRARY_SUFFIX} -${LAPACK_ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}blas${CMAKE_STATIC_LIBRARY_SUFFIX}) +${LAPACK_ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}blas${CMAKE_STATIC_LIBRARY_SUFFIX} +) -set(lapack_args +set(lapack_cmake_args -DCMAKE_INSTALL_PREFIX:PATH=${LAPACK_ROOT} --DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} +-DBUILD_SHARED_LIBS:BOOL=false -DCMAKE_BUILD_TYPE=Release --DBUILD_TESTING:BOOL=false) +-DBUILD_TESTING:BOOL=false +) ExternalProject_Add(LAPACK GIT_REPOSITORY ${lapack_git} GIT_TAG ${lapack_tag} -CMAKE_ARGS ${lapack_args} +CMAKE_ARGS ${lapack_cmake_args} +CMAKE_GENERATOR ${EXTPROJ_GENERATOR} CMAKE_CACHE_ARGS -Darith:STRING=${arith} BUILD_BYPRODUCTS ${LAPACK_LIBRARIES} -INACTIVITY_TIMEOUT 30 +INACTIVITY_TIMEOUT 15 CONFIGURE_HANDLED_BY_BUILD ON ) diff --git a/cmake/libraries.json b/cmake/libraries.json index 3093f40..1e8b241 100644 --- a/cmake/libraries.json +++ b/cmake/libraries.json @@ -1,11 +1,11 @@ { "lapack": { "git": "https://github.com/scivision/lapack.git", - "tag": "v3.10.0.1" + "tag": "v3.10.0.2" }, "scalapack": { "git": "https://github.com/scivision/scalapack.git", - "tag": "v2.1.0.27" + "tag": "v2.1.0.28" }, "mumps": { "5.3.1": { diff --git a/cmake/scalapack.cmake b/cmake/scalapack.cmake index 824288c..34d0228 100644 --- a/cmake/scalapack.cmake +++ b/cmake/scalapack.cmake @@ -36,7 +36,7 @@ endif() if(NOT SCALAPACK_ROOT) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(SCALAPACK_ROOT ${PROJECT_BINARY_DIR} CACHE PATH "default root") + set(SCALAPACK_ROOT ${PROJECT_BINARY_DIR} CACHE PATH "default ROOT") else() set(SCALAPACK_ROOT ${CMAKE_INSTALL_PREFIX}) endif() @@ -46,18 +46,21 @@ set(SCALAPACK_LIBRARIES ${SCALAPACK_ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}scalapack${CMAKE_STATIC_LIBRARY_SUFFIX} ${SCALAPACK_ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}blacs${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(scalapack_args +set(scalapack_cmake_args -DCMAKE_INSTALL_PREFIX:PATH=${SCALAPACK_ROOT} -DLAPACK_ROOT:PATH=${LAPACK_ROOT} --DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} +-DBUILD_SHARED_LIBS:BOOL=false -DCMAKE_BUILD_TYPE=Release --DBUILD_TESTING:BOOL=false) +-DBUILD_TESTING:BOOL=false +-Dautobuild:BOOL=false +) ExternalProject_Add(SCALAPACK GIT_REPOSITORY ${scalapack_git} GIT_TAG ${scalapack_tag} -CMAKE_ARGS ${scalapack_args} +CMAKE_ARGS ${scalapack_cmake_args} CMAKE_CACHE_ARGS -Darith:STRING=${arith} +CMAKE_GENERATOR ${EXTPROJ_GENERATOR} BUILD_BYPRODUCTS ${SCALAPACK_LIBRARIES} INACTIVITY_TIMEOUT 15 CONFIGURE_HANDLED_BY_BUILD ON