From 7a1f3fe041c453101a913a0ef5b23922a86bd604 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 26 Feb 2019 14:12:34 -0500 Subject: 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 --- Help/manual/cmake-modules.7.rst | 1 - Help/module/FindOctave.rst | 1 - Help/release/3.14.rst | 2 - Modules/FindOctave.cmake | 179 ---------------------------------- Tests/CMakeLists.txt | 4 - Tests/FindOctave/CMakeLists.txt | 10 -- Tests/FindOctave/Test/CMakeLists.txt | 24 ----- Tests/FindOctave/Test/interp_main.cpp | 26 ----- Tests/FindOctave/Test/main.cpp | 18 ---- Tests/FindOctave/Test/testtrue.m | 1 - 10 files changed, 266 deletions(-) delete mode 100644 Help/module/FindOctave.rst delete mode 100644 Modules/FindOctave.cmake delete mode 100644 Tests/FindOctave/CMakeLists.txt delete mode 100644 Tests/FindOctave/Test/CMakeLists.txt delete mode 100644 Tests/FindOctave/Test/interp_main.cpp delete mode 100644 Tests/FindOctave/Test/main.cpp delete mode 100644 Tests/FindOctave/Test/testtrue.m diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst index 71a8b00..d9b939f 100644 --- a/Help/manual/cmake-modules.7.rst +++ b/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 diff --git a/Help/module/FindOctave.rst b/Help/module/FindOctave.rst deleted file mode 100644 index 2dbcec4..0000000 --- a/Help/module/FindOctave.rst +++ /dev/null @@ -1 +0,0 @@ -.. cmake-module:: ../../Modules/FindOctave.cmake diff --git a/Help/release/3.14.rst b/Help/release/3.14.rst index 13d209f..f05c53c 100644 --- a/Help/release/3.14.rst +++ b/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` diff --git a/Modules/FindOctave.cmake b/Modules/FindOctave.cmake deleted file mode 100644 index 8110ff1..0000000 --- a/Modules/FindOctave.cmake +++ /dev/null @@ -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__FOUND`` - Octave 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 -) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 6c888cc..431a492 100644 --- a/Tests/CMakeLists.txt +++ b/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() diff --git a/Tests/FindOctave/CMakeLists.txt b/Tests/FindOctave/CMakeLists.txt deleted file mode 100644 index 1acc966..0000000 --- a/Tests/FindOctave/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -add_test(NAME FindOctave.Test COMMAND - ${CMAKE_CTEST_COMMAND} -C $ - --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 $ - ) diff --git a/Tests/FindOctave/Test/CMakeLists.txt b/Tests/FindOctave/Test/CMakeLists.txt deleted file mode 100644 index 73aa831..0000000 --- a/Tests/FindOctave/Test/CMakeLists.txt +++ /dev/null @@ -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) diff --git a/Tests/FindOctave/Test/interp_main.cpp b/Tests/FindOctave/Test/interp_main.cpp deleted file mode 100644 index 1efa187..0000000 --- a/Tests/FindOctave/Test/interp_main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include -#include - -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; - } -} diff --git a/Tests/FindOctave/Test/main.cpp b/Tests/FindOctave/Test/main.cpp deleted file mode 100644 index 68270b1..0000000 --- a/Tests/FindOctave/Test/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include - -// 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; -} diff --git a/Tests/FindOctave/Test/testtrue.m b/Tests/FindOctave/Test/testtrue.m deleted file mode 100644 index 0c28a9e..0000000 --- a/Tests/FindOctave/Test/testtrue.m +++ /dev/null @@ -1 +0,0 @@ -%!assert(true) -- cgit v0.12