diff --git a/CMakeLists.txt b/CMakeLists.txt index e1e6b1f4e0..5d335387dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,8 @@ if(SBE_TESTS) URL ${CMAKE_CURRENT_SOURCE_DIR}/cppbuild/googletest-release-1.8.0.zip URL_MD5 adfafc8512ab65fd3cf7955ef0100ff5 PREFIX "${SBE_THIRDPARTY_BINARY_DIR}/gtest" - BUILD_BYPRODUCTS "${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/googlemock/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX};${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/googlemock/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}" + CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER};-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + BUILD_BYPRODUCTS "${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/googlemock/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX};${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/googlemock/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}" INSTALL_COMMAND "" LOG_CONFIGURE ON LOG_BUILD ON @@ -127,13 +128,6 @@ set(CODEC_SCHEMA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/sbe-tool/src/test/resources") set(CODEC_PERF_SCHEMA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/sbe-benchmarks/src/main/resources") set(CODEC_EXAMPLES_SCHEMA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/sbe-samples/src/main/resources") -include_directories( - ${GTEST_SOURCE_DIR}/googletest/include - ${GTEST_SOURCE_DIR}/googlemock/include - ${CMAKE_CURRENT_SOURCE_DIR}/sbe-tool/src/main/cpp - ${CODEC_TARGET_DIR} -) - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sbe-tool/src/main/cpp) if(SBE_TESTS) diff --git a/sbe-benchmarks/src/main/cpp/CMakeLists.txt b/sbe-benchmarks/src/main/cpp/CMakeLists.txt index 4a02883d6b..03e300c4c1 100644 --- a/sbe-benchmarks/src/main/cpp/CMakeLists.txt +++ b/sbe-benchmarks/src/main/cpp/CMakeLists.txt @@ -44,7 +44,11 @@ add_custom_command( add_custom_target(perf_codecs DEPENDS ${GENERATED_CODECS}) add_executable(benchlet-sbe-car-runner ${SRCS_BENCHLET_MAIN} CarBench.cpp) +target_include_directories(benchlet-sbe-car-runner PRIVATE ${CODEC_TARGET_DIR}) +target_link_libraries(benchlet-sbe-car-runner sbe) add_executable(benchlet-sbe-md-runner ${SRCS_BENCHLET_MAIN} MarketDataBench.cpp) +target_include_directories(benchlet-sbe-md-runner PRIVATE ${CODEC_TARGET_DIR}) +target_link_libraries(benchlet-sbe-md-runner sbe) add_dependencies(benchlet-sbe-md-runner perf_codecs) add_dependencies(benchlet-sbe-car-runner perf_codecs) diff --git a/sbe-samples/src/main/cpp/CMakeLists.txt b/sbe-samples/src/main/cpp/CMakeLists.txt index 096b7befbc..d639c9546b 100644 --- a/sbe-samples/src/main/cpp/CMakeLists.txt +++ b/sbe-samples/src/main/cpp/CMakeLists.txt @@ -31,7 +31,10 @@ add_custom_command( add_custom_target(examples_codecs DEPENDS ${GENERATED_CODECS}) add_executable(GeneratedStubExample GeneratedStubExample.cpp) +target_include_directories(GeneratedStubExample PRIVATE ${CODEC_TARGET_DIR}) +target_link_libraries(GeneratedStubExample sbe) add_executable(OtfExample OtfExample.cpp) +target_include_directories(OtfExample PRIVATE ${CODEC_TARGET_DIR}) target_link_libraries(OtfExample sbe) add_dependencies(GeneratedStubExample examples_codecs) diff --git a/sbe-tool/src/main/cpp/CMakeLists.txt b/sbe-tool/src/main/cpp/CMakeLists.txt index acdd19e9bb..c2bfbd68d4 100644 --- a/sbe-tool/src/main/cpp/CMakeLists.txt +++ b/sbe-tool/src/main/cpp/CMakeLists.txt @@ -62,6 +62,7 @@ set(HEADERS otf/OtfHeaderDecoder.h ) -add_library(sbe STATIC ${HEADERS} dummy.cpp) +add_library(sbe INTERFACE) +target_include_directories(sbe INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) add_dependencies(sbe ir_codecs) diff --git a/sbe-tool/src/main/cpp/dummy.cpp b/sbe-tool/src/main/cpp/dummy.cpp deleted file mode 100644 index 99a68b2a5f..0000000000 --- a/sbe-tool/src/main/cpp/dummy.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2013-2019 Real Logic Ltd. - * - * Licensed 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. - */ -#include "otf/IrDecoder.h" -#include "otf/OtfHeaderDecoder.h" -#include "otf/OtfMessageDecoder.h" -#include "sbe/sbe.h" - -/* - * File to make CMake happier about the header only dependencies for the OTF and sbe header. - */ \ No newline at end of file diff --git a/sbe-tool/src/test/cpp/CMakeLists.txt b/sbe-tool/src/test/cpp/CMakeLists.txt index 9221e401f4..4f7446c9db 100644 --- a/sbe-tool/src/test/cpp/CMakeLists.txt +++ b/sbe-tool/src/test/cpp/CMakeLists.txt @@ -16,6 +16,10 @@ function(sbe_test name) add_executable("${name}" "${name}.cpp") + target_include_directories("${name}" + PRIVATE ${GTEST_SOURCE_DIR}/googletest/include + PRIVATE ${CODEC_TARGET_DIR} + ) target_link_libraries("${name}" sbe ${GTEST_LIBS} ${CMAKE_THREAD_LIBS_INIT}) add_test(NAME ${name} COMMAND ${name} WORKING_DIRECTORY ${CODEC_TARGET_DIR}) add_dependencies(${name} gtest)