/
BuildGSL.cmake
32 lines (26 loc) · 1.67 KB
/
BuildGSL.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
macro(build_gsl install_prefix staging_prefix)
IF(${CMAKE_BUILD_TYPE} STREQUAL Release)
SET(EXT_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}")
SET(EXT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
SET(EXT_LDFLAGS "-L${staging_prefix}/${install_prefix}/lib${LIB_SUFFIX} ${CMAKE_MODULE_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
ELSE()
SET(EXT_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}")
SET(EXT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
SET(EXT_LDFLAGS "-L${staging_prefix}/${install_prefix}/lib${LIB_SUFFIX} ${CMAKE_MODULE_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}" )
ENDIF()
ExternalProject_Add(GSL
SOURCE_DIR GSL
URL "http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gsl/gsl-1.16.tar.gz"
URL_MD5 "e49a664db13d81c968415cd53f62bc8b"
BUILD_IN_SOURCE 1
INSTALL_DIR "${CMAKE_BINARY_DIR}/external"
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) DESTDIR=${CMAKE_BINARY_DIR}/external install
CONFIGURE_COMMAND ./configure --prefix=${install_prefix} --libdir=${install_prefix}/lib${LIB_SUFFIX} --with-pic --disable-shared --enable-static CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} "CPPFLAGS=${EXT_CXX_FLAGS}" "CXXFLAGS=${EXT_CXX_FLAGS}" "CFLAGS=${EXT_C_FLAGS}" "LDFLAGS=${EXT_LDFLAGS}"
# INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/external
)
SET(GSL_INCLUDE_DIR ${staging_prefix}/${install_prefix}/include )
SET(GSL_LIBRARY ${staging_prefix}/${install_prefix}/lib${LIB_SUFFIX}/libgsl.a )
SET(GSL_CBLAS_LIBRARY ${staging_prefix}/${install_prefix}/lib${LIB_SUFFIX}/libgslcblas.a )
SET(GSL_FOUND ON)
endmacro(build_gsl)