Skip to content

Commit

Permalink
default build Release
Browse files Browse the repository at this point in the history
  • Loading branch information
scivision committed Oct 13, 2021
1 parent 2bd6284 commit c04bb42
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 18 deletions.
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -7,14 +12,21 @@ 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)

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:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.4.1.2
5.4.1.3
18 changes: 10 additions & 8 deletions cmake/lapack.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,34 +28,36 @@ 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()
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
)

Expand Down
4 changes: 2 additions & 2 deletions cmake/libraries.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
13 changes: 8 additions & 5 deletions cmake/scalapack.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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
Expand Down

0 comments on commit c04bb42

Please sign in to comment.