Skip to content

Commit a9ff6a9

Browse files
committed
Introduced CMake for MEX compilation
1 parent 721a051 commit a9ff6a9

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

toolbox/lib/CMakeLists.txt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,14 @@ endforeach()
2121

2222
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../src ${CMAKE_CURRENT_SOURCE_DIR}/../src/Utils )
2323

24-
if ( (UNIX OR LINUX) AND NOT APPLE )
25-
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
26-
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++")
24+
if ( UNIX OR LINUX )
25+
if ( NOT APPLE )
26+
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
27+
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++")
28+
endif()
29+
else()
30+
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows")
31+
add_definitions(-mwindows)
2732
endif()
2833

2934
set( MEX_LIST BaseHermite Spline1D Spline2D SplineSet SplineVec )
@@ -37,4 +42,7 @@ foreach( BASE ${MEX_LIST})
3742
"$<TARGET_FILE:${BASE}MexWrapper>"
3843
"${CMAKE_CURRENT_SOURCE_DIR}/../bin"
3944
)
45+
46+
target_link_libraries( ${BASE}MexWrapper ws2_32.lib iphlpapi.lib iphlpapi.lib kernel32.lib winpthread )
47+
4048
endforeach()

toolbox/lib/CompileSplinesLib_cmake.m

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@
1515
end
1616

1717
old_dir = cd(fileparts(which(mfilename)));
18-
system('cmake -Bbuild .');
19-
system('cmake --build build --parallel 8');
18+
%system('rmdir /S build');
19+
if isunix
20+
system('cmake -Bbuild .');
21+
system('cd build; make -j 10; cd ..');
22+
elseif ispc
23+
system('cmake -G "MinGW Makefiles" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -Bbuild .');
24+
system('cd build && make -j 10 && cd ..');
25+
end
26+
%system('cmake --build build --parallel 8');
2027
cd(old_dir);
2128

0 commit comments

Comments
 (0)