| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to you under the Apache License, Version |
| # 2.0 (the "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # set include dirs |
| include_directories (${PROJECT_SOURCE_DIR}/include) |
| include_directories (${LIBCAPU_INCLUDE_DIR}) |
| |
| #Add header files |
| SET(MAIN_INCLUDES |
| ${PROJECT_SOURCE_DIR}/include/common/EtchObject.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchObjectType.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchString.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchNumber.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchInt32.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchBool.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchByte.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchShort.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchLong.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchFloat.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchDouble.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchComparator.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchComparatorNative.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchConfig.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchError.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchObjectHash.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchHashNative.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchHashTable.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchHashSet.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchList.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchNativeArray.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchSocket.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchServerSocket.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchURL.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchResources.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchHash.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchFlexBuffer.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchSession.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchSessionData.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchSessionListener.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchSessionMessage.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchSessionPacket.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchWho.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchConnection.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTransport.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTransportData.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTransportMessage.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTransportPacket.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTransportFactory.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchMessagizer.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchFormat.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTcpTransportFactory.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchTypes.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchException.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchAuthenticationException.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchRuntimeException.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchDate.h |
| ${PROJECT_SOURCE_DIR}/include/common/EtchArrayValue.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchDefaultDeliveryService.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTcpConnection.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTcpListener.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchTcpOption.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchPacketizer.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchMessage.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchMailboxManager.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchPlainMailboxManager.h |
| ${PROJECT_SOURCE_DIR}/include/transport/EtchWho.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidator.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchAsyncMode.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchDirection.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchTypeValidator.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchTypeCodes.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorBoolean.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorByte.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorInt.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorShort.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorFloat.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorDouble.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorLong.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorString.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorNone.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorCustom.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchComboValidator.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchField.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorObject.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchFieldMap.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValueFactory.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchImportExportHelper.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchType.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchStructValue.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchTypeMap.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchClass2TypeMap.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchListSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorRuntimeException.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchRuntimeExceptionSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchAuthenticationExceptionSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchHashTableSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchSetSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchDateSerializer.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchDefaultValueFactory.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidatorStructValue.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchTaggedData.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchBinaryTaggedData.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchBinaryTaggedDataInput.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchBinaryTaggedDataOutput.h |
| ${PROJECT_SOURCE_DIR}/include/serialization/EtchValidators.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchRuntime.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchAsyncResultNone.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchAsyncResult.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchDefaultServerFactory.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchDeliveryService.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchMailbox.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchObjectSession.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchPool.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchPoolRunnable.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchFreePool.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchQueuedPool.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchRemoteBase.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchServerFactory.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchStubHelper.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchStubBase.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchTransportHelper.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchPlainMailbox.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchMonitor.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchStack.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchStackClient.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchStackServer.h |
| ${PROJECT_SOURCE_DIR}/include/support/EtchRuntime.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchUtil.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchCircularQueue.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchIdGenerator.h |
| ${PROJECT_SOURCE_DIR}/include/util/EtchExceptionFactory.h |
| ) |
| |
| #Add cpp files |
| SET(MAIN_SOURCES |
| common/EtchObject.cpp |
| common/EtchObjectType.cpp |
| common/EtchString.cpp |
| common/EtchInt32.cpp |
| common/EtchBool.cpp |
| common/EtchByte.cpp |
| common/EtchShort.cpp |
| common/EtchLong.cpp |
| common/EtchFloat.cpp |
| common/EtchDouble.cpp |
| common/EtchSocket.cpp |
| common/EtchServerSocket.cpp |
| common/EtchException.cpp |
| common/EtchAuthenticationException.cpp |
| common/EtchRuntimeException.cpp |
| common/EtchDate.cpp |
| common/EtchNativeArray.cpp |
| common/EtchArrayValue.cpp |
| util/EtchURL.cpp |
| util/EtchResources.cpp |
| util/EtchUtil.cpp |
| transport/EtchFlexBuffer.cpp |
| transport/EtchSession.cpp |
| transport/EtchDefaultDeliveryService.cpp |
| transport/EtchTcpConnection.cpp |
| transport/EtchTcpListener.cpp |
| transport/EtchTcpOption.cpp |
| transport/EtchPacketizer.cpp |
| transport/EtchMessage.cpp |
| transport/EtchMessagizer.cpp |
| transport/EtchFormat.cpp |
| transport/EtchPlainMailboxManager.cpp |
| transport/EtchTransportFactory.cpp |
| transport/EtchTcpTransportFactory.cpp |
| transport/EtchWho.cpp |
| serialization/EtchTypeValidator.cpp |
| serialization/EtchValidatorBoolean.cpp |
| serialization/EtchValidatorByte.cpp |
| serialization/EtchValidatorInt.cpp |
| serialization/EtchValidatorShort.cpp |
| serialization/EtchValidatorFloat.cpp |
| serialization/EtchValidatorDouble.cpp |
| serialization/EtchValidatorLong.cpp |
| serialization/EtchValidatorString.cpp |
| serialization/EtchValidatorNone.cpp |
| serialization/EtchValidatorCustom.cpp |
| serialization/EtchComboValidator.cpp |
| serialization/EtchField.cpp |
| serialization/EtchValidatorObject.cpp |
| serialization/EtchFieldMap.cpp |
| serialization/EtchValueFactory.cpp |
| serialization/EtchType.cpp |
| serialization/EtchStructValue.cpp |
| serialization/EtchTypeMap.cpp |
| serialization/EtchClass2TypeMap.cpp |
| serialization/EtchListSerializer.cpp |
| serialization/EtchValidatorRuntimeException.cpp |
| serialization/EtchRuntimeExceptionSerializer.cpp |
| serialization/EtchAuthenticationExceptionSerializer.cpp |
| serialization/EtchHashTableSerializer.cpp |
| serialization/EtchSetSerializer.cpp |
| serialization/EtchDateSerializer.cpp |
| serialization/EtchDefaultValueFactory.cpp |
| serialization/EtchValidatorStructValue.cpp |
| serialization/EtchTaggedData.cpp |
| serialization/EtchBinaryTaggedData.cpp |
| serialization/EtchBinaryTaggedDataInput.cpp |
| serialization/EtchBinaryTaggedDataOutput.cpp |
| support/EtchPlainMailbox.cpp |
| support/EtchPool.cpp |
| support/EtchFreePool.cpp |
| support/EtchQueuedPool.cpp |
| support/EtchDefaultServerFactory.cpp |
| support/EtchRemoteBase.cpp |
| support/EtchTransportHelper.cpp |
| support/EtchMonitor.cpp |
| support/EtchRuntime.cpp |
| support/EtchStack.cpp |
| support/EtchStackClient.cpp |
| support/EtchStackServer.cpp |
| support/EtchAsyncResultNone.cpp |
| util/EtchCircularQueue.cpp |
| util/EtchUtil.cpp |
| util/EtchIdGenerator.cpp |
| ) |
| |
| #Add source and header files to library so they are visible in the different IDEs (Visual Studio and Eclipse) |
| add_library (etch-cpp STATIC |
| ${MAIN_SOURCES} |
| ${MAIN_INCLUDES} |
| ) |
| |
| |
| set_target_properties (etch-cpp PROPERTIES OUTPUT_NAME "etch") |
| |
| add_dependencies (etch-cpp Capu_external) |
| |
| #install etch headers and library |
| INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/include DESTINATION "${ETCH_INSTALL_DIR}") |
| INSTALL(TARGETS etch-cpp DESTINATION "${ETCH_INSTALL_DIR}/lib/${ETCH_TARGET_PLATFORM}/${CMAKE_BUILD_TYPE}") |
| |
| #copy more files on windows (*.pdb) |
| IF(IS_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) |
| INSTALL(DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE} DESTINATION "${ETCH_INSTALL_DIR}/lib/${ETCH_TARGET_PLATFORM}") |
| ELSE() |
| ENDIF() |
| |