Changeset View
Changeset View
Standalone View
Standalone View
build_files/build_environment/cmake/nasm.cmake
| Show All 21 Lines | ExternalProject_Add(external_nasm | ||||
| URL_HASH SHA256=${NASM_HASH} | URL_HASH SHA256=${NASM_HASH} | ||||
| PREFIX ${BUILD_DIR}/nasm | PREFIX ${BUILD_DIR}/nasm | ||||
| PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/nasm/src/external_nasm < ${PATCH_DIR}/nasm.diff | PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/nasm/src/external_nasm < ${PATCH_DIR}/nasm.diff | ||||
| CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/nasm | CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/nasm | ||||
| BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make -j${MAKE_THREADS} | BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make -j${MAKE_THREADS} | ||||
| INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make install | INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make install | ||||
| INSTALL_DIR ${LIBDIR}/nasm | INSTALL_DIR ${LIBDIR}/nasm | ||||
| ) | ) | ||||
| if(UNIX) | |||||
LazyDodo: `nasm.cmake` is already in a UNIX guard at the top level CMakeLists.txt so you can remove it… | |||||
| # `touch nasm.1 ndisasm.1` helps to create the manual pages files, even when | |||||
| # local `asciidoc` and `xmlto` packages are not installed. | |||||
| ExternalProject_Add_Step(external_nasm after_configure | |||||
| COMMAND ${CMAKE_COMMAND} -E touch ${BUILD_DIR}/nasm/src/external_nasm/nasm.1 ${BUILD_DIR}/nasm/src/external_nasm/ndisasm.1 | |||||
| DEPENDEES configure | |||||
| ) | |||||
| endif() | |||||
nasm.cmake is already in a UNIX guard at the top level CMakeLists.txt so you can remove it here if you want.
nasm is a build time requirement we do not ship in the libs, so i treat it no different than for instance cmake or the compiler, (ie you're on your own to obtain it) that's why there's no windows support for building it.