Browse Source

FindMatlab: Restore support for finding Matlab without any languages

Revise commit 657064b6d4 (FindMatlab: Refactor: Eliminate
_matlab_64Build, 2024-01-24, v3.30.0-rc1~594^2~5) to more faithfully
reproduce the original behavior.

Revise commit 91c672e5ae (FindMatlab: Use find_package(Threads) instead
of checking -pthread, 2024-02-02, v3.30.0-rc1~594^2~1) to restore the
old behavior of looking for threads only with C or CXX enabled.

Fixes: #26121
Brad King 1 year ago
parent
commit
70cbcb1da3
1 changed files with 5 additions and 4 deletions
  1. 5 4
      Modules/FindMatlab.cmake

+ 5 - 4
Modules/FindMatlab.cmake

@@ -297,7 +297,8 @@ set(_FindMatlab_SELF_DIR "${CMAKE_CURRENT_LIST_DIR}")
 
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 
-if(NOT WIN32 AND NOT APPLE AND NOT Threads_FOUND)
+if(NOT WIN32 AND NOT APPLE AND NOT Threads_FOUND
+    AND (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED))
   # MEX files use pthread if available
   set(THREADS_PREFER_PTHREAD_FLAG ON)
   find_package(Threads)
@@ -1776,10 +1777,10 @@ endif()
 
 
 set(MATLAB_INCLUDE_DIR_TO_LOOK ${Matlab_ROOT_DIR}/extern/include)
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(_matlab_current_suffix ${_matlab_bin_suffix_64bits})
-else()
+if(CMAKE_SIZEOF_VOID_P EQUAL 4)
   set(_matlab_current_suffix ${_matlab_bin_suffix_32bits})
+else()
+  set(_matlab_current_suffix ${_matlab_bin_suffix_64bits})
 endif()
 
 set(Matlab_BINARIES_DIR