Merge remote-tracking branch 'gerrit/release-4-5-patches' into release-4-6
authorRoland Schulz <roland@utk.edu>
Wed, 8 Feb 2012 00:14:57 +0000 (19:14 -0500)
committerRoland Schulz <roland@utk.edu>
Wed, 8 Feb 2012 00:16:10 +0000 (19:16 -0500)
Change-Id: I13898484048384500e946fc4dddaaca3281a8819

1  2 
CMakeLists.txt
src/gmxlib/CMakeLists.txt

diff --combined CMakeLists.txt
index 6872b533d03d9f336861673816275b5542c388b6,9b44637218a2ff691dbdb0f4101cbe2d2d4a9432..623a325dab8bbb691eccd1c902ae3935dfd38479
@@@ -1,4 -1,4 +1,4 @@@
 -cmake_minimum_required(VERSION 2.6)
 +cmake_minimum_required(VERSION 2.8)
  
  project(Gromacs)
  include(Dart)
@@@ -12,7 -12,7 +12,7 @@@ mark_as_advanced(DART_ROOT
  # machine with no git. 
  #
  # NOTE: when releasing the "-dev" suffix needs to be stripped off!
 -set(PROJECT_VERSION "4.5.5-dev")
 +set(PROJECT_VERSION "4.6-dev")
  set(CUSTOM_VERSION_STRING ""
      CACHE STRING "Custom version string (if empty, use hard-coded default)")
  mark_as_advanced(CUSTOM_VERSION_STRING)
@@@ -22,8 -22,8 +22,8 @@@ endif (CUSTOM_VERSION_STRING
  set(SOVERSION 6)
  # It is a bit irritating, but this has to be set separately for now!
  SET(CPACK_PACKAGE_VERSION_MAJOR "4")
 -SET(CPACK_PACKAGE_VERSION_MINOR "5")
 -SET(CPACK_PACKAGE_VERSION_PATCH "5")
 +SET(CPACK_PACKAGE_VERSION_MINOR "6")
 +#SET(CPACK_PACKAGE_VERSION_PATCH "0")
  
  
  # Cmake modules/macros are in a subdirectory to keep this file cleaner
@@@ -70,16 -70,24 +70,24 @@@ if(CMAKE_HOST_UNIX
  endif()
  
  ########################################################################
- # Fix stupid flags on MSVC
+ # Fix stupid flags on Windows
  ########################################################################
  SET(SHARED_LIBS_DEFAULT ON) 
- IF(CMAKE_GENERATOR MATCHES "Visual Studio")
+ IF( (CMAKE_GENERATOR MATCHES "Visual Studio" OR CMAKE_GENERATOR MATCHES "NMake") AND MSVC )
      STRING(REPLACE /MD /MT CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
      SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE)
      STRING(REPLACE /MD /MT CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
      SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "" FORCE) 
      SET(SHARED_LIBS_DEFAULT OFF)      
- ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio")
+ ENDIF()
+ IF(CMAKE_GENERATOR MATCHES "NMake" AND CMAKE_C_COMPILER_ID MATCHES "Intel")
+     STRING(REPLACE /GZ /RTC1 CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
+     SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE)
+     STRING(REPLACE /GZ /RTC1 CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
+     SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "" FORCE) 
+     SET(SHARED_LIBS_DEFAULT OFF)      
+ ENDIF()
  
  set(GMX_EXTRA_LIBRARIES)
  
@@@ -124,8 -132,8 +132,8 @@@ mark_as_advanced(GMX_BROKEN_CALLOC
  option(BUILD_SHARED_LIBS "Enable shared libraries (can be problematic with MPI, Windows)" ${SHARED_LIBS_DEFAULT})
  option(GMX_MPI_IN_PLACE "Enable MPI_IN_PLACE for MPIs that have it defined" ON)
  mark_as_advanced(GMX_MPI_IN_PLACE)
 -option(GMX_DLOPEN "Compile with dlopen, needed to read VMD supported file formats" ON)
 -mark_as_advanced(GMX_DLOPEN)
 +option(GMX_LOAD_PLUGINS "Compile with plugin support, needed to read VMD supported file formats" ON)
 +mark_as_advanced(GMX_LOAD_PLUGINS)
  
  
  option(GMX_IA32_ASM "Add SSE assembly files for IA32" OFF)
@@@ -133,8 -141,6 +141,8 @@@ mark_as_advanced(GMX_IA32_ASM
  option(GMX_X86_64_ASM "Add SSE assembly files for X86_64" OFF)
  mark_as_advanced(GMX_X86_64_ASM)
  
 +option(GMX_OPENMP "Enable OpenMP-based mutithreading. " ON)
 +
  option(USE_VERSION_H "Generate development version string/information" ON)
  mark_as_advanced(USE_VERSION_H)
  
@@@ -167,18 -173,13 +175,18 @@@ if (GMX_DEFAULT_SUFFIX
      set (GMX_LIBS_SUFFIX "_gpu")
    endif(GMX_OPENMM)
    mark_as_advanced(FORCE GMX_BINARY_SUFFIX GMX_LIBS_SUFFIX)
 -  message(STATUS "Using default binary suffix: \"${GMX_BINARY_SUFFIX}\"")    
 -  message(STATUS "Using default library suffix: \"${GMX_LIBS_SUFFIX}\"") 
 +  if (NOT SUFFIX_QUIETLY)
 +    message(STATUS "Using default binary suffix: \"${GMX_BINARY_SUFFIX}\"")
 +    message(STATUS "Using default library suffix: \"${GMX_LIBS_SUFFIX}\"")
 +  endif (NOT SUFFIX_QUIETLY)
  else(GMX_DEFAULT_SUFFIX)
    mark_as_advanced(CLEAR GMX_BINARY_SUFFIX GMX_LIBS_SUFFIX)
 -  message(STATUS "Using manually set binary suffix: \"${GMX_BINARY_SUFFIX}\"")    
 -  message(STATUS "Using manually set library suffix: \"${GMX_LIBS_SUFFIX}\"")
 +  if (NOT SUFFIX_QUIETLY)
 +    message(STATUS "Using manually set binary suffix: \"${GMX_BINARY_SUFFIX}\"")
 +    message(STATUS "Using manually set library suffix: \"${GMX_LIBS_SUFFIX}\"")
 +  endif (NOT SUFFIX_QUIETLY)
  endif(GMX_DEFAULT_SUFFIX)
 +set(SUFFIX_QUIETLY TRUE CACHE INTERNAL "")
  
  set(PKG_CFLAGS "")
  if(GMX_DOUBLE)
@@@ -194,7 -195,65 +202,7 @@@ endif(GMX_POWERPC_INVSQRT
  ########################################################################
  #Process MPI settings
  ########################################################################
 -include(CheckCSourceCompiles) # for gmxTestMPI_IN_PLACE
 -if(GMX_MPI)
 -    if(GMX_THREADS)
 -        #message(FATAL_ERROR "Thread-based parallelization conflicts with MPI.")
 -        set(GMX_THREADS OFF CACHE BOOL 
 -            "Thread-based parallelization conflicts with MPI." FORCE)
 -    endif(GMX_THREADS)
 -    find_package(MPI)
 -    if(MPI_FOUND)
 -        set(GROMACS_C_FLAGS ${GROMACS_FLAGS} ${MPI_COMPILE_FLAGS})
 -      set(GROMACS_LINKER_FLAGS ${GROMACS_LINKER_FLAGS} ${MPI_LINK_FLAGS})
 -        
 -        include_directories(${MPI_INCLUDE_PATH})
 -        list(APPEND GMX_EXTRA_LIBRARIES ${MPI_LIBRARIES})
 -        if(GMX_FAHCORE)
 -            add_definitions( -DMPI ) #for FAHCORE
 -        endif(GMX_FAHCORE)
 -        include(gmxTestMPI_IN_PLACE)
 -        if (GMX_MPI_IN_PLACE)
 -            gmx_test_mpi_in_place(MPI_IN_PLACE_EXISTS)
 -        endif (GMX_MPI_IN_PLACE)
 -
 -      # test for unsuitable versions of OpenMPI
 -      exec_program(${MPIEXEC}
 -        ARGS --version
 -        OUTPUT_VARIABLE MPI_TYPE
 -        RETURN_VALUE MPI_EXEC_RETURN)
 -      if(MPI_EXEC_RETURN EQUAL 0)
 -        if(MPI_TYPE MATCHES "Open MPI|OpenRTE")
 -          string(REGEX MATCH "[0-9]+\\.[0-9]*\\.?[0-9]*" MPI_VERSION ${MPI_TYPE})
 -          if(MPI_VERSION VERSION_LESS "1.4.1")
 -            MESSAGE(WARNING "
 -            There are known problems with OpenMPI version < 1.4.1.
 -            Please consider updating your OpenMPI.")
 -          endif(MPI_VERSION VERSION_LESS "1.4.1")
 -          unset(MPI_VERSION)
 -        else(MPI_TYPE MATCHES "Open MPI|OpenRTE")
 -          # This is not OpenMPI, so give the old generic warning message
 -          MESSAGE(WARNING "
 -            There are known problems with some MPI implementations:
 -                     MVAPICH2 version <= 1.4.1
 -            Please consider updating your MPI if applicable.")
 -        endif(MPI_TYPE MATCHES "Open MPI|OpenRTE")
 -        unset(MPI_TYPE)
 -      endif(MPI_EXEC_RETURN EQUAL 0)
 -    else(MPI_FOUND)
 -        message(FATAL_ERROR "MPI support requested, but no MPI compiler found.")
 -    endif(MPI_FOUND)
 -    include(gmxTestCatamount)
 -    gmx_test_catamount(GMX_CRAY_XT3)
 -    if(GMX_CRAY_XT3)
 -        set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_CRAY_XT3")
 -        set(GMX_NO_SYSTEM 1)
 -        set(GMX_NO_NICE 1)
 -    endif(GMX_CRAY_XT3)
 -    set(GMX_LIB_MPI 1)
 -    set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_LIB_MPI")
 -endif(GMX_MPI)
 -
 +include(gmxManageMPI)
  
  #######################################################################
  # Check for options incompatible with OpenMM build                    #
@@@ -216,11 -275,6 +224,11 @@@ if(GMX_OPENMM
          set(GMX_THREADS OFF CACHE BOOL 
                "Threads are not compatible with OpenMM build, disabled!" FORCE)
      endif(GMX_THREADS)
 +    if(GMX_OPENMP)
 +        message(STATUS "OpenMP multithreading is not compatible with OpenMM, disabled")
 +        set(GMX_OPENMP OFF CACHE BOOL
 +            "OpenMP multithreading is not compatible with OpenMM, disabled!" FORCE)
 +    endif()
      if(GMX_SOFTWARE_INVSQRT)
          set(GMX_SOFTWARE_INVSQRT OFF CACHE STRING 
                  "The OpenMM build does not need GROMACS software 1/sqrt!" FORCE)
@@@ -413,13 -467,6 +421,13 @@@ if(GMX_OPENMM
      find_package(OpenMM) 
  endif(GMX_OPENMM)
  
 +if(GMX_OPENMP)
 +    find_package(OpenMP REQUIRED)
 +    list(APPEND GROMACS_C_FLAGS ${OpenMP_C_FLAGS})
 +    list(APPEND GROMACS_CXX_FLAGS ${OpenMP_CXX_FLAGS})
 +    add_definitions(-DGMX_OPENMP)
 +endif()
 +
  if(APPLE)
     find_library(ACCELERATE_FRAMEWORK Accelerate)
     list(APPEND GMX_EXTRA_LIBRARIES ${ACCELERATE_FRAMEWORK})
@@@ -433,28 -480,25 +441,28 @@@ endif(CYGWIN
  if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
      if(USE_VERSION_H)
          # We need at least git v1.5.1 be able to parse git's date output. If not 
 -        # fund or the version is too small, we can't generate version information.
 -        find_package(Git 1.5.1)
 -        # this should at some point become VERSION_LESS
 -        if(NOT Git_FOUND OR Git_VERSION STRLESS "1.5.1")
 -            message("No compatible git version found, won't be able to generate proper development version information.")
 -            set(USE_VERSION_H OFF)
 +        # found or the version is too small, we can't generate version information.
 +        find_package(Git)
 +
 +      # Find out the git version
 +      if(GIT_FOUND AND NOT GIT_VERSION)
 +        execute_process(COMMAND ${GIT_EXECUTABLE} "--version"
 +            OUTPUT_VARIABLE _exec_out
 +            OUTPUT_STRIP_TRAILING_WHITESPACE)
 +        string(REGEX REPLACE "git version (.*)" "\\1" GIT_VERSION ${_exec_out})
 +        set(GIT_VERSION ${GIT_VERSION} CACHE STRING "Git version")
 +        mark_as_advanced(GIT_VERSION)
 +      endif()
 +
 +        if(NOT GIT_FOUND OR GIT_VERSION VERSION_LESS "1.5.1")
 +          message("No compatible git version found, won't be able to generate proper development version information.")
 +          set(USE_VERSION_H OFF)
          endif()
      endif()
  else()
      set(USE_VERSION_H OFF)
  endif()
  
 -if (GMX_DLOPEN)
 -    list(APPEND GMX_EXTRA_LIBRARIES ${CMAKE_DL_LIBS})
 -    set(PKG_DL_LIBS "-l${CMAKE_DL_LIBS}")
 -else(GMX_DLOPEN)
 -    set(PKG_DL_LIBS)
 -endif (GMX_DLOPEN)
 -
  ########################################################################
  # Generate development version info for cache
  ########################################################################
@@@ -482,6 -526,7 +490,6 @@@ gmx_test_large_files(GMX_LARGEFILES
  check_function_exists(fseeko     HAVE_FSEEKO)
  
  include(gmxTestSignal)
 -gmx_test_retsigtype(RETSIGTYPE)
  gmx_test_sigusr1(HAVE_SIGUSR1)
  
  include(gmxTestInline)
@@@ -533,12 -578,12 +541,12 @@@ elseif(${GMX_ACCELERATION} STREQUAL "SS
        set(GMX_IA32_ASM ON CACHE BOOL "Add SSE assembly files for i386" FORCE)
      endif (GMX_64_BIT)
  
-     if(CMAKE_GENERATOR MATCHES "Visual Studio")
-       option(GMX_ASM_USEASM-NASM "Use Nasm for assembly instead of compiler (necessary on windows)" ON)
+     if(CMAKE_GENERATOR MATCHES "Visual Studio" OR CMAKE_GENERATOR MATCHES NMake )
+       option(GMX_ASM_USEASM_NASM "Use Nasm for assembly instead of compiler (necessary on windows)" ON)
      else()
-       option(GMX_ASM_USEASM-NASM "Use Nasm for assembly instead of compiler (necessary on windows)" OFF)
+       option(GMX_ASM_USEASM_NASM "Use Nasm for assembly instead of compiler (necessary on windows)" OFF)
      endif()
-       mark_as_advanced(GMX_ASM_USEASM-NASM)
+       mark_as_advanced(GMX_ASM_USEASM_NASM)
  
      if (NOT GMX_64_BIT)
          # for 32-bit compiles, we might need to turn on sse 
@@@ -760,70 -805,6 +768,70 @@@ endif(HAVE_MKL OR ACCELERATE_FRAMEWORK
  mark_as_advanced(GMX_EXTERNAL_LAPACK)
  mark_as_advanced(GMX_EXTERNAL_BLAS)
  
 +set(GMX_USE_PLUGINS OFF CACHE INTERNAL "Whether GROMACS will really try to compile support for VMD plugins")
 +set(GMX_VMD_PLUGIN_PATH)
 +mark_as_advanced(GMX_VMD_PLUGIN_PATH)
 +
 +if(GMX_LOAD_PLUGINS)
 +  if(CYGWIN OR NOT WIN32)
 +    # Native Windows does not have, nor need dlopen
 +    # Note that WIN32 is set with Cygwin, but Cygwin needs dlopen to use plug-ins
 +    include(gmxTestdlopen)
 +    gmx_test_dlopen(HAVE_DLOPEN)
 +  endif()
 +
 +  find_package(VMD)
 +
 +  # Test for unsuitable versions of VMD
 +
 +  if(VMD_FOUND AND NOT GMX_VMD_PLUGIN_PATH)
 +    message(STATUS "Checking for suitable VMD version")
 +    exec_program(${VMD_EXECUTABLE}
 +      ARGS --help
 +      OUTPUT_VARIABLE VMD_HELP
 +      RETURN_VALUE VMD_EXEC_RETURN)
 +
 +    if(VMD_EXEC_RETURN EQUAL 0)
 +      # This is the accepted idiom for subexpression matching, unfortunately
 +      string(REGEX REPLACE ".*VMD for .*, version ([0-9]+\\.[0-9]*\\.?[0-9]*).*" "\\1" VMD_VERSION ${VMD_HELP})
 +      string(REGEX REPLACE ".*VMD for (.*), version .*" "\\1" VMD_ARCH ${VMD_HELP})
 +
 +      if(VMD_VERSION VERSION_LESS "1.8")
 +        MESSAGE(WARNING "Found VMD version ${VMD_VERSION}, but GROMACS needs at least 1.8")
 +        unset(VMD_EXECUTABLE)
 +        set(VMD_FOUND FALSE)
 +      else()
 +        message(STATUS "VMD version ${VMD_VERSION} is suitable")
 +        if(DEFINED ENV{VMDDIR})
 +          # This permits GROMACS to avoid hard-coding a fall-back
 +          # path that it can tell right now would be useless.
 +          set(GMX_VMD_PLUGIN_PATH "$ENV{VMDDIR}/plugins/${VMD_ARCH}/molfile" CACHE PATH "Path to VMD plugins for molfile I/O")
 +        else()
 +          set(GMX_VMD_PLUGIN_PATH "/usr/local/lib/vmd/plugins/*/molfile" CACHE PATH "Path to VMD plugins for molfile I/O")
 +        endif()
 +      endif()
 +
 +      # clean up
 +      unset(VMD_HELP)
 +      unset(VMD_VERSION)
 +      unset(VMD_ARCH)
 +    endif()
 +  endif()
 +
 +  # so, should we use plug-ins?
 +  if((WIN32 AND NOT CYGWIN) OR (HAVE_DLOPEN AND BUILD_SHARED_LIBS))
 +    if (NOT VMD_QUIETLY)
 +      MESSAGE(STATUS "Found the ability to use plug-ins when building shared libaries, so will compile to use plug-ins (e.g. to read VMD-supported file formats).")
 +    endif(NOT VMD_QUIETLY)
 +    set(GMX_USE_PLUGINS ON)
 +    list(APPEND GMX_EXTRA_LIBRARIES ${CMAKE_DL_LIBS}) # magic cross-platform pre-set variable for dlopen library
 +    set(PKG_DL_LIBS "-l${CMAKE_DL_LIBS}")
 +  else()
 +    set(PKG_DL_LIBS)
 +  endif()
 +endif(GMX_LOAD_PLUGINS)
 +set(VMD_QUIETLY TRUE CACHE INTERNAL "")
 +
  # Math and thread libraries must often come after all others when linking...
  if(HAVE_LIBM)
      list(APPEND       GMX_EXTRA_LIBRARIES m)
index 0564432874d30a563f1e4d5a8ee277ea2e284938,ca8fd547973ef28789668372a1ddd246c3300c42..fda62346fae9535e1ecb45427f3e8616edc88ccd
@@@ -6,8 -6,8 +6,8 @@@ include_directories(${CMAKE_CURRENT_SOU
  if(USE_VERSION_H)
      add_custom_target(gmx_version ALL
              COMMAND ${CMAKE_COMMAND} 
 -                -D Git_EXECUTABLE="${Git_EXECUTABLE}"
 -                -D Git_VERSION="${Git_VERSION}"
 +                -D GIT_EXECUTABLE="${GIT_EXECUTABLE}"
 +                -D GIT_VERSION="${GIT_VERSION}"
                  -D PROJECT_VERSION="${PROJECT_VERSION}"
                  -D PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
                  -D VERSION_C_CMAKEIN="${CMAKE_SOURCE_DIR}/src/gmxlib/version.c.cmakein"
@@@ -22,12 -22,7 +22,12 @@@ endif(
  # conditionally built, so we cannot use a GLOB_RECURSE here.
  file(GLOB GMXLIB_SOURCES *.c 
       selection/*.c trajana/*.c
 -     statistics/*.c nonbonded/*.c nonbonded/nb_kernel_c/*.c)
 +     statistics/*.c nonbonded/*.c nonbonded/nb_kernel_c/*.c
 +     nonbonded/nb_kernel_adress_c/*.c)
 +
 +if(NOT GMX_USE_PLUGINS)
 +  list(REMOVE_ITEM GMXLIB_SOURCES vmdio.c vmddlopen.c)
 +endif()
  
  # This source file is generated
  file(GLOB VERSION_SOURCE version.c)
@@@ -51,7 -46,7 +51,7 @@@ endif(
  
  if(GMX_IA32_ASM)
    file(GLOB GMX_SSEKERNEL_C_SRC   nonbonded/nb_kernel_ia32_${SSETYPE}/*.c)
-   if(GMX_ASM_USEASM-NASM)
+   if(GMX_ASM_USEASM_NASM)
      file(GLOB GMX_SSEKERNEL_ASM_SRC nonbonded/nb_kernel_ia32_${SSETYPE}/*intel_syntax*.s)    
    else()
      file(GLOB GMX_SSEKERNEL_ASM_SRC nonbonded/nb_kernel_ia32_${SSETYPE}/*${SSETYPE}.s nonbonded/nb_kernel_ia32_${SSETYPE}/*asm.s)
@@@ -60,7 -55,7 +60,7 @@@ endif(GMX_IA32_ASM
  
  if(GMX_X86_64_ASM)
    file(GLOB GMX_SSEKERNEL_C_SRC   nonbonded/nb_kernel_x86_64_${SSETYPE}/*.c)
-   if(GMX_ASM_USEASM-NASM)
+   if(GMX_ASM_USEASM_NASM)
      file(GLOB GMX_SSEKERNEL_ASM_SRC nonbonded/nb_kernel_x86_64_${SSETYPE}/*intel_syntax*.s)
    else()
      file(GLOB GMX_SSEKERNEL_ASM_SRC nonbonded/nb_kernel_x86_64_${SSETYPE}/*${SSETYPE}.s nonbonded/nb_kernel_x86_64_${SSETYPE}/*asm.s)
@@@ -112,8 -107,8 +112,8 @@@ list(REMOVE_ITEM GMXLIB_SOURCES ${SELEC
  
  # only fiddle with assembly kernels if we're not doing OpenMM build
  if(NOT GMX_OPENMM) 
- if(GMX_ASM_USEASM-NASM)
-   enable_language(ASM-NASM)
+ if(GMX_ASM_USEASM_NASM)
+   enable_language(ASM_NASM)
  
    # if NASM is used, we need a special build command for windows...
    FOREACH(SRC ${GMX_SSEKERNEL_ASM_SRC})
  
      ADD_CUSTOM_COMMAND(OUTPUT ${OBJ}
                         MAIN_DEPENDENCY ${SRC}
-                        COMMAND ${CMAKE_ASM-NASM_COMPILER} -f ${CMAKE_ASM-NASM_OBJECT_FORMAT} -o ${OBJ} ${SRC})
+                        COMMAND ${CMAKE_ASM_NASM_COMPILER} -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o ${OBJ} ${SRC})
  
      SET(ALL_ASM_OBJS ${ALL_ASM_OBJS} ${OBJ})
    ENDFOREACH(SRC ${GMX_SSEKERNEL_ASM_SRC})
    set(GMX_SSEKERNEL_ASM_SRC ${ALL_ASM_OBJS})
  
- else(GMX_ASM_USEASM-NASM)
+ else(GMX_ASM_USEASM_NASM)
  
    enable_language(ASM-ATT)
    SET(CMAKE_ASM-ATT_COMPILER ${CMAKE_C_COMPILER})
      set_source_files_properties(${GMX_SSEKERNEL_ASM_SRC} PROPERTIES COMPILE_FLAGS "-c -m64")
    endif()
  
- endif(GMX_ASM_USEASM-NASM)
+ endif(GMX_ASM_USEASM_NASM)
  endif(NOT GMX_OPENMM)
  
  add_library(gmx ${GMXLIB_SOURCES} ${BLAS_SOURCES} ${LAPACK_SOURCES} ${GMX_SSEKERNEL_C_SRC} ${GMX_SSEKERNEL_ASM_SRC} ${FORTRAN_SOURCES} ${GMX_BLUEGENE_C_SRC} ${GMX_PPC_ALTIVEC_SRC} ${THREAD_MPI_SRC})