From 1bb8b79f675deb5f7aed10b47ded0f4567b66a5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franck=20P=C3=A9rignon?= <franck.perignon@imag.fr>
Date: Mon, 27 Oct 2014 15:54:28 +0100
Subject: [PATCH] Clean cmake config. Fix (at least ...) libparmes find bug

---
 HySoP/CMake/CMakeListsForTests.cmake     | 26 ----------
 HySoP/CMake/FindPythonLibs.cmake         |  0
 HySoP/CMake/FindPythonModule.cmake       |  0
 HySoP/CMake/InstallPackage.cmake         | 65 ------------------------
 HySoP/CMake/TestFortranAcceptsFlag.cmake | 38 --------------
 HySoP/setup.py.in                        |  3 +-
 HySoP/src/CMakeLists.txt                 | 36 +------------
 7 files changed, 4 insertions(+), 164 deletions(-)
 delete mode 100644 HySoP/CMake/CMakeListsForTests.cmake
 mode change 100755 => 100644 HySoP/CMake/FindPythonLibs.cmake
 mode change 100755 => 100644 HySoP/CMake/FindPythonModule.cmake
 delete mode 100644 HySoP/CMake/InstallPackage.cmake
 delete mode 100644 HySoP/CMake/TestFortranAcceptsFlag.cmake

