|
1 |
| -message(STATUS "Getting SWIG: ...") |
2 |
| - |
3 | 1 | # Download and unpack swig at configure time
|
4 |
| -configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.swig swig-download/CMakeLists.txt) |
5 |
| -execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . |
| 2 | +message(CHECK_START "Fetching SWIG") |
| 3 | +list(APPEND CMAKE_MESSAGE_INDENT " ") |
| 4 | +configure_file( |
| 5 | + ${CMAKE_CURRENT_LIST_DIR}/SWIG.CMakeLists.txt.in |
| 6 | + ${CMAKE_CURRENT_BINARY_DIR}/SWIG/CMakeLists.txt |
| 7 | + @ONLY |
| 8 | +) |
| 9 | + |
| 10 | +execute_process( |
| 11 | + COMMAND ${CMAKE_COMMAND} -H. -Bproject_build -G "${CMAKE_GENERATOR}" |
6 | 12 | RESULT_VARIABLE result
|
7 |
| - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/swig-download ) |
| 13 | + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SWIG) |
8 | 14 | if(result)
|
9 |
| - message(FATAL_ERROR "CMake step for swig failed: ${result}") |
| 15 | + message(FATAL_ERROR "CMake step for SWIG failed: ${result}") |
10 | 16 | endif()
|
11 |
| -execute_process(COMMAND ${CMAKE_COMMAND} --build . |
| 17 | + |
| 18 | +execute_process( |
| 19 | + COMMAND ${CMAKE_COMMAND} --build project_build --config Release |
12 | 20 | RESULT_VARIABLE result
|
13 |
| - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/swig-download ) |
| 21 | + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SWIG) |
14 | 22 | if(result)
|
15 |
| - message(FATAL_ERROR "Build step for swig failed: ${result}") |
| 23 | + message(FATAL_ERROR "Build step for SWIG failed: ${result}") |
16 | 24 | endif()
|
17 | 25 |
|
18 |
| -# Define SWIG_EXECUTABLE (used as "hint" by FindSWIG) |
19 |
| -set(SWIG_EXECUTABLE ${CMAKE_BINARY_DIR}/swig/swig.exe) |
20 |
| - |
21 |
| -message(STATUS "Getting SWIG: ...DONE") |
| 26 | +set(SWIG_EXECUTABLE |
| 27 | + ${CMAKE_CURRENT_BINARY_DIR}/SWIG/source/swig.exe |
| 28 | + CACHE INTERNAL "swig.exe location" FORCE) |
| 29 | +list(POP_BACK CMAKE_MESSAGE_INDENT) |
| 30 | +message(CHECK_PASS "fetched") |
0 commit comments