40

Вопрос по cmake, dll, visual-studio – Как установить переменную среды Path с помощью CMake и Visual Studio для запуска теста

Я использую CMake для создания файлов проекта Visual Studio. Я хочу запустить исполняемый файл теста после установки переменной среды PATH, чтобы он мог загрузить необходимую DLL. Я пытался в соответствии с обсуждением вhttp://www.mail-archive.com/[email protected]/msg21493.html Но это не работает.

Вы использовали CMake с Visual Studio для этой цели? Пожалуйста, поделитесь своим опытом.

Кроме того, я не нашел простого способа отладки моего сценария CMake, например, чтобы увидеть, какое значение он присваивает переменной PATH. Установка CMake многословно сCMAKE_VERBOSE_MAKEFILE не помогает. Как бы я пошел отладить его сам?

  • Error: User Rate Limit Exceeded"Set Visual Studio project "custom environment variables" setting with CMake"Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit ExceededCONFIGURE_FILEError: User Rate Limit Exceeded${OUTPUT_PATH}Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceededan answerError: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceededgithub.com/rpavlik/cmake-modules/blob/master/…Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • 9

    Просто заметил этот вопрос сейчас. Для отладки файлов cmake я использу

    ю

    MESSAGE( STATUS "static text ${variable}" )
    

    Мне никогда не приходилось устанавливать путь, чтобы мои тесты запускались. Вы используете CTest? Похоже, что ссылка, по которой вы переходите, используется ctest.

    Если бы я пытался заставить это работать, я бы использовалset_tests_properties явно первым.

    set_tests_properties(SomeTest PROPERTIES ENVIRONMENT "PATH=c:\somedir;c:\otherdir")
    

    Тогда сделайте это более общим.

  • 42

    Для настройки пользовательских настроек проекта в Visual Studio из CMa

    ke вы можете использовать XML-файл в качестве шаблона, который можно настроить из CMake для работы в качестве.user файл.
    В моей работе мы используем это для установки пользовательских параметров отладки.

    Проверьте каталог, содержащий сгенерированный.vcproj файлы для пользовательских настроек в.userError: User Rate Limit ExceededUserTemplate.vcproj файл, который мы используем.

    <?xml version="1.0" encoding="Windows-1252"?>
      <VisualStudioUserFile
        ProjectType="Visual C++"
        Version="9.00"
        ShowAllFiles="false"
        >
        <Configurations>
            <Configuration
                Name="Debug|@[email protected]"
                >
                <DebugSettings
                    Command="@[email protected]"
                    WorkingDirectory="@[email protected]"
                    CommandArguments="@[email protected]"
                    Attach="false"
                    DebuggerType="3"
                    Remote="1"
                    RemoteMachine="@[email protected]"
                                <!-- More settings removed for snippet -->
                />
            </Configuration>
                <!-- Rest of Configurations -->
    

    Таким образом, вы можете ввести любые необходимые переменные из CMake в.userError: User Rate Limit Exceeded

    # Find user and system name
    SET(SYSTEM_NAME $ENV{USERDOMAIN} CACHE STRING SystemName)
    SET(USER_NAME $ENV{USERNAME} CACHE STRING UserName)
    
    # Configure the template file
    SET(USER_FILE ${_projectName}.vcproj.${SYSTEM_NAME}.${USER_NAME}.user)
    SET(OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/${USER_FILE})
    CONFIGURE_FILE(UserTemplate.user ${USER_FILE} @ONLY)
    

  • 4

    Вот связанный отчет запроса функции CMake:

    http://www.kwwidgets.org/Bug/view.php?id=8884

    ОБНОВЛЕНИЕ: Решено согласноError: User Rate Limit Exceeded - спасибо Флориану за комментарий ниже.

  • 1

    Error: User Rate Limit Exceeded

    Например, если в дополнение к установке PATH вы хотите установить другую переменную OTHERVAR нужно было бы изменить строку

    <LocalDebuggerEnvironment>PATH=C:\Test</LocalDebuggerEnvironment>
    

    в

    <LocalDebuggerEnvironment>PATH=C:\Test &#xA;OTHERVAR="value of OTHERVAR"</LocalDebuggerEnvironment>
    

    &#xA;& Quot; говорит парсеру xml ввести символ LF. Так что несколько переменных определений возможны, если они разделены символом LF (также работает символ CR, но НЕ комбинация CRLF)

    &#xA;