[CMake] restricting Qt include and library linking to 1 library/project
Hicham Mouline
hicham at mouline.org
Thu Dec 31 08:45:17 EST 2009
Hello,
My toplevel CMakeLists.txt looks like:
----------------------------------------------------------------------------
--------
PROJECT(...)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
# Openmp
FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
ENDIF()
# Boost
FIND_PACKAGE(Boost)
IF(Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
ENDIF()
# Qt
FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtCore QtGui QtOpenGL REQUIRED)
INCLUDE(${QT_USE_FILE})
INCLUDE_DIRECTORIES(AFTER ${CMAKE_CURRENT_SOURCE_DIR})
ADD_SUBDIRECTORY(common)
ADD_SUBDIRECTORY(lib1)
ADD_SUBDIRECTORY(lib2)
ADD_SUBDIRECTORY(lib3)
ADD_SUBDIRECTORY(main)
----------------------------------------------------------------------------
--------
Using QT_USE_FILE includes Qt headers for all of common, lib1, lib2, lib3.
How can I include and link Qt only for lib3?
Lib3's CMakeLists.txt looks like:
ADD_LIBRARY(lib3 STATIC #cpps hpps ipps)
ADD_DEPENDENCIES(lib3 common)
TARGET_LINK_LIBRARIES(lib3 ${QT_LIBRARIES})
Rds,
More information about the CMake
mailing list