|
| 1 | +include(ExternalProject) |
| 2 | +set(EXTERNAL_BASE_DIR ${CMAKE_BINARY_DIR}/external CACHE STRING "External base directory") |
| 3 | + |
| 4 | +ExternalProject_Add( |
| 5 | + zlib_src |
| 6 | + PREFIX ${EXTERNAL_BASE_DIR} |
| 7 | + GIT_REPOSITORY https://github.com/madler/zlib.git |
| 8 | + GIT_TAG 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf # v1.3.1 |
| 9 | + GIT_SHALLOW True |
| 10 | + UPDATE_DISCONNECTED True |
| 11 | + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_BASE_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=${CMAKE_MSVC_RUNTIME_LIBRARY} -DZLIB_BUILD_MINIZIP=1 |
| 12 | + BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release |
| 13 | + BUILD_BYPRODUCTS ${EXTERNAL_BASE_DIR}/lib/libz.a |
| 14 | + INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config Release |
| 15 | +) |
| 16 | +add_library(zlib STATIC IMPORTED) |
| 17 | +set_target_properties(zlib PROPERTIES IMPORTED_LOCATION ${EXTERNAL_BASE_DIR}/lib/libz.a) |
| 18 | +add_dependencies(zlib zlib_src) |
| 19 | + |
| 20 | +set(ZLIB_SRC_DIR ${EXTERNAL_BASE_DIR}/src/zlib_src) |
| 21 | +set_source_files_properties(${ZLIB_SRC_DIR}/contrib/minizip/ioapi.c PROPERTIES GENERATED 1) |
| 22 | +set_source_files_properties(${ZLIB_SRC_DIR}/contrib/minizip/unzip.c PROPERTIES GENERATED 1) |
| 23 | +set_source_files_properties(${ZLIB_SRC_DIR}/contrib/minizip/iowin32.c PROPERTIES GENERATED 1) |
| 24 | + |
| 25 | +ExternalProject_Add( |
| 26 | + xml2_src |
| 27 | + PREFIX ${EXTERNAL_BASE_DIR} |
| 28 | + GIT_REPOSITORY https://github.com/GNOME/libxml2.git |
| 29 | + GIT_TAG 60d3056c97067e6cb2125284878ed7c99c90ed81 # v2.13.4 |
| 30 | + GIT_SHALLOW True |
| 31 | + UPDATE_DISCONNECTED True |
| 32 | + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_BASE_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=${CMAKE_MSVC_RUNTIME_LIBRARY} -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_ZLIB=OFF -DLIBXML2_WITH_TESTS=OFF |
| 33 | + BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release |
| 34 | + BUILD_BYPRODUCTS ${EXTERNAL_BASE_DIR}/lib/libxml2.a |
| 35 | + INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config Release |
| 36 | +) |
| 37 | +add_library(xml2 STATIC IMPORTED) |
| 38 | +set_target_properties(xml2 PROPERTIES IMPORTED_LOCATION ${EXTERNAL_BASE_DIR}/lib/libxml2.a) |
| 39 | +add_dependencies(xml2 xml2_src) |
| 40 | + |
| 41 | +ExternalProject_Add( |
| 42 | + cvcode_src |
| 43 | + PREFIX ${EXTERNAL_BASE_DIR} |
| 44 | + GIT_REPOSITORY https://github.com/LLNL/sundials.git |
| 45 | + GIT_TAG c28eaa3764a03705d61decb6025b409360e9d53f # v7.1.1 |
| 46 | + GIT_SHALLOW True |
| 47 | + UPDATE_DISCONNECTED True |
| 48 | + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_BASE_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=${CMAKE_MSVC_RUNTIME_LIBRARY} -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DEXAMPLES_INSTALL=OFF -DSUNDIALS_ENABLE_ERROR_CHECKS=OFF |
| 49 | + BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release |
| 50 | + BUILD_BYPRODUCTS ${EXTERNAL_BASE_DIR}/lib/libsundials_cvode.a ${EXTERNAL_BASE_DIR}/lib/libsundials_core.a |
| 51 | + INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config Release |
| 52 | +) |
| 53 | +add_library(cvcode STATIC IMPORTED) |
| 54 | +set_target_properties(cvcode PROPERTIES IMPORTED_LOCATION ${EXTERNAL_BASE_DIR}/lib/libsundials_core.a) |
| 55 | +add_dependencies(cvcode cvcode_src) |
0 commit comments