<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=PT-BR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hello,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I am using CMake to build a shared lib on Visual Studio 2008. The problem here is that every time I try to debug the executable that uses that library, the visual studio links its objects again, even if no changes were made.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Do someone know what could be going on?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>The CMakeLists for this lib is:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>cmake_minimum_required(VERSION 2.8)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>project(apwinnt)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(APWINNT_SOURCES<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INTERFACETST_PATH}/apwinnt.cpp<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> except.cpp<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INTERFACETST_PATH}/interfacetst.cpp<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INTERFACETST_PATH}/serverunittest.cpp<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(APWINNT_HEADERS<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> except.hpp<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INTERFACETST_PATH}/serverunittest.h<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(APWINNT_LIBS<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> wsock32.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> odbc32.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> odbccp32.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> Version.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> psapi.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> Dbghelp.lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> tmq<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> lib_jpeg<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> advpl<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> web<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> lib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(TOTVS_INCLUDES_PATHS<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_LIB_COMM_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_LIB_BASE_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_OPENSSL_PATH}/inc32<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_LIB_GZIP_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_WEB_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INTERFACE_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_ADVPL_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_ADS_INCLUDE_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_LIB_GETSYS_PATH}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(DEFINITIONS "/DAPWINNT_EXPORTS /DBUILD_MAKEDLL")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(DEFINITIONS_RELEASE "/D_USRDLL /DCLICONN_EXPORTS")<o:p></o:p></span></p><p class=MsoNormal>set(DEFINITIONS_DEBUG "")<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#os "ignore" são pra ignorar warnings específicos que são gerados pelo libXML.<o:p></o:p></p><p class=MsoNormal><span lang=EN-US>set(LINKER_FLAGS "/ignore:4217 /ignore:4049")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(LINKER_FLAGS_DEBUG "/LIBPATH:${TOTVS_OPENSSL_PATH}/debug /LIBPATH:${TOTVS_LIB_ICONV_PATH}/debug /LIBPATH:${TOTVS_XML_PATH}/debug /LIBPATH:${TOTVS_XMLSEC_PATH}/debug Dbghelp.lib")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(LINKER_FLAGS_RELEASE "/INCREMENTAL /INCLUDE:_SmartHeap_malloc /LIBPATH:${TOTVS_OPENSSL_PATH}/release /LIBPATH:${TOTVS_LIB_ICONV_PATH}/release /LIBPATH:${TOTVS_XML_PATH}/release /LIBPATH:${TOTVS_XMLSEC_PATH}/release ${TOTVS_SMARTHEAP_PATH}/msvc/shdsmpmt.lib")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DEFINITIONS}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEFINITIONS_DEBUG}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${DEFINITIONS_RELEASE}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${LINKER_FLAGS_DEBUG} ${LIBRARIES_DEBUG}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${LINKER_FLAGS_RELEASE}")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>include_directories(<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ${TOTVS_INCLUDES_PATHS}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>add_library(apwinnt SHARED ${APWINNT_SOURCES} ${APWINNT_HEADERS})<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>target_link_libraries(apwinnt ${APWINNT_LIBS})<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>The Visual Studio’s output is:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>------ Build started: Project: apwinnt, Configuration: Debug Win32 ------<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>Linking...<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>LINK : C:\advtec9\trunk\bin_sem_unittest\apwinnt\Debug\apwinnt.dll not found or not built by the last incremental link; performing full link<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1> Creating library C:\advtec9\trunk\bin_sem_unittest\apwinnt\Debug\apwinnt.lib and object C:\advtec9\trunk\bin_sem_unittest\apwinnt\Debug\apwinnt.exp<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>Embedding manifest...<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>Build log was saved at "file://c:\advtec9\trunk\bin_sem_unittest\apwinnt\apwinnt.dir\Debug\BuildLog.htm"<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>1>apwinnt - 0 error(s), 0 warning(s)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>========== Build: 1 succeeded, 0 failed, 21 up-to-date, 0 skipped ==========</span><span lang=EN-US><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Thanks!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Renan Greinert<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>