https://github.com/Kitware/CMake
Revision 0c7433e874d5f28b15009dbfb1f19ecb34cd71ee authored by Roland Schulz on 13 April 2018, 00:49:05 UTC, committed by Brad King on 16 April 2018, 18:11:12 UTC
The change in commit v3.11.0-rc1~334^2 (FindOpenMP: Use NO_DEFAULT_PATH
where appropriate, 2017-11-15) broke partial support for Intel on Windows.
Since `OpenMP_${LANG}_IMPLICIT_LINK_DIRS` is empty for this compiler
the `find_library` call without `NO_DEFAULT_PATH` worked accidentally
in environments with the needed libraries in the search path already.

Fix support for Intel on Windows by simply removing our explicit search
for the `libiomp5md` library.  In cases that it is needed, the compiler
already inserts metadata in `.obj` files to tell the MSVC linker to use
the library.

Suggested-by: Christian Pfeiffer <cpfeiffer@live.de>
Fixes: #17910
1 parent 61fd4c7
Raw File
Tip revision: 0c7433e874d5f28b15009dbfb1f19ecb34cd71ee authored by Roland Schulz on 13 April 2018, 00:49:05 UTC
FindOpenMP: Fix support for Intel on Windows
Tip revision: 0c7433e
cmLocalXCodeGenerator.h
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#ifndef cmLocalXCodeGenerator_h
#define cmLocalXCodeGenerator_h

#include "cmConfigure.h" // IWYU pragma: keep

#include <map>
#include <string>

#include "cmLocalGenerator.h"

class cmGeneratorTarget;
class cmGlobalGenerator;
class cmMakefile;
class cmSourceFile;

/** \class cmLocalXCodeGenerator
 * \brief Write a local Xcode project
 *
 * cmLocalXCodeGenerator produces a LocalUnix makefile from its
 * member Makefile.
 */
class cmLocalXCodeGenerator : public cmLocalGenerator
{
public:
  ///! Set cache only and recurse to false by default.
  cmLocalXCodeGenerator(cmGlobalGenerator* gg, cmMakefile* mf);

  ~cmLocalXCodeGenerator() override;
  std::string GetTargetDirectory(
    cmGeneratorTarget const* target) const override;
  void AppendFlagEscape(std::string& flags,
                        const std::string& rawFlag) const override;
  void Generate() override;
  virtual void GenerateInstallRules();
  void ComputeObjectFilenames(
    std::map<cmSourceFile const*, std::string>& mapping,
    cmGeneratorTarget const* gt = nullptr) override;

private:
};

#endif
back to top