boost bjam не удается как внешний проект cmake - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь добавить boost bjam build как внешний проект cmake.

Это мой код cmake для сборки boost

include(ExternalProject)
ExternalProject_Add(
        libboost
        PREFIX ${BOOST_BUILD_DIRECTORY}
        SOURCE_DIR ${BOOST_SOURCE_DIRECTORY}
        BINARY_DIR ${BOOST_SOURCE_DIRECTORY}
        CONFIGURE_COMMAND ""
        BUILD_COMMAND ${b2Path}
                --build-dir=${BOOST_BUILD_DIRECTORY}
                --link=static
                --variant=debug
                --build-type=complete
        INSTALL_COMMAND ${b2Path}
                --prefix=${BOOST_BUILD_DIRECTORY}/${BoostFolderName}
                --link=static
                --variant=debug
                --build-type=complete
        INSTALL_DIR ${BOOST_BUILD_DIRECTORY}/${BoostFolderName}
        LOG_BUILD ON
        LOG_INSTALL ON
        )
message("boostbuild done")

Проблема в том, что время от времени она выходит из строя. тот же шаг для bjam не завершается неудачей, если он вызывается из командной строки.

Ошибка:

 type "C:\Users\adhal\AppData\Local\Temp\jam6818c95b4.000" > "C:\build-sdk-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug\external\boost\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\link-static\runtime-link-static\threading-multi\libboost_program_options-variant-vc141-mt-sgd-x64-1_73-static.cmake"

...failed text-action C:\build-sdk-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug\external\boost\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\link-static\runtime-link-static\threading-multi\libboost_program_options-variant-vc141-mt-sgd-x64-1_73-static.cmake...
...skipped <pC:\proj\sdk\external\boost-program-options\stage\lib\cmake\boost_program_options-1.73.0>libboost_program_options-variant-vc141-mt-sgd-x64-1_73-static.cmake for lack of <pC:\build-sdk-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug\external\boost\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\link-static\runtime-link-static\threading-multi>libboost_program_options-variant-vc141-mt-sgd-x64-1_73-static.cmake...
compile-c-c++ C:\build-sdk-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug\external\boost\boost\bin.v2\libs\regex\build\msvc-14.1\debug\address-model-64\link-static\runtime-link-static\threading-multi\regex.obj

Когда я выполняю тот же самый шаг, он не скомпилирует файл (C: \ Users \ adhal \ AppData \ Local \ Temp \ jam6818c95b4.000). Поскольку это временный файл, он удаляется.

Может кто-нибудь сказать мне, если я делаю что-то не так? Можно ли указать отдельный временный каталог для bjam?

...