Error when using CMake with LLVM

后端 未结 5 561
慢半拍i
慢半拍i 2020-12-19 07:07

So I\'m trying to build a toy compiler using LLVM and I\'d like to use CMake as my build system. I tried using the sample CMakeLists.txt from LLVM\'s website, but I encounte

5条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-19 07:40

    You need to fix LLVMExports-relwithdebinfo.cmake instead of LLVMExports.cmake.

    In /usr/share/llvm-3.8/cmake, you can find LLVMExports-relwithdebinfo.cmake

    Once you open the file, manually set the import prefix

      # Commands may need to know the format version.                                                                                                                                                        
      set(CMAKE_IMPORT_FILE_VERSION 1)                                                                                                                                                                       
      set(_IMPORT_PREFIX "/usr/lib/llvm-3.8")     
    

    And comment out all libraries related with -polly.

    # Import target "PollyISL" for configuration "RelWithDebInfo"                                                                                                                                               
    # set_property(TARGET PollyISL APPEND PROPERTY IMPORTED_CONFIGURATIONS RELWITHDEBINFO)                                                                                                                      
    # set_target_properties(PollyISL PROPERTIES                                                                                                                                                                 
    #   IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "C"                                                                                                                                                    
    #   IMPORTED_LOCATION_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/libPollyISL.a"                                                                                                                                  
    #   )                                                                                                                                                                                                       
    #                                                                                                                                                                                                           
    # list(APPEND _IMPORT_CHECK_TARGETS PollyISL )                                                                                                                                                              
    # list(APPEND _IMPORT_CHECK_FILES_FOR_PollyISL "${_IMPORT_PREFIX}/lib/libPollyISL.a" )                                                                                                                      
    #                                                                                                                                                                                                           
    # # Import target "Polly" for configuration "RelWithDebInfo"                                                                                                                                                
    # set_property(TARGET Polly APPEND PROPERTY IMPORTED_CONFIGURATIONS RELWITHDEBINFO)                                                                                                                         
    # set_target_properties(Polly PROPERTIES                                                                                                                                                                    
    #   IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "CXX"                                                                                                                                                  
    #   IMPORTED_LOCATION_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/libPolly.a"                                                                                                                                     
    #   )                                                                                                                                                                                                       
    #                                                                                                                                                                                                           
    # list(APPEND _IMPORT_CHECK_TARGETS Polly )                                                                                                                                                                 
    # list(APPEND _IMPORT_CHECK_FILES_FOR_Polly "${_IMPORT_PREFIX}/lib/libPolly.a" )                                                                                                                            
    #                                                                                                                                                                                                           
    # # Import target "LLVMPolly" for configuration "RelWithDebInfo"                                                                                                                                            
    # set_property(TARGET LLVMPolly APPEND PROPERTY IMPORTED_CONFIGURATIONS RELWITHDEBINFO)                                                                                                                     
    # set_target_properties(LLVMPolly PROPERTIES                                                                                                                                                                
    #   IMPORTED_LOCATION_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/LLVMPolly.so"                                                                                                                                   
    #   IMPORTED_NO_SONAME_RELWITHDEBINFO "TRUE"                                                                                                                                                                
    #   )                                                                                                                                                                                                       
    #                                                                                                                                                                                                           
    # list(APPEND _IMPORT_CHECK_TARGETS LLVMPolly )                                                                                                                                                             
    # list(APPEND _IMPORT_CHECK_FILES_FOR_LLVMPolly "${_IMPORT_PREFIX}/lib/LLVMPolly.so" )  
    

    then in /usr/lib/llvm-3.8/lib

    sudo ln -s ../../x86_64-linux-gnu/libLLVM-3.8.so.1 ./libLLVM-3.8.so.1  
    

提交回复
热议问题