[CMake] Linking against libraries under windows
Christian Lohr
aequinoktikum at googlemail.com
Mon Aug 30 08:58:35 EDT 2010
Hello,
I need to include libraries for linking against OpenCascade in my
CMakeLists.txt. Everything went fine for Debian Linux, but I don’t get
it working under windows. And I've got another question about this
linking. I didn't get it working that "FIND_LIBRARY(OPENCASCADE_LIB
TKernel TKMath TKSTEP ... )" and a following
"TARGET_LINK_LIBRARIES(triangulation ${OPENCASCADE_LIB}) would link
against all those libraries. It seemed that it only linked against
TKernel, and omitted the rest. Under windows a environment variable is
set, called CASROOT, usually pointing to C:\OpenCASCADE6.3.0\, is
there a way getting cmake to use this path variable. The Libs under
windows are under ${CASROOT}/win32/lib, and the includes are under
${CASROOT}/inc.
Yours sincerely,
Christian Lohr
---------------------------------------------------------------------------------Here
my CMakeLists.txt----------------------------------------------------------------------------
project(TriangulationSTEP)
cmake_minimum_required(VERSION 2.6.0)
find_package(Qt4 REQUIRED)
include( ${QT_USE_FILE} )
include_directories(/usr/include/opencascade)
#add_library(opencascade IMPORTED -lTKernel -lTKMath -lTKSTEP -lTKSTL
-lTKXSBase -lTKTopAlgo -lTKBRep)
FIND_PATH ( CASROOT LICENSE PATHS C:/OpenCASCADE6.3.0/ )
FIND_PATH ( OPENCASCADE_INCLUDE_DIR Standard.hxx PATHS
/usr/include/opencascade ${CASROOT}/inc )
message(${OPENCASCADE_INCLUDE_DIR})
FIND_LIBRARY( OPENCASCADE_LIB TKernel TKMath TKSTEP TKSTL TKXBase
TKTopAlgo TKBRep)
message( ${OPENCASCADE_LIB} )
FIND_LIBRARY( OPENCASCADE_LIB1 NAMES TKernel PATHS ${CASROOT}/win32/lib)
FIND_LIBRARY( OPENCASCADE_LIB2 NAMES TKMath PATHS ${CASROOT}/win32/lib)
FIND_LIBRARY( OPENCASCADE_LIB3 NAMES TKSTEP PATHS ${CASROOT}/win32/lib)
FIND_LIBRARY( OPENCASCADE_LIB4 NAMES TKSTL PATHS ${CASROOT}/win32/lib)
FIND_LIBRARY( OPENCASCADE_LIB6 NAMES TKTopAlgo PATHS ${CASROOT}/win32/lib)
FIND_LIBRARY( OPENCASCADE_LIB7 NAMES TKBRep PATHS ${CASROOT}/win32/lib)
set(SOURCE_CPP
main.cpp
)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_executable(triangulation ${SOURCE_CPP})
target_link_libraries(triangulation ${QT_LIBRARIES})
target_link_libraries(triangulation ${OPENCASCADE_LIB1}
${OPENCASCADE_LIB2} ${OPENCASCADE_LIB3} ${OPENCASCADE_LIB4}
${OPENCASCADE_LIB6} ${OPENCASCADE_LIB7})
More information about the CMake
mailing list