diff --git a/HySoP/CMake/CMakeListsForTests.cmake b/HySoP/CMake/CMakeListsForTests.cmake
deleted file mode 100644
index a149f3ae3..000000000
--- a/HySoP/CMake/CMakeListsForTests.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- cmake -*-
-# This is the test cmake configuration
-# built from @CMAKE_SOURCE_DIR@/cmake/CMakeListsForTests.cmake.in 
-
-# scan the list of test executables
-foreach(_EXE ${_EXE_LIST_${_CURRENT_TEST_DIRECTORY}})
- 
-  message(STATUS "Adding test suite ${_CURRENT_TEST_DIRECTORY}/${_EXE}")
-  
-  # Create an executable for the current test 
-  add_executable(${_EXE} ${${_EXE}_FSOURCES})
-
-  # Add a dependency between current test and the main library target
-  add_dependencies(${_EXE} ${PROJECT_LIBRARY_NAME})
-  # link current target test with the same lib as for main project lib
-  target_link_libraries(${_EXE} ${PROJECT_LIBRARY_NAME})
-  target_link_libraries(${_EXE} ${LIBS})
-  
-  # add test for ctest
-  add_test(${_EXE} ${_EXE})
-
-  set_tests_properties(${_EXE} PROPERTIES FAIL_REGULAR_EXPRESSION "FAILURE;Exception;failed;ERROR")
-  message("ADD MPI TESTS ...")
-  add_test(NAME mpi_${_EXE} COMMAND mpirun -np 8 ${_EXE})
-
-endforeach(_EXE ${_EXE_LIST_${_CURRENT_TEST_DIRECTORY}})
diff --git a/HySoP/CMake/FindPythonLibs.cmake b/HySoP/CMake/FindPythonLibs.cmake
old mode 100755
new mode 100644
diff --git a/HySoP/CMake/FindPythonModule.cmake b/HySoP/CMake/FindPythonModule.cmake
old mode 100755
new mode 100644
diff --git a/HySoP/CMake/InstallPackage.cmake b/HySoP/CMake/InstallPackage.cmake
deleted file mode 100644
index d725cac91..000000000
--- a/HySoP/CMake/InstallPackage.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-#===========================================================
-# Macro to install parmes package
-#
-# F. Pérignon, LJK-CNRS, april 2011
-#
-#===========================================================
-
-# Args :
-# - package name
-# - library name
-# - headers list (optional)
-
-function(install_package)
-
-  if(ARGV2)
-    set(_HEADERS ${ARGV2})
-  endif()
-
-  # Offer the user the choice of overriding the installation directories
-  set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
-  set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
-  set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
-  set(INSTALL_DATA_DIR share CACHE PATH "Installation directory for data files")
-
-  # Make relative paths absolute (needed later on)
-  # Warning : this depends on the current value of CMAKE_INSTALL_PREFIX !
-  foreach(p LIB BIN INCLUDE DATA)
-    set(var INSTALL_${p}_DIR)
-    if(NOT IS_ABSOLUTE "${${var}}")
-      set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
-    endif()
-  endforeach()
-
-  # The libraries
-  install(TARGETS ${ARGV1}
-    EXPORT ${ARGV0}LibraryDepends
-    ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"  # static libs
-    LIBRARY DESTINATION "${INSTALL_LIB_DIR}"  COMPONENT shlib # shared libs
-    PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT dev
-    )
-
-  # The headers and modules
-  if(_HEADERS)
-    install(FILES ${_HEADERS} DESTINATION "${INSTALL_INCLUDE_DIR}")
-  endif()
-  install(DIRECTORY ${CMAKE_BINARY_DIR}/Modules DESTINATION "${INSTALL_INCLUDE_DIR}")
-  export(TARGETS ${ARGV1} FILE "${PROJECT_BINARY_DIR}/InstallFiles/${ARGV0}LibraryDepends.cmake")
-
-  # Install the export set for use with the install-tree
-  install(EXPORT ${ARGV0}LibraryDepends DESTINATION
-    "${INSTALL_DATA_DIR}/CMake" COMPONENT dev)
-  set(${ARGV0}_INCLUDE_DIRS "${INSTALL_INCLUDE_DIR}")
-  set(${ARGV0}_LIB_DIR "${INSTALL_LIB_DIR}")
-  set(${ARGV0}_CMAKE_DIR "${INSTALL_DATA_DIR}/CMake")
-
-  configure_file(${CMAKE_SOURCE_DIR}/${ARGV0}Config.cmake.in
-    "${PROJECT_BINARY_DIR}/InstallFiles/${ARGV0}Config.cmake")
-  configure_file(${CMAKE_SOURCE_DIR}/${ARGV0}ConfigVersion.cmake.in
-    "${PROJECT_BINARY_DIR}/InstallFiles/${ARGV0}ConfigVersion.cmake" @ONLY)
-  install(FILES
-    "${PROJECT_BINARY_DIR}/InstallFiles/${ARGV0}Config.cmake"
-    "${PROJECT_BINARY_DIR}/InstallFiles/${ARGV0}ConfigVersion.cmake"
-    DESTINATION "${${ARGV0}_CMAKE_DIR}" COMPONENT dev)
-
-endfunction()
diff --git a/HySoP/CMake/TestFortranAcceptsFlag.cmake b/HySoP/CMake/TestFortranAcceptsFlag.cmake
deleted file mode 100644
index 73f3b1a1d..000000000
--- a/HySoP/CMake/TestFortranAcceptsFlag.cmake
+++ /dev/null
@@ -1,38 +0,0 @@
-# - Test Fortran compiler for a flag
-# Check if the Fortran compiler accepts a flag
-#
-#  Macro CHECK_Fortran_ACCEPTS_FLAG(FLAGS VARIABLE) -
-#     checks if the function exists
-#  FLAGS - the flags to try
-#  VARIABLE - variable to store the result
-#
-# F. Pérignon - LJK/CNRS - March 2011 
-# From Kitware TestCXXAcceptsFlag.cmake 
-#
-
-MACRO(CHECK_Fortran_ACCEPTS_FLAG FLAGS  VARIABLE)
-  IF(NOT DEFINED ${VARIABLE})
-    MESSAGE(STATUS "Checking to see if Fortran compiler accepts flag ${FLAGS}")
-    FILE(WRITE  ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/Dummy.f 
-      "program TESTFortran
-        implicit none
-        print *, 'Hello'
-        end program  ")
-    TRY_COMPILE(${VARIABLE}
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/Dummy.f
-      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${FLAGS}
-      OUTPUT_VARIABLE OUTPUT) 
-    IF(${VARIABLE})
-      MESSAGE(STATUS "Checking to see if Fortran compiler accepts flag ${FLAGS} - yes")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-        "Determining if the Fortran compiler accepts the flag ${FLAGS} passed with "
-        "the following output:\n${OUTPUT}\n\n")
-    ELSE(${VARIABLE})
-      MESSAGE(STATUS "Checking to see if Fortran compiler accepts flag ${FLAGS} - no")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-        "Determining if the Fortran compiler accepts the flag ${FLAGS} failed with "
-        "the following output:\n${OUTPUT}\n\n")
-    ENDIF(${VARIABLE})
-  ENDIF(NOT DEFINED ${VARIABLE})
-ENDMACRO(CHECK_Fortran_ACCEPTS_FLAG)
diff --git a/HySoP/setup.py.in b/HySoP/setup.py.in
index cdae7a312..dec8ebdc1 100644
--- a/HySoP/setup.py.in
+++ b/HySoP/setup.py.in
@@ -95,7 +95,8 @@ if enable_fortran is "ON":
                             include_dirs=inc_dir,
                             library_dirs=parmes_libdir,
                             libraries=parmeslib,
