Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
moose
Manage
Activity
Members
Labels
Plan
Issues
9
Issue boards
Milestones
Wiki
Code
Merge requests
2
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sahil Moza
moose
Commits
3060d78e
Commit
3060d78e
authored
8 years ago
by
Dilawar Singh
Browse files
Options
Downloads
Patches
Plain Diff
Updated CMake and FindGSL.
parent
8d590b82
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!213
Update rmoogli.py
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
moose-core/CMakeLists.txt
+9
-7
9 additions, 7 deletions
moose-core/CMakeLists.txt
moose-core/cmake_modules/FindGSL.cmake
+81
-132
81 additions, 132 deletions
moose-core/cmake_modules/FindGSL.cmake
with
90 additions
and
139 deletions
moose-core/CMakeLists.txt
+
9
−
7
View file @
3060d78e
...
@@ -218,7 +218,7 @@ endif(NOT HDF5_FOUND)
...
@@ -218,7 +218,7 @@ endif(NOT HDF5_FOUND)
if
(
HDF5_FOUND
)
if
(
HDF5_FOUND
)
add_definitions
(
-DUSE_HDF5
)
add_definitions
(
-DUSE_HDF5
)
include_directories
(
${
HDF5_INCLUDE_DIRS
}
)
include_directories
(
${
HDF5_INCLUDE_DIRS
}
)
foreach
(
HDF5_LIB
${
HDF5_
CXX_LIBRARIES
}
${
HDF5_HL_
LIBRARIES
}
)
foreach
(
HDF5_LIB
${
HDF5_LIBRARIES
}
)
if
(
HDF5_LIB
)
if
(
HDF5_LIB
)
get_filename_component
(
HDF5_LIB_EXT
${
HDF5_LIB
}
EXT
)
get_filename_component
(
HDF5_LIB_EXT
${
HDF5_LIB
}
EXT
)
if
(
HDF5_LIB_EXT
)
if
(
HDF5_LIB_EXT
)
...
@@ -269,14 +269,11 @@ if(WITH_BOOST)
...
@@ -269,14 +269,11 @@ if(WITH_BOOST)
list
(
APPEND SYSTEM_SHARED_LIBS
${
Boost_LIBRARIES
}
)
list
(
APPEND SYSTEM_SHARED_LIBS
${
Boost_LIBRARIES
}
)
endif
(
WITH_BOOST
)
endif
(
WITH_BOOST
)
# These libraries could be static of dynamic.
# These libraries could be static of dynamic. We need to discrimate between
# When building packages on OBS or launchpad, we build static library of a
# these two types because of --whole-archive option. See
# dependencies if a correct version is not found.
# BhallaLab/moose-core#66,
# Here we make sure that the correct static version is linked; if a correct
# shared version is found then link the shared version in SYSTEM_SHARED_LIBS.
if
(
WITH_GSL
)
if
(
WITH_GSL
)
message
(
STATUS
"Using STATIC gsl libraries:
${
GSL_LIBRARIES
}
"
)
message
(
STATUS
"Using STATIC gsl libraries:
${
GSL_LIBRARIES
}
"
)
foreach
(
GSL_LIB
${
GSL_LIBRARIES
}
)
foreach
(
GSL_LIB
${
GSL_LIBRARIES
}
)
if
(
GSL_LIB
)
if
(
GSL_LIB
)
get_filename_component
(
GSL_LIB_EXT
${
GSL_LIB
}
EXT
)
get_filename_component
(
GSL_LIB_EXT
${
GSL_LIB
}
EXT
)
...
@@ -351,6 +348,11 @@ list(APPEND MOOSE_LIBRARIES
...
@@ -351,6 +348,11 @@ list(APPEND MOOSE_LIBRARIES
basecode
basecode
)
)
# Make sure to remove duplicates.
list
(
REMOVE_DUPLICATES STATIC_LIBRARIES
)
if
(
SYSTEM_SHARED_LIBS
)
list
(
REMOVE_DUPLICATES SYSTEM_SHARED_LIBS
)
endif
(
)
# MAC linker does not understand many of gnu-ld options.
# MAC linker does not understand many of gnu-ld options.
message
(
STATUS
"Shared libs:
${
SYSTEM_SHARED_LIBS
}
"
)
message
(
STATUS
"Shared libs:
${
SYSTEM_SHARED_LIBS
}
"
)
...
...
This diff is collapsed.
Click to expand it.
moose-core/cmake_modules/FindGSL.cmake
+
81
−
132
View file @
3060d78e
##
# Try to find gnu scientific library GSL
## Try to find gnu scientific library GSL
# (see http://www.gnu.org/software/gsl/)
## (see http://www.gnu.org/software/gsl/)
# Once run this will define:
## Once run this will define:
#
##
# GSL_FOUND = system has GSL lib
## GSL_FOUND = system has GSL lib
#
##
# GSL_LIBRARIES = full path to the libraries
## GSL_LIBRARIES = full path to the libraries
# on Unix/Linux with additional linker flags from "gsl-config --libs"
## on Unix/Linux with additional linker flags from "gsl-config --libs"
#
##
# GSL_INCLUDE_DIRS = where to find headers
## CMAKE_GSL_CXX_FLAGS = Unix compiler flags for GSL, essentially "`gsl-config --cxxflags`"
#
##
# GSL_USE_STATIC_LIBRARIES = Set it ON if you want to search for static
## GSL_INCLUDE_DIRS = where to find headers
# libraries.
##
#
## GSL_LINK_DIRECTORIES = link directories, useful for rpath on Unix
# Felix Woelk 07/2004
## GSL_EXE_LINKER_FLAGS = rpath on Unix
# minor corrections Jan Woetzel
##
#
## Felix Woelk 07/2004
# www.mip.informatik.uni-kiel.de
## minor corrections Jan Woetzel
# --------------------------------
##
#
## www.mip.informatik.uni-kiel.de
# Friday 18 November 2016 09:05:56 AM IST
## --------------------------------
# MODIFICATIONS: ## dilawars@ncbs.res.in, For the MOOSE project.
##
# This version does not use gsl-config file.
#
# Set this envrionment variable to search in this path first.
message
(
STATUS
"GSL_ROOT_DIR value $ENV{GSL_ROOT_DIR}"
)
message
(
STATUS
"GSL_ROOT_DIR value $ENV{GSL_ROOT_DIR}"
)
IF
(
WIN32
)
IF
(
WIN32
)
SET
(
GSL_MINGW_PREFIX
"c:/msys/local"
)
SET
(
GSL_MINGW_PREFIX
"c:/msys/local"
)
SET
(
GSL_MSVC_PREFIX
"$ENV{LIB_DIR}"
)
SET
(
GSL_MSVC_PREFIX
"$ENV{LIB_DIR}"
)
FIND_LIBRARY
(
GSL_LIB gsl PATHS
FIND_LIBRARY
(
GSL_LIB gsl PATHS
${
GSL_MINGW_PREFIX
}
/lib
${
GSL_MINGW_PREFIX
}
/lib
${
GSL_MSVC_PREFIX
}
/lib
${
GSL_MSVC_PREFIX
}
/lib
)
)
#MSVC version of the lib is just called 'cblas'
#MSVC version of the lib is just called 'cblas'
FIND_LIBRARY
(
GSLCBLAS_LIB gslcblas cblas PATHS
FIND_LIBRARY
(
GSLCBLAS_LIB gslcblas cblas PATHS
${
GSL_MINGW_PREFIX
}
/lib
${
GSL_MINGW_PREFIX
}
/lib
${
GSL_MSVC_PREFIX
}
/lib
${
GSL_MSVC_PREFIX
}
/lib
)
)
FIND_PATH
(
GSL_INCLUDE_DIRS gsl/gsl_blas.h
FIND_PATH
(
GSL_INCLUDE_DIRS gsl/gsl_blas.h
${
GSL_MINGW_PREFIX
}
/include
${
GSL_MINGW_PREFIX
}
/include
${
GSL_MSVC_PREFIX
}
/include
${
GSL_MSVC_PREFIX
}
/include
)
)
IF
(
GSL_LIB AND GSLCBLAS_LIB
)
SET
(
GSL_LIBRARIES
${
GSL_LIB
}
${
GSLCBLAS_LIB
}
)
ENDIF
(
GSL_LIB AND GSLCBLAS_LIB
)
IF
(
GSL_LIB AND GSLCBLAS_LIB
)
SET
(
GSL_LIBRARIES
${
GSL_LIB
}
${
GSLCBLAS_LIB
}
)
ENDIF
(
GSL_LIB AND GSLCBLAS_LIB
)
ELSE
(
WIN32
)
ELSE
(
WIN32
)
IF
(
UNIX
)
SET
(
GSL_CONFIG_PREFER_PATH
"$ENV{GSL_ROOT_DIR}/bin"
)
# GSL_CONFIG must be cleared. This script may be called again after installing
# the proper version of gsl
if
(
EXISTS
"$ENV{GSL_ROOT_DIR}"
)
set
(
GSL_CONFIG
"$ENV{GSL_ROOT_DIR}/bin/gsl-config"
)
MESSAGE
(
STATUS
"gsl-config from environment variable:
${
GSL_CONFIG
}
"
)
set
(
GSL_INCLUDE_DIRS
)
set
(
GSL_LIBRARIES
)
set
(
GSL_VERSION
)
set
(
GSL_CONFIG_LIBS
)
else
()
FIND_PROGRAM
(
GSL_CONFIG gsl-config
${
GSL_CONFIG_PREFER_PATH
}
$ENV{LIB_DIR}/bin
/usr/local/bin/
/usr/bin/
)
endif
()
IF
(
GSL_CONFIG
)
# set CXXFLAGS to be fed into CXX_FLAGS by the user:
SET
(
GSL_CXX_FLAGS
"`
${
GSL_CONFIG
}
--cflags`"
)
# set INCLUDE_DIRS to prefix+include
EXEC_PROGRAM
(
${
GSL_CONFIG
}
ARGS --prefix
OUTPUT_VARIABLE GSL_PREFIX
)
SET
(
GSL_INCLUDE_DIRS
${
GSL_PREFIX
}
/include CACHE STRING INTERNAL
)
# set link libraries and link flags
EXEC_PROGRAM
(
${
GSL_CONFIG
}
ARGS --libs
OUTPUT_VARIABLE GSL_LIBRARIES
)
## extract link dirs for rpath
EXEC_PROGRAM
(
${
GSL_CONFIG
}
ARGS --libs
OUTPUT_VARIABLE GSL_CONFIG_LIBS
)
EXEC_PROGRAM
(
${
GSL_CONFIG
}
ARGS --version
OUTPUT_VARIABLE GSL_VERSION
)
## split off the link dirs (for rpath)
## use regular expression to match wildcard equivalent "-L*<endchar>"
## with <endchar> is a space or a semicolon
STRING
(
REGEX MATCHALL
"[-][L]([^ ;])+"
GSL_LINK_DIRECTORIES_WITH_PREFIX
"
${
GSL_CONFIG_LIBS
}
"
)
# MESSAGE("DBG GSL_LINK_DIRECTORIES_WITH_PREFIX=${GSL_LINK_DIRECTORIES_WITH_PREFIX}")
## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
IF
(
GSL_USE_STATIC_LIBRARIES
)
SET
(
GSL_LIB_NAMES libgsl.a
)
IF
(
GSL_LINK_DIRECTORIES_WITH_PREFIX
)
SET
(
GSL_CBLAS_LIB_NAMES libgslclabs.a
)
STRING
(
REGEX REPLACE
"[-][L]"
""
GSL_LINK_DIRECTORIES
${
GSL_LINK_DIRECTORIES_WITH_PREFIX
}
)
ELSE
(
GSL_USE_STATIC_LIBRARIES
)
ENDIF
(
GSL_LINK_DIRECTORIES_WITH_PREFIX
)
SET
(
GSL_LIB_NAMES gsl
)
SET
(
GSL_EXE_LINKER_FLAGS
"-Wl,-rpath,
${
GSL_LINK_DIRECTORIES
}
"
CACHE STRING INTERNAL
)
SET
(
GSL_CBLAS_LIB_NAMES gslcblas
)
# MESSAGE("DBG GSL_LINK_DIRECTORIES=${GSL_LINK_DIRECTORIES}")
ENDIF
(
)
# MESSAGE("DBG GSL_EXE_LINKER_FLAGS=${GSL_EXE_LINKER_FLAGS}")
FIND_LIBRARY
(
GSL_LIB
NAMES
${
GSL_LIB_NAMES
}
PATHS
$ENV{GSL_ROOT_DIR}/lib $ENV{GSL_ROOT_DIR}/lib64
/opt/lib /opt/lib64
)
FIND_LIBRARY
(
GSLCBLAS_LIB
NAMES
${
GSL_CBLAS_LIB_NAMES
}
PATHS
$ENV{GSL_ROOT_DIR}/lib $ENV{GSL_ROOT_DIR}/lib64
/opt/lib /opt/lib64
)
FIND_PATH
(
GSL_INCLUDE_DIRS NAMES gsl/gsl_blas.h gsl/gsl.h
PATHS
$ENV{GSL_ROOT_DIR}/include $ENV{GSL_ROOT_DIR}/include
/opt/include /opt/include
)
IF
(
GSL_LIB AND GSLCBLAS_LIB
)
SET
(
GSL_LIBRARIES
${
GSL_LIB
}
${
GSLCBLAS_LIB
}
)
ENDIF
(
GSL_LIB AND GSLCBLAS_LIB
)
# ADD_DEFINITIONS("-DHAVE_GSL")
# SET(GSL_DEFINITIONS "-DHAVE_GSL")
MARK_AS_ADVANCED
(
GSL_CXX_FLAGS
GSL_INCLUDE_DIRS
GSL_LIBRARIES
GSL_LINK_DIRECTORIES
GSL_DEFINITIONS
)
ELSE
(
GSL_CONFIG
)
IF
(
GSL_FIND_REQUIRED
)
MESSAGE
(
FATAL_ERROR
"Could not find gsl-config. Please set it manually. GSL_CONFIG=
${
GSL_CONFIG
}
"
)
ELSE
(
GSL_FIND_REQUIRED
)
MESSAGE
(
STATUS
"Could not find GSL"
)
# TODO: Avoid cmake complaints if GSL is not found
ENDIF
(
GSL_FIND_REQUIRED
)
ENDIF
(
GSL_CONFIG
)
ENDIF
(
UNIX
)
ENDIF
(
WIN32
)
ENDIF
(
WIN32
)
IF
(
GSL_LIBRARIES
)
IF
(
GSL_LIBRARIES
)
IF
(
GSL_INCLUDE_DIRS OR GSL_CXX_FLAGS
)
IF
(
GSL_INCLUDE_DIRS OR GSL_CXX_FLAGS
)
SET
(
GSL_FOUND 1
)
SET
(
GSL_FOUND 1
)
MESSAGE
(
STATUS
"Found GSL
${
GSL_LIBRARIES
}
"
)
ENDIF
(
GSL_INCLUDE_DIRS OR GSL_CXX_FLAGS
)
MESSAGE
(
STATUS
"Using GSL from
${
GSL_PREFIX
}
"
)
ENDIF
(
GSL_INCLUDE_DIRS OR GSL_CXX_FLAGS
)
ENDIF
(
GSL_LIBRARIES
)
ENDIF
(
GSL_LIBRARIES
)
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment