-SET(LIBRARY_NAME cpPlugins)
+## =============================
+## = Set names and directories =
+## =============================
+
+SET(lib_NAME cpPlugins)
+SET(lib_DIR cpPlugins)
+
+## =========================
+## = Configure local files =
+## =========================
+
+CONFIGURE_FILE(
+ Config.h.in
+ ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/Config.h
+ @ONLY
+ )
## ===============
## = Source code =
## ===============
-FILE(GLOB Interface_LIB_HEADERS_H "Interface/*.h")
-FILE(GLOB Interface_LIB_HEADERS_HPP "Interface/*.hpp")
-FILE(GLOB Interface_LIB_HEADERS_HXX "Interface/*.hxx")
-FILE(GLOB Interface_LIB_SOURCES_C "Interface/*.c")
-FILE(GLOB Interface_LIB_SOURCES_CPP "Interface/*.cpp")
-FILE(GLOB Interface_LIB_SOURCES_CXX "Interface/*.cxx")
+FILE(GLOB lib_HEADERS_H "*.h")
+FILE(GLOB lib_HEADERS_HPP "*.hpp")
+FILE(GLOB lib_HEADERS_HXX "*.hxx")
+FILE(GLOB lib_SOURCES_C "*.c")
+FILE(GLOB lib_SOURCES_CPP "*.cpp")
+FILE(GLOB lib_SOURCES_CXX "*.cxx")
+
+IF(USE_QT4)
+ SET(
+ lib_QT_UI
+ )
+ SET(
+ lib_QT_Headers
+ ParametersQtDialog.h
+ )
+ SET(
+ lib_QT_Sources
+ ParametersQtDialog.cxx
+ )
+ SET(
+ lib_QT_Resources
+ )
+
+ QT4_WRAP_UI(lib_QT_Wrapped_Headers ${lib_QT_UI})
+ QT4_WRAP_CPP(lib_QT_Wrapped_MOC_Sources ${lib_QT_Headers})
+ QT4_ADD_RESOURCES(lib_QT_Wrapped_Resources_Sources ${lib_QT_Resources})
+
+ SET(
+ lib_HEADERS_H
+ ${lib_HEADERS_H}
+ ${lib_QT_Wrapped_Headers}
+ )
+
+ SET(
+ lib_SOURCES_CXX
+ ${lib_SOURCES_CXX}
+ ${lib_QT_Sources}
+ ${lib_QT_Wrapped_Headers}
+ ${lib_QT_Wrapped_MOC_Sources}
+ ${lib_QT_Wrapped_Resources_Sources}
+ )
+
+ENDIF(USE_QT4)
+
+# ===================================
+# = Integrate all source file names =
+# ===================================
+
+SET(
+ lib_HEADERS
+ ${lib_HEADERS_H}
+ ${lib_HEADERS_HPP}
+ ${lib_HEADERS_HXX}
+ )
SET(
- LIB_HEADERS_H
- Plugins/ImageReader.h
- Plugins/ImageWriter.h
- Plugins/MeshReader.h
- Plugins/MeshWriter.h
- Plugins/MarchingCubes.h
- Plugins/OtsuThresholdImageFilter.h
+ lib_SOURCES
+ ${lib_SOURCES_C}
+ ${lib_SOURCES_CPP}
+ ${lib_SOURCES_CXX}
)
+
SET(
- LIB_SOURCES_CXX
- Plugins/Host.cxx
- Plugins/ImageReader.cxx
- Plugins/ImageWriter.cxx
- Plugins/MeshReader.cxx
- Plugins/MeshWriter.cxx
- Plugins/MarchingCubes.cxx
- Plugins/OtsuThresholdImageFilter.cxx
+ target_LIBRARIES
+ ${cpPlugins_LIBRARIES}
+ cpPlugins_tinyxml2
)
+IF(NOT WIN32)
+ SET(
+ target_LIBRARIES
+ ${target_LIBRARIES}
+ dl
+ )
+ENDIF(NOT WIN32)
## =====================
## = Compilation rules =
## =====================
-ADD_LIBRARY(
- ${LIBRARY_NAME}
- SHARED
- ${Interface_LIB_SOURCES_C}
- ${Interface_LIB_SOURCES_CPP}
- ${Interface_LIB_SOURCES_CXX}
- ${LIB_SOURCES_C}
- ${LIB_SOURCES_CPP}
- ${LIB_SOURCES_CXX}
+ADD_LIBRARY(${lib_NAME} SHARED ${lib_SOURCES})
+SET_TARGET_PROPERTIES(
+ ${lib_NAME} PROPERTIES
+ VERSION "${prj_VER}"
+ SOVERSION "${prj_sVER}"
)
GENERATE_EXPORT_HEADER(
- ${LIBRARY_NAME}
- BASE_NAME ${LIBRARY_NAME}
- EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
- EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/${LIBRARY_NAME}_Export.h
- STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
- )
-TARGET_LINK_LIBRARIES(
- ${LIBRARY_NAME}
- ${ITK_LIBRARIES}
- ${VTK_LIBRARIES}
- cpPlugins_Pluma
+ ${lib_NAME}
+ BASE_NAME ${lib_NAME}
+ EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
+ EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
+ STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
)
+TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
## ========================
-## -- Installation rules --
+## == Installation rules ==
## ========================
INSTALL(
- TARGETS ${LIBRARY_NAME}
+ TARGETS ${lib_NAME}
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
-
-SET(
- local_install_dirs
- Interface
- )
-FOREACH(dir ${local_install_dirs})
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpPlugins/Interface
- FILES_MATCHING PATTERN "*.h"
- )
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpPlugins/Interface
- FILES_MATCHING PATTERN "*.hxx"
- )
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpPlugins/Interface
- FILES_MATCHING PATTERN "*.hpp"
- )
-ENDFOREACH(dir)
-
INSTALL(
FILES
- ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
- DESTINATION include/cpPlugins/Interface
+ ${lib_HEADERS}
+ DESTINATION include/${lib_DIR}
)
-
## eof - $RCSfile$