1 # derived from http://cmake.org/Wiki/CmakeBlueGene
3 # the name of the target operating system
4 set(CMAKE_SYSTEM_NAME BlueGeneL CACHE STRING "Cross-compiling for BlueGene/L")
6 # adjust to suit your machine's versions
7 # /bgl/BlueLight/V1R3M2_140_2007-070424/ppc/bglsys
8 set(BLRTS_PATH /bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys CACHE STRING "Path to the BlueGene/L system libraries and includes")
11 set(CMAKE_C_COMPILER /opt/ibmcmp/vac/bg/8.0/bin/blrts_xlc)
12 set(CMAKE_C_FLAGS "-O3 -qbgl -qarch=auto -qtune=auto -qnoautoconfig -qfloat=norngchk -qhot")
13 set(CMAKE_EXE_LINKER_FLAGS "-L${BLRTS_PATH}/lib")
14 set(CMAKE_CXX_COMPILER /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC)
16 set(MPI_LIBRARY mpich.rts CACHE STRING "MPI library for BlueGene" FORCE)
17 set(MPI_EXTRA_LIBRARY msglayer.rts devices.rts rts.rts devices.rts CACHE STRING "Extra MPI libraries for BlueGene" FORCE)
18 set(MPI_INCLUDE_PATH ${BLRTS_PATH}/include CACHE STRING "MPI include path for BlueGene" FORCE)
20 # This adds directories that find commands should specifically ignore for cross compiles.
21 # Most of these directories are the includeand lib directories for the frontend on BG/P systems.
22 # Not ignoring these can cause things like FindX11 to find a frontend PPC version mistakenly.
23 # We use this on BG instead of re-rooting because backend libraries are typically strewn about
24 # the filesystem, and we can't re-root ALL backend libraries to a single place.
26 set(CMAKE_SYSTEM_IGNORE_PATH
28 /usr/lib /usr/lib64 /usr/include
29 /usr/local/lib /usr/local/lib64 /usr/local/include
30 /usr/X11/lib /usr/X11/lib64 /usr/X11/include
31 /usr/lib/X11 /usr/lib64/X11 /usr/include/X11
32 /usr/X11R6/lib /usr/X11R6/lib64 /usr/X11R6/include
33 /usr/X11R7/lib /usr/X11R7/lib64 /usr/X11R7/include
36 # set the search path for the environment coming with the compiler
37 # and a directory where you can install your own compiled software
38 set(CMAKE_FIND_ROOT_PATH
39 /bgl/BlueLight/ppcfloor/
44 # adjust the default behaviour of the FIND_XXX() commands:
45 # search headers and libraries in the target environment, search
46 # programs in the host environment
47 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
48 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
49 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
51 set(GMX_ACCELERATION "BlueGene" CACHE STRING "Forcing BlueGene acceleration when using BlueGene toolchain")