mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
Merge topic 'FindMatlab-only-CXX' into release-3.16
b704d58f41 FindMatlab: in matlab_add_mex use the correct version file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4206
This commit is contained in:
@@ -974,10 +974,19 @@ function(matlab_add_mex)
|
||||
endif()
|
||||
|
||||
if(NOT Matlab_VERSION_STRING VERSION_LESS "9.1") # For 9.1 (R2016b) and newer, add version source file
|
||||
# TODO: check the file extensions in ${${prefix}_SRC} to see if they're C or C++ files
|
||||
# Currently, the C and C++ versions of the version files are identical, so this doesn't matter.
|
||||
set(MEX_VERSION_FILE "${Matlab_ROOT_DIR}/extern/version/c_mexapi_version.c")
|
||||
#set(MEX_VERSION_FILE "${Matlab_ROOT_DIR}/extern/version/cpp_mexapi_version.cpp")
|
||||
# Add the correct version file depending on which languages are enabled in the project
|
||||
if(CMAKE_C_COMPILER_LOADED)
|
||||
# If C is enabled, use the .c file as it will work fine also with C++
|
||||
set(MEX_VERSION_FILE "${Matlab_ROOT_DIR}/extern/version/c_mexapi_version.c")
|
||||
elseif(CMAKE_CXX_COMPILER_LOADED)
|
||||
# If C is not enabled, check if CXX is enabled and use the .cpp file
|
||||
# to avoid that the .c file is silently ignored
|
||||
set(MEX_VERSION_FILE "${Matlab_ROOT_DIR}/extern/version/cpp_mexapi_version.cpp")
|
||||
else()
|
||||
# If neither C or CXX is enabled, warn because we cannot add the source.
|
||||
# TODO: add support for fortran mex files
|
||||
message(WARNING "[MATLAB] matlab_add_mex requires that at least C or CXX are enabled languages")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT Matlab_VERSION_STRING VERSION_LESS "9.4") # For 9.4 (R2018a) and newer, add API macro
|
||||
|
||||
Reference in New Issue
Block a user