|
12 | 12 | # See the License for the specific language governing permissions and
|
13 | 13 | # limitations under the License.
|
14 | 14 |
|
15 |
| -# build swig as an external project |
16 |
| -INCLUDE(ExternalProject) |
| 15 | +FIND_PACKAGE(SWIG) |
17 | 16 |
|
18 |
| -SET(SWIG_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/swig) |
19 |
| -SET(SWIG_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/swig) |
20 |
| -SET(SWIG_TARGET_VERSION "3.0.2") |
21 |
| -SET(SWIG_DOWNLOAD_SRC_MD5 "62f9b0d010cef36a13a010dc530d0d41") |
22 |
| -SET(SWIG_DOWNLOAD_WIN_MD5 "3f18de4fc09ab9abb0d3be37c11fbc8f") |
| 17 | +IF(NOT SWIG_FOUND) |
| 18 | + # build swig as an external project |
| 19 | + INCLUDE(ExternalProject) |
23 | 20 |
|
24 |
| -IF(WIN32) |
25 |
| - # swig.exe available as pre-built binary on Windows: |
26 |
| - ExternalProject_Add(swig |
27 |
| - URL http://prdownloads.sourceforge.net/swig/swigwin-${SWIG_TARGET_VERSION}.zip |
28 |
| - URL_MD5 ${SWIG_DOWNLOAD_WIN_MD5} |
29 |
| - SOURCE_DIR ${SWIG_SOURCES_DIR} |
30 |
| - CONFIGURE_COMMAND "" |
31 |
| - BUILD_COMMAND "" |
32 |
| - INSTALL_COMMAND "" |
33 |
| - UPDATE_COMMAND "" |
34 |
| - ) |
35 |
| - SET(SWIG_DIR ${SWIG_SOURCES_DIR} CACHE FILEPATH "SWIG Directory" FORCE) |
36 |
| - SET(SWIG_EXECUTABLE ${SWIG_SOURCES_DIR}/swig.exe CACHE FILEPATH "SWIG Executable" FORCE) |
37 |
| -ELSE(WIN32) |
38 |
| - # From PCRE configure |
39 |
| - ExternalProject_Add(pcre |
40 |
| - ${EXTERNAL_PROJECT_LOG_ARGS} |
41 |
| - GIT_REPOSITORY https://github.com/svn2github/pcre.git |
42 |
| - PREFIX ${SWIG_SOURCES_DIR}/pcre |
43 |
| - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${SWIG_INSTALL_DIR}/pcre |
44 |
| - ) |
| 21 | + SET(SWIG_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/swig) |
| 22 | + SET(SWIG_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/swig) |
| 23 | + SET(SWIG_TARGET_VERSION "3.0.2") |
| 24 | + SET(SWIG_DOWNLOAD_SRC_MD5 "62f9b0d010cef36a13a010dc530d0d41") |
| 25 | + SET(SWIG_DOWNLOAD_WIN_MD5 "3f18de4fc09ab9abb0d3be37c11fbc8f") |
45 | 26 |
|
46 |
| - # swig uses bison find it by cmake and pass it down |
47 |
| - FIND_PACKAGE(BISON) |
| 27 | + IF(WIN32) |
| 28 | + # swig.exe available as pre-built binary on Windows: |
| 29 | + ExternalProject_Add(swig |
| 30 | + URL http://prdownloads.sourceforge.net/swig/swigwin-${SWIG_TARGET_VERSION}.zip |
| 31 | + URL_MD5 ${SWIG_DOWNLOAD_WIN_MD5} |
| 32 | + SOURCE_DIR ${SWIG_SOURCES_DIR} |
| 33 | + CONFIGURE_COMMAND "" |
| 34 | + BUILD_COMMAND "" |
| 35 | + INSTALL_COMMAND "" |
| 36 | + UPDATE_COMMAND "" |
| 37 | + ) |
| 38 | + SET(SWIG_DIR ${SWIG_SOURCES_DIR} CACHE FILEPATH "SWIG Directory" FORCE) |
| 39 | + SET(SWIG_EXECUTABLE ${SWIG_SOURCES_DIR}/swig.exe CACHE FILEPATH "SWIG Executable" FORCE) |
| 40 | + ELSE(WIN32) |
| 41 | + # From PCRE configure |
| 42 | + ExternalProject_Add(pcre |
| 43 | + ${EXTERNAL_PROJECT_LOG_ARGS} |
| 44 | + GIT_REPOSITORY https://github.com/svn2github/pcre.git |
| 45 | + PREFIX ${SWIG_SOURCES_DIR}/pcre |
| 46 | + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${SWIG_INSTALL_DIR}/pcre |
| 47 | + ) |
48 | 48 |
|
49 |
| - # From SWIG configure |
50 |
| - ExternalProject_Add(swig |
51 |
| - GIT_REPOSITORY https://github.com/swig/swig.git |
52 |
| - GIT_TAG rel-3.0.10 |
53 |
| - PREFIX ${SWIG_SOURCES_DIR} |
54 |
| - CONFIGURE_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && ./autogen.sh |
55 |
| - CONFIGURE_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && |
56 |
| - env "PCRE_LIBS=${SWIG_INSTALL_DIR}/pcre/lib/libpcre.a ${SWIG_INSTALL_DIR}/pcre/lib/libpcrecpp.a ${SWIG_INSTALL_DIR}/pcre/lib/libpcreposix.a" |
57 |
| - ./configure |
58 |
| - --prefix=${SWIG_INSTALL_DIR} |
59 |
| - --with-pcre-prefix=${SWIG_INSTALL_DIR}/pcre |
60 |
| - BUILD_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && make |
61 |
| - INSTALL_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && make install |
62 |
| - UPDATE_COMMAND "" |
63 |
| - DEPENDS pcre |
64 |
| - ) |
| 49 | + # swig uses bison find it by cmake and pass it down |
| 50 | + FIND_PACKAGE(BISON) |
65 | 51 |
|
66 |
| - SET(SWIG_DIR ${SWIG_INSTALL_DIR}/share/swig/${SWIG_TARGET_VERSION}) |
67 |
| - SET(SWIG_EXECUTABLE ${SWIG_INSTALL_DIR}/bin/swig) |
68 |
| -ENDIF(WIN32) |
| 52 | + # From SWIG configure |
| 53 | + ExternalProject_Add(swig |
| 54 | + GIT_REPOSITORY https://github.com/swig/swig.git |
| 55 | + GIT_TAG rel-3.0.10 |
| 56 | + PREFIX ${SWIG_SOURCES_DIR} |
| 57 | + CONFIGURE_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && ./autogen.sh |
| 58 | + CONFIGURE_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && |
| 59 | + env "PCRE_LIBS=${SWIG_INSTALL_DIR}/pcre/lib/libpcre.a ${SWIG_INSTALL_DIR}/pcre/lib/libpcrecpp.a ${SWIG_INSTALL_DIR}/pcre/lib/libpcreposix.a" |
| 60 | + ./configure |
| 61 | + --prefix=${SWIG_INSTALL_DIR} |
| 62 | + --with-pcre-prefix=${SWIG_INSTALL_DIR}/pcre |
| 63 | + BUILD_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && make |
| 64 | + INSTALL_COMMAND cd ${SWIG_SOURCES_DIR}/src/swig && make install |
| 65 | + UPDATE_COMMAND "" |
| 66 | + DEPENDS pcre |
| 67 | + ) |
69 | 68 |
|
70 |
| -LIST(APPEND external_project_dependencies swig) |
| 69 | + SET(SWIG_DIR ${SWIG_INSTALL_DIR}/share/swig/${SWIG_TARGET_VERSION}) |
| 70 | + SET(SWIG_EXECUTABLE ${SWIG_INSTALL_DIR}/bin/swig) |
| 71 | + ENDIF(WIN32) |
| 72 | + |
| 73 | + LIST(APPEND external_project_dependencies swig) |
| 74 | +ENDIF(NOT SWIG_FOUND) |
0 commit comments