File tree Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Original file line number Diff line number Diff line change @@ -111,3 +111,61 @@ Macro(install_package_files_and_export)
111
111
DESTINATION ${DESTINATION_CONFIGDIR}
112
112
)
113
113
endMacro ()
114
+
115
+ Macro (iox_add_library )
116
+ set (arguments TARGET RPATH FILES PUBLIC_LINKS PRIVATE_LINKS PRIVATE_LINKS_LINUX ALIAS )
117
+ cmake_parse_arguments (IOX "" "" "${arguments} " ${ARGN} )
118
+
119
+ add_library ( ${IOX_TARGET} ${IOX_FILES} )
120
+ add_library ( ${IOX_ALIAS} ALIAS ${IOX_TARGET} )
121
+
122
+ set_target_properties (${IOX_TARGET} PROPERTIES
123
+ CXX_STANDARD_REQUIRED ON
124
+ CXX_STANDARD ${ICEORYX_CXX_STANDARD}
125
+ POSITION_INDEPENDENT_CODE ON
126
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} "
127
+ )
128
+
129
+ target_compile_options (${IOX_TARGET} PRIVATE ${ICEORYX_WARNINGS} ${ICEORYX_SANITIZER_FLAGS} )
130
+
131
+ target_link_libraries (${IOX_TARGET}
132
+ PUBLIC
133
+ ${IOX_PUBLIC_LINKS}
134
+ PRIVATE
135
+ ${IOX_PRIVATE_LINKS}
136
+ )
137
+
138
+ if ( LINUX )
139
+ target_link_libraries (${IOX_TARGET} PRIVATE ${IOX_PRIVATE_LINKS_LINUX} )
140
+ endif ( LINUX )
141
+
142
+ if ( LINUX OR UNIX )
143
+ set_target_properties (
144
+ ${IOX_TARGET}
145
+ PROPERTIES
146
+ BUILD_RPATH ${IOX_RPATH}
147
+ INSTALL_RPATH ${IOX_RPATH}
148
+ )
149
+ elseif ( APPLE )
150
+ set_target_properties (
151
+ ${IOX_TARGET}
152
+ PROPERTIES
153
+ BUILD_RPATH ${IOX_RPATH}
154
+ INSTALL_RPATH ${IOX_RPATH}
155
+ )
156
+ endif ( LINUX OR UNIX )
157
+
158
+ if (PERFORM_CLANG_TIDY )
159
+ set_target_properties (
160
+ ${IOX_TARGET}
161
+ PROPERTIES
162
+ CXX_CLANG_TIDY "${PERFORM_CLANG_TIDY} "
163
+ )
164
+ endif (PERFORM_CLANG_TIDY )
165
+
166
+ target_include_directories (${IOX_TARGET}
167
+ PUBLIC
168
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include>
169
+ $< INSTALL_INTERFACE:include/${PREFIX} >
170
+ )
171
+ endMacro ()
You can’t perform that action at this time.
0 commit comments