source: trunk/cmake/withcasa.cmake@ 2255

Last change on this file since 2255 was 2236, checked in by Kana Sugimoto, 13 years ago

New Development: No

JIRA Issue: No (a bug fix from Scott)

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs: build asap

Put in Release Notes: No

Module(s): asap

Description:

a bug fix from Scott to search for proper suffix resolution of shared libraries.


File size: 4.3 KB
Line 
1###
2# CMakeLists.txt for build with casa
3###
4
5
6# environment dependent settings
7if( APPLE )
8 if( NOT arch )
9 set( arch darwin )
10 endif()
11 if( CMAKE_SYSTEM MATCHES ^Darwin-10 )
12 if( NOT archflag )
13 if( EXISTS /opt/casa/darwin10-64b )
14 set( archflag x86_64 )
15 elseif( EXISTS /opt/casa/core2-apple-darwin10 )
16 set( archflag i386 )
17 else()
18 set( archflag x86_64 )
19 endif()
20 endif()
21 if( archflag STREQUAL x86_64 )
22 set( casa_packages /opt/casa/darwin10-64b )
23 else()
24 set( casa_packages /opt/casa/core2-apple-darwin10 )
25 endif()
26 elseif( CMAKE_SYSTEM MATCHES ^Darwin-9 )
27 set( casa_packages /opt/casa/core2-apple-darwin8/3rd-party )
28 endif()
29elseif( CMAKE_SYSTEM_NAME STREQUAL Linux )
30 if( CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 )
31 set( casa_packages /usr/lib64/casapy )
32 if( NOT arch )
33 set( arch linux_64b )
34 endif()
35 else()
36 set( casa_packages /usr/lib/casapy )
37 if( NOT arch )
38 set( arch linux_gnu )
39 endif()
40 endif()
41endif()
42message( STATUS "arch = " ${arch} )
43
44# install directory
45#
46# The layout of the source+install directory trees
47# is rather hard-coded in much source code. However,
48# with care CASA can be built and installed elsewhere...
49#
50IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
51 # the regular expression means '../'
52 # [^ ] Matches any character(s) not inside the brackets
53 # + Matches preceding pattern one or more times
54 # ? Matches preceding pattern zero or once only
55 # $ Mathces at end of a line
56 string( REGEX REPLACE /[^/]+/?$ "" casaroot ${CMAKE_SOURCE_DIR} )
57 set( CMAKE_INSTALL_PREFIX ${casaroot}/${arch} CACHE PATH "casa architecture directory" FORCE )
58ELSE()
59 set( casaroot ${CMAKE_INSTALL_PREFIX}/.. CACHE PATH "casa architecture directory" FORCE )
60ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
61
62message( STATUS "casaroot = " ${casaroot} )
63
64# modules
65IF ( NOT DEFINED CASA_CODE_PATH )
66 IF ( EXISTS ${casaroot}/code/install )
67 set( CASA_CODE_PATH ${casaroot}/code )
68 ELSE()
69 set( CASA_CODE_PATH ${CMAKE_SOURCE_DIR}/../code )
70 ENDIF()
71ENDIF()
72message( STATUS "CASA_CODE_PATH = " ${CASA_CODE_PATH} )
73set( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CASA_CODE_PATH}/install" )
74message( STATUS "CMAKE_MODULE_PATH = " ${CMAKE_MODULE_PATH} )
75
76include( config )
77include( CASA )
78
79#
80# casacore
81#
82set( CASACORE_PATHS "${casaroot}/${arch};${casaroot};/usr/local;/usr" )
83
84
85#
86# Boost
87#
88if( NOT BOOST_ROOT )
89 set( BOOST_ROOT ${casa_packages} )
90endif()
91
92
93#
94# wcslib
95#
96set( WCSLIB_PATHS "${casaroot}/${arch};/usr/local;/usr" )
97
98
99#
100# CASA (only alma/ASDM)
101#
102find_path( LIBXML2_INCLUDE_DIR libxml/xmlversion.h
103 PATH_SUFFIXES libxml2 )
104if( LIBXML2_INCLUDE_DIR MATCHES "NOTFOUND$" )
105 message( FATAL_ERROR "libxml/xmlversion.h could not be found. Please check!" )
106endif()
107message( STATUS "LIBXML2_INCLUDE_DIR = " ${LIBXML2_INCLUDE_DIR} )
108find_path( LIBXML2_LIBRARY libxml2${CMAKE_SHARED_LIBRARY_SUFFIX}
109 PATHS /usr
110 PATH_SUFFIXES lib64 lib )
111#find_path( LIBXML2_LIBRARY libxml2.so )
112if ( LIBXML2_LIBRARY MATCHES "NOTFOUND$" )
113 message( FATAL_ERROR "libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} could not be found. Please check!" )
114endif()
115message( STATUS "LIBXML2_LIBRARY = " ${LIBXML2_LIBRARY} )
116set( ASDM_INCLUDE_DIR ${CASA_CODE_PATH}/alma/implement/ASDM
117 ${CASA_CODE_PATH}/alma/implement/Enumerations
118 ${CASA_CODE_PATH}/alma/implement/ASDMBinaries
119 ${CASA_CODE_PATH}/alma/implement/Enumtcl
120 ${LIBXML2_INCLUDE_DIR} )
121set( ASDM_LIBRARY ${casaroot}/${arch}/lib/libalma${CMAKE_SHARED_LIBRARY_SUFFIX}
122 ${LIBXML2_LIBRARY}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} )
123add_definitions( -DWITHOUT_ACS )
124
125#
126# subdirectories
127# ASAP2TO3 asap2to3 apps
128# PYRAPLIB libpyrap.so external/libpyrap
129# ATNFLIB libatnf.so external-alma/atnf
130# ASAPLIB _asap.so src
131# python modules python
132# shared files share
133#
134macro( asap_add_subdirectory )
135 add_subdirectory( apps )
136 add_subdirectory( external/libpyrap )
137 add_subdirectory( external-alma/atnf )
138 add_subdirectory( src )
139 add_subdirectory( python )
140 add_subdirectory( share )
141 add_subdirectory( external-alma/asdm2ASAP )
142endmacro( asap_add_subdirectory )
143
Note: See TracBrowser for help on using the repository browser.