On Thu, Mar 25, 2010 at 12:51 PM, Michael Schildt <michael.schi...@ifn-magdeburg.de> wrote: >> >> On Wed, Mar 24, 2010 at 2:10 PM, John Drescher <drescherjm at gmail.com >> <http://www.cmake.org/mailman/listinfo/cmake>> wrote: >> >/ On Wed, Mar 24, 2010 at 1:42 PM, Michael Schildt >> />/ <michael.schildt at ifn-magdeburg.de >> <http://www.cmake.org/mailman/listinfo/cmake>> wrote: >> />>/ Hello, >> />>/ >> />>/ I use GDCM libaries in one project. Unfurtunally, i couldn't find a >> findGDCM >> />>/ module and i'm not experienced enough to write one. I have seen that >> GDCM is >> />>/ used in ITK, so there must be a module like this. GDCM is using cmake >> too, >> />>/ so inclusion should be easy. But i have problems to link the correkt >> library >> />>/ version depending on the configuration type. >> />>/ >> />>/ IF(WIN32) >> />>/ INCLUDE_DIRECTORIES(C:/Programme/GDCM\ 2.0/include/gdcm-2.0) >> />>/ IF(CMAKE_BUILD_TYPE MATCHES "Debug") >> />>/ LINK_DIRECTORIES("C:/Program Files/GDCM/bin/Debug") >> />>/ ELSE(CMAKE_BUILD_TYPE MATCHES "Debug") >> />>/ LINK_DIRECTORIES("C:/Program Files/GDCM/bin/Release") >> />>/ ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug") >> />>/ SET(GDCM_LIBRARIES gdcmcharls.lib gdcmCommon.lib gdcmDICT.lib >> gdcmDSED.lib >> />>/ gdcmexpat.lib gdcmgetopt.lib gdcmIOD.lib gdcmjpeg8.lib gdcmjpeg12.lib >> />>/ gdcmjpeg16.lib gdcmMSFF.lib gdcmopenjpeg.lib gdcmzlib.lib) >> />>/ ELSE(WIN32) >> />>/ # Linux >> />>/ INCLUDE_DIRECTORIES(/usr/include/gdcm-2.0) >> />>/ SET(GDCM_LIBRARIES gdcmCommon gdcmDICT gdcmDSED gdcmIOD gdcmjpeg8 >> />>/ gdcmjpeg12 gdcmjpeg16 gdcmMSFF) >> />>/ ENDIF(WIN32) >> />>/ >> />>/ He always includes the Relase Directory. What is a solution for this >> issue? >> />>/ >> />/ >> />/ Build GDCM from source and it will have the necessary finders. Do not >> />/ INSTALL. Then the usual in your CMakeLists.txt file. Here is an >> />/ example. >> />/ >> />/ CMakeLists.txt >> />/ cmake_minimum_required(VERSION 2.6) >> />/ >> />/ PROJECT(GDCMImageViewer) >> />/ >> />/ FIND_PACKAGE(VTK REQUIRED) >> />/ INCLUDE(${VTK_USE_FILE}) >> />/ >> />/ FIND_PACKAGE(GDCM REQUIRED) >> />/ INCLUDE(${GDCM_USE_FILE}) >> />/ >> />/ INCLUDE_DIRECTORIES( >> />/ ${GDCM_SOURCE_DIR}/Utilities/VTK >> />/ ) >> />/ >> />/ IF(WIN32 AND NOT CYGWIN) >> />/ ADD_SUBDIRECTORY(getopt) >> />/ INCLUDE_DIRECTORIES(getopt) >> />/ ENDIF(WIN32 AND NOT CYGWIN) >> />/ >> />/ ADD_EXECUTABLE(GDCMImageViewer gdcmviewer.cxx) >> />/ TARGET_LINK_LIBRARIES(GDCMImageViewer vtkHybrid vtkInfovis >> vtkWidgets >> />/ vtkgdcm getopt) >> />/ >> />/ >> / >> BTW when cmake-gui complains it can not find GDCM point it to the >> place where you built gdcm. Also make sure you build all >> configurations of GDCM that you want in the same build tree. That is >> why I said do not install. Since install will try to put the binaries >> in the same folder and since they are named the same it will cause >> problems. >> >> >> John >> > > Hi, > > thanks for the useful hints, cmake finds the package now. But unfurtunally, > it does not link the library and therefore i get a lot of unresolved > dependency from gdcm. i replaced my stuff with > > FIND_PACKAGE(GDCM REQUIRED) > INCLUDE(${GDCM_USE_FILE}) > > and tested the typical variables > > MESSAGE(STATUS "Cmake GDCM: using GDCM includes at: ${GDCM_INCLUDE_DIR}") > MESSAGE(STATUS "Cmake GDCM: using GDCM libraries: ${GDCM_LIBRARIES}") > MESSAGE(STATUS "Cmake GDCM: using GDCM libraries: ${GDCM_LIBRARY}") > > but the are all empty? How can i find out, what is defined by GDCM?
`cmake --help-module` parses system installed Find*.cmake file, however it does not parse *Config.cmake file. You have to look into GDCMConfig.cmake and such to understand. Anyway, there is no generic "GDCM_LIBRARIES", you have to specify explicitely the name of the desired lib: add_executable(dummy dummy.cxx) target_link_libraries(dummy gdcmMSFF) Cheers -- Mathieu _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake