mirror of
https://github.com/reactos/CMake.git
synced 2025-02-21 12:20:48 +00:00
FindMatlab: code comment and ordering of the finders
This commit is contained in:
parent
9e6206c59b
commit
cd6bd8391a
@ -1537,7 +1537,9 @@ if(MATLAB_FIND_DEBUG)
|
||||
message(STATUS "[MATLAB] Current version is ${Matlab_VERSION_STRING} located ${Matlab_ROOT_DIR}")
|
||||
endif()
|
||||
|
||||
if(NOT ${Matlab_VERSION_STRING} VERSION_LESS "9.4") # MATLAB 9.4 (R2018a) and newer have a new C++ API
|
||||
# MATLAB 9.4 (R2018a) and newer have a new C++ API
|
||||
# This API pulls additional required libraries.
|
||||
if(NOT ${Matlab_VERSION_STRING} VERSION_LESS "9.4")
|
||||
set(Matlab_HAS_CPP_API 1)
|
||||
endif()
|
||||
|
||||
@ -1623,6 +1625,10 @@ endfunction()
|
||||
|
||||
set(_matlab_required_variables)
|
||||
|
||||
# Order is as follow:
|
||||
# - unconditionally required libraries/headers first
|
||||
# - then library components
|
||||
# - then program components
|
||||
|
||||
# the MEX library/header are required
|
||||
find_path(
|
||||
@ -1648,34 +1654,6 @@ list(APPEND _matlab_required_variables Matlab_MEX_EXTENSION)
|
||||
# the matlab root is required
|
||||
list(APPEND _matlab_required_variables Matlab_ROOT_DIR)
|
||||
|
||||
# component Mex Compiler
|
||||
if("MEX_COMPILER" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_program(
|
||||
Matlab_MEX_COMPILER
|
||||
"mex"
|
||||
PATHS ${Matlab_BINARIES_DIR}
|
||||
DOC "Matlab MEX compiler"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MEX_COMPILER)
|
||||
set(Matlab_MEX_COMPILER_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# component Matlab program
|
||||
if("MAIN_PROGRAM" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_program(
|
||||
Matlab_MAIN_PROGRAM
|
||||
matlab
|
||||
PATHS ${Matlab_ROOT_DIR} ${Matlab_ROOT_DIR}/bin
|
||||
DOC "Matlab main program"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MAIN_PROGRAM)
|
||||
set(Matlab_MAIN_PROGRAM_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# The MX library is required
|
||||
_Matlab_find_library(
|
||||
${_matlab_lib_prefix_for_search}
|
||||
@ -1689,70 +1667,6 @@ if(Matlab_MX_LIBRARY)
|
||||
set(Matlab_MX_LIBRARY_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
# Component ENG library
|
||||
list(FIND Matlab_FIND_COMPONENTS ENG_LIBRARY _matlab_find_eng)
|
||||
if(_matlab_find_eng GREATER -1)
|
||||
_Matlab_find_library(
|
||||
${_matlab_lib_prefix_for_search}
|
||||
Matlab_ENG_LIBRARY
|
||||
eng
|
||||
PATHS ${_matlab_lib_dir_for_search}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_ENG_LIBRARY)
|
||||
set(Matlab_ENG_LIBRARY_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
unset(_matlab_find_eng)
|
||||
|
||||
# Component MAT library
|
||||
list(FIND Matlab_FIND_COMPONENTS MAT_LIBRARY _matlab_find_mat)
|
||||
if(_matlab_find_mat GREATER -1)
|
||||
_Matlab_find_library(
|
||||
${_matlab_lib_prefix_for_search}
|
||||
Matlab_MAT_LIBRARY
|
||||
mat
|
||||
PATHS ${_matlab_lib_dir_for_search}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MAT_LIBRARY)
|
||||
set(Matlab_MAT_LIBRARY_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
unset(_matlab_find_mat)
|
||||
|
||||
# Component Simulink
|
||||
list(FIND Matlab_FIND_COMPONENTS SIMULINK _matlab_find_simulink)
|
||||
if(_matlab_find_simulink GREATER -1)
|
||||
find_path(
|
||||
Matlab_SIMULINK_INCLUDE_DIR
|
||||
simstruc.h
|
||||
PATHS "${Matlab_ROOT_DIR}/simulink/include"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_SIMULINK_INCLUDE_DIR)
|
||||
set(Matlab_SIMULINK_FOUND TRUE)
|
||||
list(APPEND Matlab_INCLUDE_DIRS "${Matlab_SIMULINK_INCLUDE_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
unset(_matlab_find_simulink)
|
||||
|
||||
# component MCC Compiler
|
||||
list(FIND Matlab_FIND_COMPONENTS MCC_COMPILER _matlab_find_mcc_compiler)
|
||||
if(_matlab_find_mcc_compiler GREATER -1)
|
||||
find_program(
|
||||
Matlab_MCC_COMPILER
|
||||
"mcc"
|
||||
PATHS ${Matlab_BINARIES_DIR}
|
||||
DOC "Matlab MCC compiler"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MCC_COMPILER)
|
||||
set(Matlab_MCC_COMPILER_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
unset(_matlab_find_mcc_compiler)
|
||||
|
||||
if(Matlab_HAS_CPP_API)
|
||||
|
||||
# The MatlabEngine library is required for R2018a+
|
||||
@ -1785,7 +1699,89 @@ if(Matlab_HAS_CPP_API)
|
||||
|
||||
endif()
|
||||
|
||||
unset(_matlab_lib_dir_for_search)
|
||||
# Component ENG library
|
||||
if("ENG_LIBRARY" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
_Matlab_find_library(
|
||||
${_matlab_lib_prefix_for_search}
|
||||
Matlab_ENG_LIBRARY
|
||||
eng
|
||||
PATHS ${_matlab_lib_dir_for_search}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_ENG_LIBRARY)
|
||||
set(Matlab_ENG_LIBRARY_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Component MAT library
|
||||
if("MAT_LIBRARY" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
_Matlab_find_library(
|
||||
${_matlab_lib_prefix_for_search}
|
||||
Matlab_MAT_LIBRARY
|
||||
mat
|
||||
PATHS ${_matlab_lib_dir_for_search}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MAT_LIBRARY)
|
||||
set(Matlab_MAT_LIBRARY_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Component Simulink
|
||||
if("SIMULINK" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_path(
|
||||
Matlab_SIMULINK_INCLUDE_DIR
|
||||
simstruc.h
|
||||
PATHS "${Matlab_ROOT_DIR}/simulink/include"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_SIMULINK_INCLUDE_DIR)
|
||||
set(Matlab_SIMULINK_FOUND TRUE)
|
||||
list(APPEND Matlab_INCLUDE_DIRS "${Matlab_SIMULINK_INCLUDE_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# component Matlab program
|
||||
if("MAIN_PROGRAM" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_program(
|
||||
Matlab_MAIN_PROGRAM
|
||||
matlab
|
||||
PATHS ${Matlab_ROOT_DIR} ${Matlab_ROOT_DIR}/bin
|
||||
DOC "Matlab main program"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MAIN_PROGRAM)
|
||||
set(Matlab_MAIN_PROGRAM_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# component Mex Compiler
|
||||
if("MEX_COMPILER" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_program(
|
||||
Matlab_MEX_COMPILER
|
||||
"mex"
|
||||
PATHS ${Matlab_BINARIES_DIR}
|
||||
DOC "Matlab MEX compiler"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MEX_COMPILER)
|
||||
set(Matlab_MEX_COMPILER_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# component MCC Compiler
|
||||
if("MCC_COMPILER" IN_LIST Matlab_FIND_COMPONENTS)
|
||||
find_program(
|
||||
Matlab_MCC_COMPILER
|
||||
"mcc"
|
||||
PATHS ${Matlab_BINARIES_DIR}
|
||||
DOC "Matlab MCC compiler"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if(Matlab_MCC_COMPILER)
|
||||
set(Matlab_MCC_COMPILER_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(Matlab_LIBRARIES
|
||||
${Matlab_MEX_LIBRARY} ${Matlab_MX_LIBRARY}
|
||||
|
Loading…
x
Reference in New Issue
Block a user