]> Creatis software - cpPlugins.git/blob - plugins/cpPluginsIO/CMakeLists.txt
8fe59cd8920b78907db90fc4039946540cba3704
[cpPlugins.git] / plugins / cpPluginsIO / CMakeLists.txt
1 SET(lib_NAME cpPluginsIO)
2 SET(lib_DIR  cpPluginsIO)
3
4 ## ===============
5 ## = Source code =
6 ## ===============
7
8 FILE(GLOB lib_HEADERS_H   "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
9 FILE(GLOB lib_HEADERS_HPP "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
10 FILE(GLOB lib_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
11 FILE(GLOB lib_SOURCES_C   "${CMAKE_CURRENT_SOURCE_DIR}/*.c")
12 FILE(GLOB lib_SOURCES_CPP "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
13 FILE(GLOB lib_SOURCES_CXX "${CMAKE_CURRENT_SOURCE_DIR}/*.cxx")
14
15 # ===================================
16 # = Integrate all source file names =
17 # ===================================
18
19 SET(
20   lib_HOST
21   ${CMAKE_CURRENT_BINARY_DIR}/${lib_NAME}_Host.cxx
22   )
23
24 SET(
25   lib_HEADERS
26   ${lib_HEADERS_H}
27   ${lib_HEADERS_HPP}
28   ${lib_HEADERS_HXX}
29   )
30
31 SET(
32   lib_SOURCES
33   ${lib_SOURCES_C}
34   ${lib_SOURCES_CPP}
35   ${lib_SOURCES_CXX}
36   )
37
38 SET(
39   target_LIBRARIES
40   cpPlugins
41   )
42
43 ## =====================
44 ## = Compilation rules =
45 ## =====================
46
47 ADD_CUSTOM_COMMAND(
48   OUTPUT ${lib_HOST}
49   DEPENDS cpPlugins_HostCreator ${LIB_HEADERS_H}
50   COMMAND cpPlugins_HostCreator ${lib_HOST} ${lib_HEADERS_H}
51   )
52 ADD_LIBRARY(${lib_NAME} SHARED ${lib_HOST} ${lib_SOURCES})
53 SET_TARGET_PROPERTIES(
54   ${lib_NAME} PROPERTIES
55   VERSION "${prj_VER}"
56   SOVERSION "${prj_sVER}"
57   )
58 GENERATE_EXPORT_HEADER(
59   ${lib_NAME}
60   BASE_NAME ${lib_NAME}
61   EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
62   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/plugins/${lib_DIR}/${lib_NAME}_Export.h
63   STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
64   )
65 TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
66
67 ## ========================
68 ## -- Installation rules --
69 ## ========================
70
71 INSTALL(
72   TARGETS ${lib_NAME}
73   RUNTIME DESTINATION bin
74   LIBRARY DESTINATION lib
75   ARCHIVE DESTINATION lib/static
76   )
77
78 ## eof - $RCSfile$