<div dir="ltr">Thanks. =(</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 18, 2015 at 1:24 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fixed in r232663.<br>
<div class="HOEnZb"><div class="h5"><br>
On 18 March 2015 at 16:21, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br>
> I am getting errors like:<br>
><br>
> CMake Error at cmake/modules/AddLLVM.cmake:495 (set_target_properties):<br>
>   set_target_properties Can not find target to add properties to: llvm-stress<br>
> Call Stack (most recent call first):<br>
>   tools/lli/CMakeLists.txt:42 (export_executable_symbols)<br>
><br>
> On 18 March 2015 at 16:09, Reid Kleckner <<a href="mailto:reid@kleckner.net">reid@kleckner.net</a>> wrote:<br>
>> Author: rnk<br>
>> Date: Wed Mar 18 15:09:13 2015<br>
>> New Revision: 232662<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=232662&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=232662&view=rev</a><br>
>> Log:<br>
>> CMake: Disable ENABLE_EXPORTS for executables with MSVC<br>
>><br>
>> The MSVC linker won't produce a .lib file for an executable that doesn't<br>
>> export anything, and LLVM doesn't maintain dllexport annotations or .def<br>
>> files listing all C++ symbols. It also doesn't support exporting all<br>
>> symbols, like binutils ld.<br>
>><br>
>> CMake 3.2 changed the Ninja generator to list both the .exe and .lib<br>
>> files as outputs of executable build targets. Ninja would always re-link<br>
>> executables with ENABLE_EXPORTS because the .lib output file was not<br>
>> present, and therefore the target was out of date.<br>
>><br>
>> Modified:<br>
>>     llvm/trunk/CMakeLists.txt<br>
>>     llvm/trunk/cmake/modules/AddLLVM.cmake<br>
>>     llvm/trunk/examples/ExceptionDemo/CMakeLists.txt<br>
>>     llvm/trunk/tools/bugpoint/CMakeLists.txt<br>
>>     llvm/trunk/tools/llc/CMakeLists.txt<br>
>>     llvm/trunk/tools/lli/CMakeLists.txt<br>
>>     llvm/trunk/tools/llvm-stress/CMakeLists.txt<br>
>>     llvm/trunk/tools/opt/CMakeLists.txt<br>
>><br>
>> Modified: llvm/trunk/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -557,7 +557,7 @@ if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )<br>
>>  endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )<br>
>><br>
>>  # Make sure we don't get -rdynamic in every binary. For those that need it,<br>
>> -# use set_target_properties(target PROPERTIES ENABLE_EXPORTS 1)<br>
>> +# use export_executable_symbols(target).<br>
>>  set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")<br>
>><br>
>>  include(AddLLVM)<br>
>><br>
>> Modified: llvm/trunk/cmake/modules/AddLLVM.cmake<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/cmake/modules/AddLLVM.cmake (original)<br>
>> +++ llvm/trunk/cmake/modules/AddLLVM.cmake Wed Mar 18 15:09:13 2015<br>
>> @@ -490,6 +490,12 @@ macro(add_llvm_executable name)<br>
>>    endif( LLVM_COMMON_DEPENDS )<br>
>>  endmacro(add_llvm_executable name)<br>
>><br>
>> +function(export_executable_symbols target)<br>
>> +  if (NOT MSVC) # MSVC's linker doesn't support exporting all symbols.<br>
>> +    set_target_properties(${target} PROPERTIES ENABLE_EXPORTS 1)<br>
>> +  endif()<br>
>> +endfunction()<br>
>> +<br>
>><br>
>>  set (LLVM_TOOLCHAIN_TOOLS<br>
>>    llvm-ar<br>
>><br>
>> Modified: llvm/trunk/examples/ExceptionDemo/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/ExceptionDemo/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/ExceptionDemo/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/examples/ExceptionDemo/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/examples/ExceptionDemo/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -15,4 +15,4 @@ add_llvm_example(ExceptionDemo<br>
>>    ExceptionDemo.cpp<br>
>>    )<br>
>><br>
>> -set_target_properties(ExceptionDemo PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(ExceptionDemo)<br>
>><br>
>> Modified: llvm/trunk/tools/bugpoint/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/tools/bugpoint/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/tools/bugpoint/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -31,7 +31,7 @@ add_llvm_tool(bugpoint<br>
>>    ToolRunner.cpp<br>
>>    bugpoint.cpp<br>
>>    )<br>
>> -set_target_properties(bugpoint PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(bugpoint)<br>
>><br>
>>  if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)<br>
>>    target_link_libraries(bugpoint Polly)<br>
>><br>
>> Modified: llvm/trunk/tools/llc/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/tools/llc/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/tools/llc/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -17,4 +17,4 @@ set(LLVM_NO_DEAD_STRIP 1)<br>
>>  add_llvm_tool(llc<br>
>>    llc.cpp<br>
>>    )<br>
>> -set_target_properties(llc PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(llc)<br>
>><br>
>> Modified: llvm/trunk/tools/lli/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/tools/lli/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/tools/lli/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -39,4 +39,4 @@ add_llvm_tool(lli<br>
>>    RemoteTarget.cpp<br>
>>    RemoteTargetExternal.cpp<br>
>>    )<br>
>> -set_target_properties(lli PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(llvm-stress)<br>
>><br>
>> Modified: llvm/trunk/tools/llvm-stress/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-stress/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-stress/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/tools/llvm-stress/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/tools/llvm-stress/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -7,4 +7,4 @@ set(LLVM_LINK_COMPONENTS<br>
>>  add_llvm_tool(llvm-stress<br>
>>    llvm-stress.cpp<br>
>>    )<br>
>> -set_target_properties(llvm-stress PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(llvm-stress)<br>
>><br>
>> Modified: llvm/trunk/tools/opt/CMakeLists.txt<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/CMakeLists.txt?rev=232662&r1=232661&r2=232662&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/tools/opt/CMakeLists.txt (original)<br>
>> +++ llvm/trunk/tools/opt/CMakeLists.txt Wed Mar 18 15:09:13 2015<br>
>> @@ -31,7 +31,7 @@ add_llvm_tool(opt<br>
>>    PrintSCC.cpp<br>
>>    opt.cpp<br>
>>    )<br>
>> -set_target_properties(opt PROPERTIES ENABLE_EXPORTS 1)<br>
>> +export_executable_symbols(opt)<br>
>><br>
>>  if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)<br>
>>    target_link_libraries(opt Polly)<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>