1 #--------------------------------------------------------------------------------#
3 # Author : Johny Jose (johny.jose@cern.ch) #
4 # Variables Defined : #
6 # SRCS - C++ source files #
7 # HDRS - C++ header files #
8 # DHDR - ROOT Dictionary Linkdef header file #
9 # CSRCS - C source files #
10 # CHDRS - C header files #
11 # EINCLUDE - Include directories #
12 # EDEFINE - Compiler definitions #
13 # ELIBS - Extra libraries to link #
14 # ELIBSDIR - Extra library directories #
15 # PACKFFLAGS - Fortran compiler flags for package #
16 # PACKCXXFLAGS - C++ compiler flags for package #
17 # PACKCFLAGS - C compiler flags for package #
18 # PACKSOFLAGS - Shared library linking flags #
19 # PACKLDFLAGS - Module linker flags #
20 # PACKBLIBS - Libraries to link (Executables only) #
21 # EXPORT - Header files to be exported #
22 # CINTHDRS - Dictionary header files #
23 # CINTAUTOLINK - Set automatic dictionary generation #
24 # ARLIBS - Archive Libraries and objects for linking (Executables only) #
25 # SHLIBS - Shared Libraries and objects for linking (Executables only) #
26 #--------------------------------------------------------------------------------#
28 execute_process (COMMAND sw_vers | sed -n 's/ProductVersion://p' | cut -d. -f1
29 OUTPUT_VARIABLE MACOSX_MAJOR
30 OUTPUT_STRIP_TRAILING_WHITESPACE )
31 execute_process (COMMAND sw_vers | sed -n 's/ProductVersion://p' | cut -d. -f2
32 OUTPUT_VARIABLE MACOSX_MINOR
33 OUTPUT_STRIP_TRAILING_WHITESPACE )
35 set(FINK_ROOT $ENV{FINK_ROOT})
38 set ( FINK_ROOT /usr/local)
40 endif( NOT FINK_ROOT )
46 set ( CXXNOOPT ${NOOPT})
49 if( F77 MATCHES "g95")
51 set ( FOPT "${FOPT} -fbounds-check")
53 endif( F77 MATCHES "g95")
55 set ( CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
58 set ( CLIBFOPT ${CLIBDEFS})
60 set ( CXXWARN "-Wall -Wno-long-long -W -Weffc++ -Wshadow -Woverloaded-virtual -ansi")
62 set ( CXXSTF "-pipe -fbounds-check -fsigned-char -fno-common -fmessage-length=0 -fno-default-inline -fno-inline -I/usr/X11R6/include -I${FINK_ROOT}/include")
64 set ( CXXFLAGS "${CXXOPT} ${CXXSTF}")
66 set ( CXXFLAGSNO "${CXXNOOPT} ${CXXSTF}")
68 set ( CFLAGS "${COPT} -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
72 set ( FFLAGS "${FFLAGS} -ftrace=full")
73 set ( FFLAGS "${FFLAGS} -DFORTRAN_G95")
77 set ( FFLAGS "${FFLAGS} -DFORTRAN_GFORTRAN")
79 endif(F77 MATCHES "g95")
83 set ( LDFLAGS "${OPT} ${DICTLOAD}")
85 set ( SOFLAGS "-m64 -dynamiclib -undefined dynamic_lookup -single_module")
89 set ( SYSLIBS "-L/usr/X11R6/lib -lX11")
92 set ( EXEFLAGS "-bind_at_load")
94 if( F77 MATCHES "g95")
96 execute_process(COMMAND ${CMAKE_Fortran_COMPILER} --print-search-dirs
97 OUTPUT_VARIABLE SYSLIBS
98 OUTPUT_STRIP_TRAILING_WHITESPACE)
99 string(REGEX MATCH "^.*install:[^\n]*" SYSLIBS ${SYSLIBS})
100 string(REGEX REPLACE "^.*install: " "" SYSLIBS ${SYSLIBS})
101 set(SYSLIBS "-L${SHLIB} -lf95")
102 set(DYLIB ${SYSLIBS})
106 execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -print-file-name=libgfortran.dylib
107 OUTPUT_VARIABLE _shlib
108 OUTPUT_STRIP_TRAILING_WHITESPACE)
109 execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -print-file-name=libgfortranbegin.a
110 OUTPUT_VARIABLE _alib
111 OUTPUT_STRIP_TRAILING_WHITESPACE)
112 set( SYSLIBS "${SYSLIBS} -ldl ${_shlib} ${_alib}")
114 endif(F77 MATCHES "g95")