ソースを参照

FindOctave: Remove module pending further work

The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release.  These were missed during
review.  Remove the module for now.  It can be restored later with a
fresh review.

Issue: #18991
Brad King 6 年 前
コミット
7a1f3fe041

+ 0 - 1
Help/manual/cmake-modules.7.rst

@@ -178,7 +178,6 @@ They are normally called through the :command:`find_package` command.
    /module/FindMPEG2
    /module/FindMPEG
    /module/FindMPI
-   /module/FindOctave
    /module/FindODBC
    /module/FindOpenACC
    /module/FindOpenAL

+ 0 - 1
Help/module/FindOctave.rst

@@ -1 +0,0 @@
-.. cmake-module:: ../../Modules/FindOctave.cmake

+ 0 - 2
Help/release/3.14.rst

@@ -211,8 +211,6 @@ Modules
   mirror the new options to the ``mex`` command in MATLAB R2018a.
   The option ``MX_LIBRARY`` is no longer needed.
 
-* A :module:`FindOctave` module was added to find GNU octave.
-
 * The :module:`FindPostgreSQL` module now provides imported targets.
 
 * The :module:`FindPython`, :module:`FindPython2`, and :module:`FindPython3`

+ 0 - 179
Modules/FindOctave.cmake

@@ -1,179 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindOctave
-----------
-
-Finds GNU Octave interpreter, libraries and compilers.
-
-Imported targets
-^^^^^^^^^^^^^^^^
-
-This module defines the following :prop_tgt:`IMPORTED` targets:
-
-``Octave::Interpreter``
-  Octave interpreter (the main program)
-``Octave::Octave``
-  include directories and the octave library
-``Octave::Octinterp``
-  include directories and the octinterp library including the dependency on
-  Octave::Octave
-
-If no ``COMPONENTS`` are specified, ``Interpreter`` is assumed.
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``Octave_FOUND``
-  Octave interpreter and/or libraries were found
-``Octave_<component>_FOUND``
-  Octave <component> specified was found
-
-``Octave_EXECUTABLE``
-  Octave interpreter
-``Octave_INCLUDE_DIRS``
-  include path for mex.h
-``Octave_LIBRARIES``
-  octinterp, octave libraries
-
-
-Cache variables
-^^^^^^^^^^^^^^^
-
-The following cache variables may also be set:
-
-``Octave_INTERP_LIBRARY``
-  path to the library octinterp
-``Octave_OCTAVE_LIBRARY``
-  path to the liboctave library
-
-#]=======================================================================]
-
-cmake_policy(VERSION 3.3)
-
-unset(Octave_REQUIRED_VARS)
-unset(Octave_Development_FOUND)
-unset(Octave_Interpreter_FOUND)
-set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Interpreter)
-
-if(Development IN_LIST Octave_FIND_COMPONENTS)
-  find_program(Octave_CONFIG_EXECUTABLE
-               NAMES octave-config)
-
-  if(Octave_CONFIG_EXECUTABLE)
-
-    execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p BINDIR
-                    OUTPUT_VARIABLE Octave_BINARY_DIR
-                    ERROR_QUIET
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p OCTINCLUDEDIR
-                    OUTPUT_VARIABLE Octave_INCLUDE_DIR
-                    ERROR_QUIET
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-    list(APPEND Octave_REQUIRED_VARS ${Octave_INCLUDE_DIR})
-
-    execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p OCTLIBDIR
-                    OUTPUT_VARIABLE Octave_LIB1
-                    ERROR_QUIET
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    execute_process(COMMAND ${Octave_CONFIG_EXECUTABLE} -p LIBDIR
-                    OUTPUT_VARIABLE Octave_LIB2
-                    ERROR_QUIET
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    find_library(Octave_INTERP_LIBRARY
-               NAMES octinterp
-               PATHS ${Octave_LIB1} ${Octave_LIB2}
-               NO_DEFAULT_PATH
-              )
-    find_library(Octave_OCTAVE_LIBRARY
-                 NAMES octave
-                 PATHS ${Octave_LIB1} ${Octave_LIB2}
-                 NO_DEFAULT_PATH
-                )
-    list(APPEND Octave_REQUIRED_VARS ${Octave_OCTAVE_LIBRARY} ${Octave_INTERP_LIBRARY})
-
-    if(Octave_REQUIRED_VARS)
-      set(Octave_Development_FOUND true)
-    endif()
-  endif(Octave_CONFIG_EXECUTABLE)
-endif()
-
-if(Interpreter IN_LIST Octave_FIND_COMPONENTS)
-
-  find_program(Octave_EXECUTABLE
-               NAMES octave)
-
-  list(APPEND Octave_REQUIRED_VARS ${Octave_EXECUTABLE})
-
-endif()
-
-if(Octave_EXECUTABLE)
-  execute_process(COMMAND ${Octave_EXECUTABLE} -v
-                  OUTPUT_VARIABLE Octave_VERSION
-                  ERROR_QUIET
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-
-  string(REGEX REPLACE "GNU Octave, version ([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" Octave_VERSION_MAJOR ${Octave_VERSION})
-  string(REGEX REPLACE "GNU Octave, version [0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" Octave_VERSION_MINOR ${Octave_VERSION})
-  string(REGEX REPLACE "GNU Octave, version [0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" Octave_VERSION_PATCH ${Octave_VERSION})
-
-  set(Octave_VERSION ${Octave_VERSION_MAJOR}.${Octave_VERSION_MINOR}.${Octave_VERSION_PATCH})
-
-  set(Octave_Interpreter_FOUND true)
-
-endif(Octave_EXECUTABLE)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Octave
-  REQUIRED_VARS Octave_REQUIRED_VARS
-  VERSION_VAR Octave_VERSION
-  HANDLE_COMPONENTS)
-
-
-if(Octave_Development_FOUND)
-  set(Octave_LIBRARIES ${Octave_INTERP_LIBRARY} ${Octave_OCTAVE_LIBRARY})
-  set(Octave_INCLUDE_DIRS ${Octave_INCLUDE_DIR})
-
-  if(NOT TARGET Octave::Octave)
-    add_library(Octave::Octave UNKNOWN IMPORTED)
-    set_target_properties(Octave::Octave PROPERTIES
-                          IMPORTED_LOCATION ${Octave_OCTAVE_LIBRARY}
-                          INTERFACE_INCLUDE_DIRECTORIES ${Octave_INCLUDE_DIR}
-                         )
-  endif()
-
-  if(NOT TARGET Octave::Octinterp)
-    add_library(Octave::Octinterp UNKNOWN IMPORTED)
-    set_target_properties(Octave::Octinterp PROPERTIES
-                          IMPORTED_LOCATION ${Octave_INTERP_LIBRARY}
-                          INTERFACE_INCLUDE_DIRECTORIES ${Octave_INCLUDE_DIR})
-    target_link_libraries(Octave::Octinterp INTERFACE
-                          Octave::Octave)
-  endif()
-
-endif()
-
-
-if(Octave_Interpreter_FOUND)
-  if(NOT TARGET Octave::Interpreter)
-    add_executable(Octave::Interpreter IMPORTED)
-    set_target_properties(Octave::Interpreter PROPERTIES
-                          IMPORTED_LOCATION ${Octave_EXECUTABLE}
-                          VERSION ${Octave_VERSION})
-  endif()
-endif()
-
-mark_as_advanced(
-  Octave_CONFIG_EXECUTABLE
-  Octave_INTERP_LIBRARY
-  Octave_OCTAVE_LIBRARY
-  Octave_INCLUDE_DIR
-  Octave_VERSION_MAJOR
-  Octave_VERSION_MINOR
-  Octave_VERSION_PATCH
-)

+ 0 - 4
Tests/CMakeLists.txt

@@ -1494,10 +1494,6 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     add_subdirectory(FindODBC)
   endif()
 
-  if(CMake_TEST_FindOctave)
-    add_subdirectory(FindOctave)
-  endif()
-
   if(CMake_TEST_FindOpenCL)
     add_subdirectory(FindOpenCL)
   endif()

+ 0 - 10
Tests/FindOctave/CMakeLists.txt

@@ -1,10 +0,0 @@
-add_test(NAME FindOctave.Test COMMAND
-  ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
-  --build-and-test
-  "${CMake_SOURCE_DIR}/Tests/FindOctave/Test"
-  "${CMake_BINARY_DIR}/Tests/FindOctave/Test"
-  ${build_generator_args}
-  --build-project TestFindOctave
-  --build-options ${build_options}
-  --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
-  )

+ 0 - 24
Tests/FindOctave/Test/CMakeLists.txt

@@ -1,24 +0,0 @@
-cmake_minimum_required(VERSION 3.3)
-project(TestFindOctave CXX)
-enable_testing()
-
-find_package(Octave REQUIRED COMPONENTS Development Interpreter)
-
-add_definitions(-DCMAKE_EXPECTED_Octave_VERSION=${Octave_VERSION})
-
-add_executable(test_tgt main.cpp)
-target_link_libraries(test_tgt Octave::Octave)
-add_test(NAME test_tgt COMMAND test_tgt)
-
-add_executable(test_octinterp_tgt interp_main.cpp)
-target_link_libraries(test_octinterp_tgt Octave::Octinterp)
-add_test(NAME test_octinterp_tgt COMMAND test_octinterp_tgt)
-
-add_test(NAME test_tgt_exe
-         COMMAND Octave::Interpreter -q --eval "runtests('.')"
-         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-
-add_executable(test_var main.cpp)
-target_include_directories(test_var PRIVATE ${Octave_INCLUDE_DIRS})
-target_link_libraries(test_var PRIVATE ${Octave_LIBRARIES})
-add_test(NAME test_var COMMAND test_var)

+ 0 - 26
Tests/FindOctave/Test/interp_main.cpp

@@ -1,26 +0,0 @@
-#include <iostream>
-#include <oct.h>
-#include <octave.h>
-#include <parse.h>
-#include <toplev.h>
-
-int main(void)
-{
-  string_vector argv(2);
-  argv(0) = "embedded";
-  argv(1) = "-q";
-
-  try {
-    octave_main(2, argv.c_str_vec(), 1);
-    octave_value_list in;
-    in(0) = 72.0;
-    const octave_value_list result = feval("sqrt", in);
-    std::cout << "result is " << result(0).scalar_value() << std::endl;
-    clean_up_and_exit(0);
-  } catch (const octave::exit_exception& ex) {
-    std::cerr << "Octave interpreter exited with status = " << ex.exit_status()
-              << std::endl;
-  } catch (const octave::execution_exception&) {
-    std::cerr << "error encountered in Octave evaluator!" << std::endl;
-  }
-}

+ 0 - 18
Tests/FindOctave/Test/main.cpp

@@ -1,18 +0,0 @@
-#include <iostream>
-#include <oct.h>
-
-// http://www.dm.unibo.it/~achilles/calc/octave.html/Standalone-Programs.html
-int main(void)
-{
-  int n = 2;
-  Matrix a_matrix = Matrix(n, n);
-  for (octave_idx_type i = 0; i < n; i++) {
-    for (octave_idx_type j = 0; j < n; j++) {
-      a_matrix(i, j) = (i + 1) * 10 + (j + 1);
-    }
-  }
-
-  std::cout << a_matrix << std::endl;
-
-  return EXIT_SUCCESS;
-}

+ 0 - 1
Tests/FindOctave/Test/testtrue.m

@@ -1 +0,0 @@
-%!assert(true)