-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathswig.cmake
30 lines (27 loc) · 925 Bytes
/
swig.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Download and unpack swig at configure time
message(CHECK_START "Fetching SWIG")
list(APPEND CMAKE_MESSAGE_INDENT " ")
configure_file(
${CMAKE_CURRENT_LIST_DIR}/SWIG.CMakeLists.txt.in
${CMAKE_CURRENT_BINARY_DIR}/SWIG/CMakeLists.txt
@ONLY
)
execute_process(
COMMAND ${CMAKE_COMMAND} -H. -Bproject_build -G "${CMAKE_GENERATOR}"
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SWIG)
if(result)
message(FATAL_ERROR "CMake step for SWIG failed: ${result}")
endif()
execute_process(
COMMAND ${CMAKE_COMMAND} --build project_build --config Release
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SWIG)
if(result)
message(FATAL_ERROR "Build step for SWIG failed: ${result}")
endif()
set(SWIG_EXECUTABLE
${CMAKE_CURRENT_BINARY_DIR}/SWIG/source/swig.exe
CACHE INTERNAL "swig.exe location" FORCE)
list(POP_BACK CMAKE_MESSAGE_INDENT)
message(CHECK_PASS "fetched")