Back to home page

EIC code displayed by LXR

 
 

    


Warning, /jana2/cmake/MakeJanaThis.cmake is written in an unsupported language. File is not indexed.

0001 #
0002 # This is used in the generation of the files:
0003 #   jana-config
0004 #   jana-this.sh
0005 #   jana-this.csh
0006 #
0007 # The primary role of this file is to set cmake variables based on the
0008 # output of running various 3rd party tools meant to help with your
0009 # build system. For example, it runs root-config --cflags and puts the
0010 # results in the ROOTCFLAGS cmake variable. That variable is then used
0011 # in generating the jana-config script so that it can report those flags
0012 # for use when building against this version of JANA.
0013 #
0014 # In addition, some variables such as JANA2_HAVE_ROOT are set which can be used
0015 # in preprocessor directives to conditionally compile code depending on
0016 # whether the 3rd party package is present.
0017 #
0018 
0019 set(JANA_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
0020 
0021 execute_process(COMMAND SBMS/osrelease.pl
0022         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0023         OUTPUT_VARIABLE BMS_OSNAME
0024         OUTPUT_STRIP_TRAILING_WHITESPACE)
0025 
0026 # ROOT
0027 if(${USE_ROOT})
0028     if(DEFINED ENV{ROOTSYS})
0029         set(JANA2_HAVE_ROOT 1)
0030         set(ROOTSYS $ENV{ROOTSYS})
0031 
0032         execute_process(COMMAND $ENV{ROOTSYS}/bin/root-config --cflags
0033                         OUTPUT_VARIABLE ROOTCFLAGS
0034                         OUTPUT_STRIP_TRAILING_WHITESPACE)
0035 
0036         execute_process(COMMAND $ENV{ROOTSYS}/bin/root-config --glibs
0037                         OUTPUT_VARIABLE ROOTGLIBS
0038                         OUTPUT_STRIP_TRAILING_WHITESPACE)
0039     else()
0040 #    message(STATUS "Did not find ROOT")
0041         set(JANA2_HAVE_ROOT 0)
0042     endif()
0043 else()
0044     set(JANA2_HAVE_ROOT 0)
0045 endif()
0046 
0047 # XERCESC
0048 # n.b. this is hard-coded for now to assume XERCES 3
0049 if(${USE_XERCES})
0050     if(DEFINED ENV{XERCESCROOT})
0051         set(JANA2_HAVE_XERCES 1)
0052         set(XERCESCROOT $ENV{XERCESCROOT})
0053         set(XERCES_CPPFLAGS "-I${XERCESCROOT}/include/xercesc")
0054         set(XERCES_LIBS "-lxerces-c")
0055         if( NOT $XERCESCROOT EQUAL "/usr" )
0056             set(XERCES_CPPFLAGS "${XERCES_CPPFLAGS} -I${XERCESCROOT}/include")
0057             set(XERCES_LDFLAGS "-L${XERCESCROOT}/lib")
0058         endif()
0059     else()
0060         find_package(XercesC)
0061         if(XercesC_FOUND)
0062             set(JANA2_HAVE_XERCES 1)
0063             get_filename_component(XERCESCROOT "${XercesC_INCLUDE_DIRS}" DIRECTORY)
0064             set(XERCES_CPPFLAGS "-I${XercesC_INCLUDE_DIRS} -I${XercesC_INCLUDE_DIRS}/xercesc")
0065             set(XERCES_LIBS "${XercesC_LIBRARIES}")
0066         else()
0067             set(JANA2_HAVE_XERCES 0)
0068         endif()
0069     endif()
0070 else()
0071     set(JANA2_HAVE_XERCES 0)
0072 endif()
0073 
0074 # cMsg
0075 # n.b. I don't believe this will be needed in JANA2
0076 #if(DEFINED ENV{CMSGROOT})
0077 #    set(HAVE_CMSG 1)
0078 #    set(CMSG_CPPFLAGS "-I${CMSGROOT}/include")
0079 #    set(CMSG_LDFLAGS "-L${CMSGROOT}/lib")
0080 #    set(CMSG_LIBS "-lcmsg -lcmsgxx -lcmsgRegex")
0081 #else()
0082 #    set(HAVE_CMSG 0)
0083 #endif()
0084 
0085 
0086 # CCDB
0087 if(DEFINED ENV{CCDB_HOME})
0088     set(HAVE_CCDB 1)
0089     set(CCDB_HOME $ENV{CCDB_HOME})
0090     set(CCDB_CPPFLAGS "-I${CCDB_HOME}/include")
0091     set(CCDB_LDFLAGS "-L${CCDB_HOME}/lib")
0092     set(CCDB_LIBS "-lccdb")
0093 else()
0094     set(HAVE_CCDB 0)
0095 endif()
0096 
0097 # MySQL
0098 # TODO: Strange that MySQL does not provide a FindMySQL.cmake. There seem to  be plenty out there though and we should maybe adopt one to replace the following
0099 execute_process(COMMAND which mysql_config
0100                 OUTPUT_VARIABLE MYSQL_FOUND
0101                 OUTPUT_STRIP_TRAILING_WHITESPACE)
0102 if(MYSQL_FOUND)
0103     set(HAVE_MYSQL 1)
0104     set(JANA2_MYSQL_CONFIG ${MYSQL_FOUND})
0105     execute_process(COMMAND mysql_config --cflags
0106             OUTPUT_VARIABLE MYSQL_CFLAGS
0107             OUTPUT_STRIP_TRAILING_WHITESPACE)
0108 
0109     execute_process(COMMAND mysql_config --libs
0110             OUTPUT_VARIABLE MYSQL_LDFLAGS
0111             OUTPUT_STRIP_TRAILING_WHITESPACE)
0112 
0113     execute_process(COMMAND mysql_config --version
0114             OUTPUT_VARIABLE MYSQL_VERSION
0115             OUTPUT_STRIP_TRAILING_WHITESPACE)
0116 
0117     execute_process(COMMAND mysql_config --variable=pkglibdir
0118             OUTPUT_VARIABLE MYSQL_PKGLIBDIR
0119             OUTPUT_STRIP_TRAILING_WHITESPACE)
0120 else()
0121     set(HAVE_MYSQL 0)
0122 endif()
0123 
0124 # CURL
0125 execute_process(COMMAND "which curl-config 2> /dev/null"
0126         OUTPUT_VARIABLE CURL_FOUND
0127         OUTPUT_STRIP_TRAILING_WHITESPACE)
0128 
0129 if(CURL_FOUND)
0130     set(HAVE_CURL 1)
0131     set(JANA2_CURL_CONFIG ${CURL_FOUND})
0132     execute_process(COMMAND curl-config --cflags
0133             OUTPUT_VARIABLE CURL_CFLAGS
0134             OUTPUT_STRIP_TRAILING_WHITESPACE)
0135 
0136     execute_process(COMMAND curl-config --libs
0137             OUTPUT_VARIABLE CURL_LDFLAGS
0138             OUTPUT_STRIP_TRAILING_WHITESPACE)
0139 
0140     execute_process(COMMAND curl-config --prefix
0141             OUTPUT_VARIABLE CURL_ROOT
0142             OUTPUT_STRIP_TRAILING_WHITESPACE)
0143 else()
0144     set(HAVE_CURL 0)
0145 endif()
0146 
0147 configure_file(scripts/jana-config.in jana-config @ONLY)
0148 configure_file(scripts/jana-this.sh.in  jana-this.sh  @ONLY)
0149 configure_file(scripts/jana-this.csh.in jana-this.csh  @ONLY)
0150 
0151 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jana-config DESTINATION bin)
0152 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jana-this.sh  DESTINATION bin)
0153 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jana-this.csh  DESTINATION bin)