Salome HOME
Updated copyright comment
[samples/component.git] / src / TestFunctions / CMakeLists.txt
1 # Copyright (C) 2013-2024  CEA, EDF, OPEN CASCADE
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 # --- options ---
21 # additional include directories
22 INCLUDE_DIRECTORIES(
23   ${PYTHON_INCLUDE_DIRS}
24   ${OMNIORB_INCLUDE_DIR}
25   ${KERNEL_INCLUDE_DIRS}
26   ${PROJECT_SOURCE_DIR}/src/AddComponent
27   ${PROJECT_BINARY_DIR}
28   ${PROJECT_BINARY_DIR}/idl
29 )
30
31 # additional preprocessor / compiler flags
32 ADD_DEFINITIONS(
33   ${OMNIORB_DEFINITIONS}
34   ${PYTHON_DEFINITIONS}
35 )
36
37 # libraries to link to
38 SET(_link_LIBRARIES
39   ${KERNEL_SalomeGenericObj}
40   ${KERNEL_SalomeContainer}
41   ${KERNEL_SalomeHDFPersist}
42   ${KERNEL_SalomeNS}
43   ${KERNEL_OpUtil}
44   ${KERNEL_Registry}
45   ${KERNEL_SalomeNotification}
46   ${KERNEL_SALOMELocalTrace}
47   ${KERNEL_SalomeLifeCycleCORBA}
48   ${KERNEL_SalomeResourcesManager}
49   ${KERNEL_SALOMEBasics}
50   ${KERNEL_ResourcesManager}
51   ${KERNEL_SalomeIDLKERNEL}
52   SalomeIDLCOMPONENT
53 )
54
55 # --- headers ---
56
57 # header files / no moc processing
58 SET(DynInvoke_HEADERS
59   DynInvoke.hxx
60 )
61
62 # --- sources ---
63
64 # sources / static
65 SET(DynInvoke_SOURCES
66   DynInvoke.cxx
67 )
68
69 # --- scripts ---
70
71 # scripts / static
72 SET(_bin_SCRIPTS
73   TestFunctions.py
74 )
75
76
77 # --- rules ---
78
79 ADD_LIBRARY(DynInvoke ${DynInvoke_SOURCES})
80 TARGET_LINK_LIBRARIES(DynInvoke ${_link_LIBRARIES} )
81 INSTALL(TARGETS DynInvoke EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
82
83 ADD_EXECUTABLE(TestFunctions TestFunctions.cxx)
84 TARGET_LINK_LIBRARIES(TestFunctions ${_link_LIBRARIES} DynInvoke)
85
86 ADD_EXECUTABLE(TestFunctionsMemory TestFunctionsMemory.cxx)
87 TARGET_LINK_LIBRARIES(TestFunctionsMemory ${_link_LIBRARIES} DynInvoke)
88
89 ADD_EXECUTABLE(TestFunctionsMemory1 TestFunctionsMemory1.cxx)
90 TARGET_LINK_LIBRARIES(TestFunctionsMemory1 ${_link_LIBRARIES} DynInvoke)
91
92 ADD_EXECUTABLE(TestFunctionsMemory2 TestFunctionsMemory2.cxx)
93 TARGET_LINK_LIBRARIES(TestFunctionsMemory2 ${_link_LIBRARIES} DynInvoke)
94
95 ADD_EXECUTABLE(TestFunctionsMemory3 TestFunctionsMemory3.cxx)
96 TARGET_LINK_LIBRARIES(TestFunctionsMemory3 ${_link_LIBRARIES} DynInvoke)
97
98 ADD_EXECUTABLE(TestFunctionsMemory4 TestFunctionsMemory4.cxx)
99 TARGET_LINK_LIBRARIES(TestFunctionsMemory4 ${_link_LIBRARIES} DynInvoke)
100
101 INSTALL(TARGETS TestFunctions TestFunctionsMemory TestFunctionsMemory1 TestFunctionsMemory2 TestFunctionsMemory3 
102                 TestFunctionsMemory4 EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
103
104 INSTALL(FILES ${DynInvoke_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
105
106 SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})