source: trunk/cmake/withcasa.cmake @ 2236

Last change on this file since 2236 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.