-                            define_macros=options)
+                            define_macros=options
+                        )
     ext_modules.append(parpyModule)
 else:
     packages.append('parmepy.fakef2py')
diff --git a/HySoP/src/CMakeLists.txt b/HySoP/src/CMakeLists.txt
index 560d0c992..d7a6c935e 100644
--- a/HySoP/src/CMakeLists.txt
+++ b/HySoP/src/CMakeLists.txt
@@ -140,12 +140,8 @@ include_directories(${CMAKE_Fortran_MODULE_DIRECTORY})
 #  MACRO_NAMESPACE "F2C_"
 #  SYMBOL_NAMESPACE "F2C_")
 
-if(BUILD_SHARED_LIBS) # shared library
-  add_library(${PARMES_LIBRARY_NAME} SHARED ${${PARMES_LIBRARY_NAME}_SRC})
-else() # static library
-  add_library(${PARMES_LIBRARY_NAME} STATIC ${${PARMES_LIBRARY_NAME}_SRC})
-endif()
-# Libs to link with PARMES__LIBRARY_NAME
+# static library
+add_library(${PARMES_LIBRARY_NAME} STATIC ${${PARMES_LIBRARY_NAME}_SRC})
 target_link_libraries(${PARMES_LIBRARY_NAME} ${LIBS})
 
 # ============= Create an executable linked with libparmes =============
@@ -186,34 +182,6 @@ if(WITH_FFTW)
   target_link_libraries(${EXE_NAME} ${LIBS})
 endif()
 
-# The library, the headers and mod files, the cmake generated files
-# will be install in CMAKE_INSTALL_PREFIX/lib include and share
-include(InstallPackage)
-if(${PARMES_LIBRARY_NAME}_HDRS})
-  install_package(${PACKAGE_NAME} ${PARMES_LIBRARY_NAME} ${${PARMES_LIBRARY_NAME}_HDRS})
-else()
-  install_package(${PACKAGE_NAME} ${PARMES_LIBRARY_NAME})
-endif()
-
-
-# # do not skip the full RPATH for the build tree
-# set(CMAKE_SKIP_BUILD_RPATH FALSE)
-# # when building, don't use the install RPATH already
-# # (but later on when installing)
-# set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-# # the RPATH to be used when installing
-# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-# #set(CMAKE_INSTALL_RPATH "")
-# # add the automatically determined parts of the RPATH
-# # which point to directories outside the build tree to the install RPATH
-# SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-
-# the RPATH to be used when installing, but only if it's not a system directory
-# LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
-# IF("${isSystemDir}" STREQUAL "-1")
-#    SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-# ENDIF("${isSystemDir}" STREQUAL "-1")
-
 # ============== Add tests ==============
 if(WITH_TESTS)
 #  message(STATUS "Enable testing ...")
-- 
GitLab