abhijeet mhatre wrote:
Hi  list
  I am using cmake as a tool for generating Linux makefiles.

I read the documentation and made a CmakeLists.txt file.
but when I do a cmake . , I get  errors

here is the CmakeLists.txt file
----------------------
PROJECT(myproject)
SET_TARGET_PROPERTIES(HelloWorld PROPERTIES LINKER_LANGUAGE CXX)
INCLUDE_DIRECTORIES(../dcmtk-3.5.4/dcmnet/apps ../dcmtk-3.5.4/dcmnet/include ../dcmtk-3.5.4/dcmdata/include ../dcmtk-3.5.4/dcmdata ../dcmtk-3.5.4/ofstd/include ../dcmtk-3.5.4/config/include) ADD_DEFINITIONS(-DHAVE_CONFIG_H -DNDEBUG -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L) LINK_DIRECTORIES(../dcmtk-3.5.4/dcmnet/libsrc ../dcmtk-3.5.4/dcmdata/libsrc ../dcmtk-3.5.4/ofstd/libsrc ../dcmtk-3.5.4/dcmtls/libsrc) TARGET_LINK_LIBRARIES(HelloWorld dcmnet dcmdata ofstd z wrap dcmtls dl m rt pthread nsl)
ADD_EXECUTABLE(HelloWorld HelloWorld.cpp)
--------------------

and here are the errors
--------------------
CMake Error: Attempt to add link library "dcmnet" to target "HelloWorld" which is not built by this project. CMake Error: Attempt to add link library "dcmdata" to target "HelloWorld" which is not built by this project.
....
---------------------

Agreed that I am linking to a library that's not built by CMake. But shouldn't I be allowed to do it?
Actually, it is trying to say that target "HelloWorld" is not built by the project. The TARGET_LINK_LIBRARIES command must come AFTER the ADD_EXECUTABLE command so that cmake will know what the target is.

-Bill

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to