[CMake] Visual Studio links again even if no changes were made
Renan Greinert
renan.greinert at totvs.com.br
Fri Dec 9 14:44:02 EST 2011
Hello,
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.
Do someone know what could be going on?
The CMakeLists for this lib is:
cmake_minimum_required(VERSION 2.8)
project(apwinnt)
set(APWINNT_SOURCES
${TOTVS_INTERFACETST_PATH}/apwinnt.cpp
except.cpp
${TOTVS_INTERFACETST_PATH}/interfacetst.cpp
${TOTVS_INTERFACETST_PATH}/serverunittest.cpp
)
set(APWINNT_HEADERS
except.hpp
${TOTVS_INTERFACETST_PATH}/serverunittest.h
)
set(APWINNT_LIBS
wsock32.lib
odbc32.lib
odbccp32.lib
Version.lib
psapi.lib
Dbghelp.lib
tmq
lib_jpeg
advpl
web
lib
)
set(TOTVS_INCLUDES_PATHS
${TOTVS_LIB_COMM_PATH}
${TOTVS_LIB_BASE_PATH}
${TOTVS_OPENSSL_PATH}/inc32
${TOTVS_LIB_GZIP_PATH}
${TOTVS_WEB_PATH}
${TOTVS_INTERFACE_PATH}
${TOTVS_ADVPL_PATH}
${TOTVS_ADS_INCLUDE_PATH}
${TOTVS_LIB_GETSYS_PATH}
)
set(DEFINITIONS "/DAPWINNT_EXPORTS /DBUILD_MAKEDLL")
set(DEFINITIONS_RELEASE "/D_USRDLL /DCLICONN_EXPORTS")
set(DEFINITIONS_DEBUG "")
#os "ignore" são pra ignorar warnings específicos que são gerados pelo
libXML.
set(LINKER_FLAGS "/ignore:4217 /ignore:4049")
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")
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")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DEFINITIONS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEFINITIONS_DEBUG}")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}
${DEFINITIONS_RELEASE}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}
${LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}
${LINKER_FLAGS_DEBUG} ${LIBRARIES_DEBUG}")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}
${LINKER_FLAGS_RELEASE}")
include_directories(
${TOTVS_INCLUDES_PATHS}
)
add_library(apwinnt SHARED ${APWINNT_SOURCES} ${APWINNT_HEADERS})
target_link_libraries(apwinnt ${APWINNT_LIBS})
The Visual Studios output is:
1>------ Build started: Project: apwinnt, Configuration: Debug Win32 ------
1>Linking...
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
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
1>Embedding manifest...
1>Build log was saved at
"file://c:\advtec9\trunk\bin_sem_unittest\apwinnt\apwinnt.dir\Debug\BuildLog
.htm"
1>apwinnt - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 21 up-to-date, 0 skipped ==========
Thanks!
Renan Greinert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20111209/fe48b73b/attachment.htm>
More information about the CMake
mailing list