Skip to content

Commit 935871f

Browse files
committed
Fixes for the MEX file compilation under Windows
1 parent c8014f3 commit 935871f

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/matlab/CMakeLists.txt

100644100755
Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ endif()
1616

1717
find_program(OCT_CMD mkoctfile)
1818

19+
get_property(FLANN_LIB_LOCATION TARGET flann_s PROPERTY LOCATION)
20+
get_filename_component(FLANN_LIB_PATH ${FLANN_LIB_LOCATION} PATH)
21+
1922
if(MEX_CMD AND MEXEXT_CMD)
2023

2124
get_filename_component(MEX_REAL_CMD ${MEX_CMD} ABSOLUTE)
@@ -30,17 +33,22 @@ if(MEX_CMD AND MEXEXT_CMD)
3033
EXECUTE_PROCESS(COMMAND ${MEXEXT_REAL_CMD} OUTPUT_VARIABLE MEX_EXTENSION OUTPUT_STRIP_TRAILING_WHITESPACE)
3134
SET(MEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MEX_NAME}.${MEX_EXTENSION})
3235

36+
3337
if (WIN32)
34-
set(MEX_BUILD_FLAGS "COMPFLAGS=\"$$COMPFLAGS ${OpenMP_CXX_FLAGS}\" LINKFLAGS=\"$$LINKFLAGS ${OpenMP_CXX_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}\"")
38+
if (MSVC_IDE)
39+
set(MEX_BUILD_FLAGS "COMPFLAGS=\"$COMPFLAGS ${OpenMP_CXX_FLAGS}\" LINKFLAGS=\"$LINKFLAGS ${OpenMP_CXX_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}\"")
40+
else()
41+
set(MEX_BUILD_FLAGS "COMPFLAGS=\"$$COMPFLAGS ${OpenMP_CXX_FLAGS}\" LINKFLAGS=\"$$LINKFLAGS ${OpenMP_CXX_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}\"")
42+
endif()
3543
else()
3644
set(MEX_BUILD_FLAGS "CFLAGS='$$CFLAGS ${OpenMP_CXX_FLAGS}' LDFLAGS='$$LDFLAGS ${OpenMP_CXX_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}'")
3745
endif()
38-
separate_arguments(MEX_BUILD_FLAGS)
46+
separate_arguments(MEX_BUILD_FLAGS)
3947

4048
ADD_CUSTOM_COMMAND(
4149
OUTPUT ${MEX_FILE}
4250
COMMAND ${MEX_REAL_CMD}
43-
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${LIBRARY_OUTPUT_PATH} -lflann_s ${MEX_BUILD_FLAGS}
51+
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -lflann_s ${MEX_BUILD_FLAGS}
4452
DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp
4553
COMMENT "Building MEX extension ${MEX_FILE}"
4654
)
@@ -62,7 +70,7 @@ elseif(OCT_CMD)
6270
ADD_CUSTOM_COMMAND(
6371
OUTPUT ${MEX_FILE}
6472
COMMAND ${OCT_CMD}
65-
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${LIBRARY_OUTPUT_PATH} -DFLANN_STATIC -lflann_s --mex
73+
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -DFLANN_STATIC -lflann_s --mex
6674
DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp
6775
COMMENT "Building MEX extension ${MEX_FILE}"
6876
)

0 commit comments

Comments
 (0)