blob: e93fc115a586a83ccf3e73acff2892cbe727d568 [file] [log] [blame]
# 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.
cmake_minimum_required(VERSION 3.10)
project(framework LANGUAGES CXX)
add_library(${PROJECT_NAME} STATIC
ClientTask.hpp
FrameworkTest.cpp
FrameworkTest.hpp
FwkBB.hpp
FwkBBClient.cpp
FwkBBClient.hpp
FwkBBServer.cpp
FwkBBServer.hpp
FwkException.hpp
FwkExport.hpp
FwkLog.cpp
FwkLog.hpp
FwkObjects.cpp
FwkObjects.hpp
FwkStrCvt.cpp
FwkStrCvt.hpp
GsRandom.cpp
GsRandom.hpp
IpcHandler.cpp
IpcHandler.hpp
PaceMeter.hpp
PerfFwk.cpp
PerfFwk.hpp
PoolHelper.hpp
QueryHelper.hpp
RegionHelper.hpp
Service.cpp
Service.hpp
TaskClient.cpp
TaskClient.hpp
TcpIpc.cpp
TcpIpc.hpp
TestClient.cpp
TestClient.hpp
TimeBomb.cpp
TimeBomb.hpp
TimeLimit.hpp
Timer.hpp
TimeSync.cpp
TimeSync.hpp
UDPIpc.cpp
UDPIpc.hpp
)
target_compile_options(${PROJECT_NAME}
PRIVATE
# Add PIC flags to link later with shared library
${CMAKE_CXX_COMPILE_OPTIONS_PIC}
)
target_include_directories(${PROJECT_NAME}
PUBLIC
# headers for this library are referenced relative to the parent
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
PRIVATE
$<TARGET_PROPERTY:apache-geode,SOURCE_DIR>/../src
)
target_link_libraries(${PROJECT_NAME}
PUBLIC
apache-geode
xerces-c
PRIVATE
ACE
_WarningsAsError
)
# For Visual Studio organization
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER cpp/test/integration)