1 SET(_curdir ${CMAKE_CURRENT_SOURCE_DIR})
2 GET_FILENAME_COMPONENT(_lib_name ${_curdir} NAME_WE)
4 ## =========================
5 ## = Configure local files =
6 ## =========================
8 FILE(GLOB_RECURSE _lib_config RELATIVE "${_curdir}" "${_curdir}/*.in")
9 FOREACH(_file ${_lib_config})
10 STRING(REGEX REPLACE ".in" "" _outfile ${_file})
11 CONFIGURE_FILE(${_file} ${CMAKE_CURRENT_BINARY_DIR}/${_outfile} @ONLY)
14 ## =====================
15 ## == Get source code ==
16 ## =====================
18 FILE(GLOB_RECURSE _hdr_h "${_curdir}/*.h")
19 FILE(GLOB_RECURSE _hdr_hpp "${_curdir}/*.hxx")
20 FILE(GLOB_RECURSE _hdr_hxx "${_curdir}/*.hpp")
21 FILE(GLOB_RECURSE _src_c "${_curdir}/*.c")
22 FILE(GLOB_RECURSE _src_cpp "${_curdir}/*.cpp")
23 FILE(GLOB_RECURSE _src_cxx "${_curdir}/*.cxx")
24 FILE(GLOB_RECURSE _qt_ui "${_curdir}/*.ui")
26 SET(_src_all ${_src_c} ${_src_cpp} ${_src_cxx})
28 ## ====================
29 ## == Create library ==
30 ## ====================
37 STRING(FIND "${_txt}" "Q_OBJECT" _res)
38 IF(NOT ${_res} EQUAL -1)
39 LIST(APPEND _hdr_to_wrap ${_h})
40 ENDIF(NOT ${_res} EQUAL -1)
43 QT4_WRAP_CPP(_src_qt_moc ${_hdr_to_wrap})
45 QT4_WRAP_UI(_hdr_qt_ui ${_qt_ui})
46 SET(_src_all ${_src_all} ${_hdr_qt_ui} ${_src_qt_moc})
49 ADD_LIBRARY(${_lib_name} SHARED ${_src_all})
50 SET_TARGET_PROPERTIES(
51 ${_lib_name} PROPERTIES
53 SOVERSION "${prj_sVER}"
55 GENERATE_EXPORT_HEADER(
57 BASE_NAME ${_lib_name}
58 EXPORT_MACRO_NAME ${_lib_name}_EXPORT
59 EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}_Export.h
60 STATIC_DEFINE ${_lib_name}_BUILT_AS_STATIC
63 TARGET_LINK_LIBRARIES(
64 ${_lib_name} ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES}
67 TARGET_LINK_LIBRARIES(${_lib_name} ${ITK_LIBRARIES} ${VTK_LIBRARIES})
69 SET(${_lib_name}_LIB ${_lib_name} CACHE INTERNAL "library ${_lib_name}")