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