source: trunk/cmake/withcasa.cmake @ 3055

Last change on this file since 3055 was 3055, checked in by Takeshi Nakazato, 9 years ago

New Development: No

JIRA Issue: Yes CAS-7917

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed: No

Test Programs: test_importasdm, test_importasdm_mms, alma-m100-analysis-regression, alma-m100-sd-regression

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...


The cmake setting for asap is changed to ignore building asdm2ASAP. Additional dependency on libxml2 and libalma, which is required for asdm2ASAP, is also removed.

File size: 8.4 KB
Line 
1###
2# CMakeLists.txt for build with casa
3###
4
5
6# environment dependent settings
7if( APPLE )
8   if ( CMAKE_SYSTEM MATCHES ^Darwin-1[0-4] )
9      message( STATUS "This is OS X" )
10      if ( CMAKE_SYSTEM MATCHES ^Darwin-1[34] )
11         set( arch darwin )
12      endif()
13      if ( NOT arch )
14         set( arch darwin64 )
15      endif()
16      if( NOT archflag )
17         if( EXISTS /opt/casa/01 )
18            set( archflag x86_64 )
19         elseif( EXISTS /opt/casa/darwin12 )
20            set( archflag x86_64 )
21         elseif( EXISTS /opt/casa/darwin11 )
22            set( archflag x86_64 )
23         elseif( EXISTS /opt/casa/darwin10-64b )
24            set( archflag x86_64 )
25         elseif( EXISTS /opt/casa/core2-apple-darwin10 )
26            set( archflag i386 )
27         elseif( EXISTS /opt/casa/01 )
28            set( archflag x86_64 )
29         else()
30            set( archflag x86_64 )
31         endif()
32      endif()
33      if( archflag STREQUAL x86_64 )
34         if( CMAKE_SYSTEM MATCHES ^Darwin-1[2-4] )
35             if ( EXISTS /opt/casa/01 )
36                 set( casa_packages /opt/casa/01 )
37             else()
38                 set( casa_packages /opt/local )
39             endif()
40         elseif( CMAKE_SYSTEM MATCHES ^Darwin-11 )
41             if ( EXISTS /opt/casa/01 )
42                 set( casa_packages /opt/casa/01 )
43             else()
44                 set( casa_packages /opt/casa/darwin11 )
45             endif()
46         else()
47             set( casa_packages /opt/casa/darwin10-64b )
48         endif()
49      else()
50         set( casa_packages /opt/casa/core2-apple-darwin10 )
51      endif()
52   elseif( CMAKE_SYSTEM MATCHES ^Darwin-9 )
53      if ( NOT arch )
54         set( arch darwin )
55      endif()
56      set( casa_packages /opt/casa/core2-apple-darwin8/3rd-party )
57   endif()         
58elseif( CMAKE_SYSTEM_NAME STREQUAL Linux )
59   if( CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 )
60      if ( EXISTS /usr/lib64/casa/01 )
61         set( casa_packages /usr/lib64/casa/01 )
62      else( )
63          set( casa_packages /usr/lib64/casapy )
64      endif( )
65      if( NOT arch )
66         set( arch linux_64b )
67      endif()
68   else()
69      set( casa_packages /usr/lib/casapy )
70      if( NOT arch )
71         set( arch linux_gnu )
72      endif()
73   endif()
74endif()
75message( STATUS "arch = " ${arch} )
76message( STATUS "casa_packages = " ${casa_packages} )
77
78# install directory
79#
80# The layout of the source+install directory trees
81# is rather hard-coded in much source code. However,
82# with care CASA can be built and installed elsewhere...
83#
84IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
85    # the regular expression means '../'
86    #  [^ ] Matches any character(s) not inside the brackets
87    #  +    Matches preceding pattern one or more times
88    #  ?    Matches preceding pattern zero or once only
89    #  $    Mathces at end of a line
90    string( REGEX REPLACE /[^/]+/?$ "" casaroot ${CMAKE_SOURCE_DIR} )
91    set( CMAKE_INSTALL_PREFIX ${casaroot}/${arch} CACHE PATH "casa architecture directory" FORCE )
92ELSE()
93    set( casaroot ${CMAKE_INSTALL_PREFIX}/.. CACHE PATH "casa architecture directory" FORCE )
94ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
95
96message( STATUS "casaroot = " ${casaroot} )
97
98# modules
99IF ( NOT DEFINED CASA_CODE_PATH )
100    IF ( EXISTS ${casaroot}/code/install )
101        set( CASA_CODE_PATH ${casaroot}/code )
102    ELSE()
103        set( CASA_CODE_PATH ${CMAKE_SOURCE_DIR}/../code )
104    ENDIF()
105ENDIF()
106message( STATUS "CASA_CODE_PATH = " ${CASA_CODE_PATH} )
107set( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CASA_CODE_PATH}/install" )
108message( STATUS "CMAKE_MODULE_PATH = " ${CMAKE_MODULE_PATH} )
109
110include( config )
111include( CASA )
112
113#
114# casacore
115#
116set( CASACORE_PATHS "${casaroot}/${arch};${casaroot};/usr/local;/usr" )
117
118SET(NO_SOVERSION FALSE CACHE BOOL "do not add version information to shared libraries")
119if( NOT NO_SOVERSION )
120    set( epochdelta 1385403204 )
121    if ( EXISTS ${CMAKE_INSTALL_PREFIX}/${arch}/casa_sover.txt )
122        execute_process( COMMAND perl -e "while (<>) { chomp and print if (! m/^\#/ ) }" ${CMAKE_INSTALL_PREFIX}/${arch}/casa_sover.txt
123                         OUTPUT_VARIABLE __asap_soversion )
124    elseif( EXISTS ${CMAKE_INSTALL_PREFIX}/casa_sover.txt )
125        execute_process( COMMAND perl -e "while (<>) { chomp and print if (! m/^#/ ) }" ${CMAKE_INSTALL_PREFIX}/casa_sover.txt
126                         OUTPUT_VARIABLE __asap_soversion )
127    else( )
128        execute_process( COMMAND perl -e "$t=time( )-${epochdelta};$z=$t & 0xff; $y=($t>>8)&0xff; $x=($t>>16)&0xffff; print \"$x.$y.$z\""
129                         OUTPUT_VARIABLE __asap_soversion )
130    endif( )
131    set(asap_soversion ${__asap_soversion} CACHE STRING "version for shared objects")
132    message( STATUS "Shared object version number ${asap_soversion}" )
133else( )
134    message( STATUS "User disabled shared library versioning" )
135endif( )
136
137#
138# Boost
139#
140if( NOT BOOST_ROOT )
141   set( BOOST_ROOT ${casa_packages} )
142endif()
143
144
145#
146# wcslib
147#
148set( WCSLIB_PATHS "${casaroot}/${arch};/usr/local;/usr" )
149
150
151#
152# CASA (only alma/ASDM)
153#
154#find_path( LIBXML2_INCLUDE_DIR libxml/xmlversion.h
155#          HINTS ${LIBXML2_ROOT_DIR}/include
156#           PATH_SUFFIXES libxml2 )
157#if( LIBXML2_INCLUDE_DIR MATCHES "NOTFOUND$" )
158#   message( FATAL_ERROR "libxml/xmlversion.h could not be found. Please check!" )
159#endif()
160#message( STATUS "LIBXML2_INCLUDE_DIR = " ${LIBXML2_INCLUDE_DIR} )
161#find_path( LIBXML2_LIBRARY libxml2${CMAKE_SHARED_LIBRARY_SUFFIX}
162#          HINTS ${LIBXML2_ROOT_DIR}
163#           PATHS /usr
164#           PATH_SUFFIXES lib64 lib lib/x86_64-linux-gnu)
165#find_path( LIBXML2_LIBRARY libxml2.so )
166#if ( LIBXML2_LIBRARY MATCHES "NOTFOUND$" )
167#   message( FATAL_ERROR "libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} could not be found. Please check!" )
168#endif()
169#message( STATUS "LIBXML2_LIBRARY = " ${LIBXML2_LIBRARY} )
170
171#set( ASDM_INCLUDE_ROOT ${CASA_CODE_PATH} )
172#if ( EXISTS ${CASA_CODE_PATH}/include/alma )
173#   set( ASDM_INCLUDE_ROOT ${CASA_CODE_PATH}/include )
174#endif()
175#set( ASDM_INCLUDE_DIR_OLD ${ASDM_INCLUDE_ROOT}/alma/ASDM
176#                          ${ASDM_INCLUDE_ROOT}/alma/Enumerations
177#                          ${ASDM_INCLUDE_ROOT}/alma/ASDMBinaries
178#                          ${ASDM_INCLUDE_ROOT}/alma/Enumtcl
179#                          ${LIBXML2_INCLUDE_DIR} )
180#set( ASDM_LIBRARY_OLD ${casaroot}/${arch}/lib/libalma${CMAKE_SHARED_LIBRARY_SUFFIX}
181#                      ${LIBXML2_LIBRARY}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} )
182#set( ASDM_INCLUDE_DIR ${ASDM_INCLUDE_ROOT}/alma_v3/ASDM
183#                      ${ASDM_INCLUDE_ROOT}/alma_v3/Enumerations
184#                      ${ASDM_INCLUDE_ROOT}/alma_v3/ASDMBinaries
185#                      ${ASDM_INCLUDE_ROOT}/alma_v3/Enumtcl
186#                      ${LIBXML2_INCLUDE_DIR} )
187#set( ASDM_LIBRARY ${casaroot}/${arch}/lib/libalma_v3${CMAKE_SHARED_LIBRARY_SUFFIX}
188#                  ${LIBXML2_LIBRARY}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} )
189#set( ASDM_INCLUDE_DIR ${ASDM_INCLUDE_ROOT}/alma/ASDM
190#                      ${ASDM_INCLUDE_ROOT}/alma/Enumerations
191#                      ${ASDM_INCLUDE_ROOT}/alma/ASDMBinaries
192#                      ${ASDM_INCLUDE_ROOT}/alma/Enumtcl
193#                      ${LIBXML2_INCLUDE_DIR} )
194#if ( NOT ALMA_LIB_PATH )
195#   set( ASDM_LIBRARY ${casaroot}/${arch}/lib/libalma${CMAKE_SHARED_LIBRARY_SUFFIX}
196#                     ${LIBXML2_LIBRARY}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} )
197#else( )
198#   set( ASDM_LIBRARY ${ALMA_LIB_PATH}
199#                     ${LIBXML2_LIBRARY}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX} )
200#endif( )
201#message( STATUS "ASDM_LIBRARY = " ${ASDM_LIBRARY} )
202#add_definitions( -DWITHOUT_ACS )
203
204#set( COMPONENTS_INCLUDE_ROOT ${CASA_CODE_PATH} )
205#if ( EXISTS ${CASA_CODE_PATH}/include/components )
206#   set( COMPONENTS_INCLUDE_ROOT ${CASA_CODE_PATH}/include )
207#endif()
208#set( COMPONENTS_INCLUDE_DIR ${COMPONENTS_INCLUDE_ROOT}/components/SpectralComponents )
209#if ( NOT COMPONENTS_LIB_PATH )
210#   set( COMPONENTS_LIBRARY ${casaroot}/${arch}/lib/libcomponents${CMAKE_SHARED_LIBRARY_SUFFIX} )
211#else( )
212#   set( COMPONENTS_LIBRARY ${COMPONENTS_LIB_PATH} )
213#endif( )
214
215#
216# subdirectories
217#  ASAP2TO3 asap2to3       apps
218#  PYRAPLIB libpyrap.so    external/libpyrap
219#  ATNFLIB  libatnf.so     external-alma/atnf
220#  ASAPLIB  _asap.so       src
221#  python modules          python
222#  shared files            share
223#
224macro( asap_add_subdirectory )
225   add_subdirectory( apps )
226#   add_subdirectory( external/libpyrap )
227   add_subdirectory( external-alma/atnf )
228   add_subdirectory( src )
229   add_subdirectory( python )
230   add_subdirectory( share )
231#   add_subdirectory( external-alma/asdm2ASAP )
232#   add_subdirectory( external-alma/oldasdm2ASAP )
233endmacro( asap_add_subdirectory )
234
Note: See TracBrowser for help on using the repository browser.