Skip to content

Commit

Permalink
Updated CMakeLists.txt to build project as a library
Browse files Browse the repository at this point in the history
  • Loading branch information
Kardbord committed Jul 19, 2022
1 parent dd36077 commit 9c28a53
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 8 deletions.
21 changes: 16 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ------------------------------ Setup ------------------------------- #
cmake_minimum_required(VERSION 3.16.3)
project(Concurrency)
project(concurrency)
set(CMAKE_CXX_STANDARD 17)
option(CodeCoverage "CodeCoverage" OFF)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules/)
Expand All @@ -27,13 +27,22 @@ else()
$<$<CONFIG:DEBUG>:--coverage>
)
endif()
include_directories(include)

# ----------------------------- Library ------------------------------ #
add_library(${CMAKE_PROJECT_NAME} INTERFACE)
set(header_files
include/concurrency/UnorderedMap.hpp
include/concurrency/ShardedUnorderedMap.hpp)
target_sources(${CMAKE_PROJECT_NAME} INTERFACE ${header_files})
target_include_directories(${CMAKE_PROJECT_NAME} INTERFACE include/)


# -------------------------- Build Examples -------------------------- #
set("SIMPLE_EXAMPLE_SRC"
examples/simple/main.cpp
)
add_executable(${CMAKE_PROJECT_NAME}_simple_example ${SIMPLE_EXAMPLE_SRC})
target_link_libraries(${CMAKE_PROJECT_NAME}_simple_example PRIVATE ${CMAKE_PROJECT_NAME})

set("MAP_BENCHMARK_SRC"
examples/map_benchmark/main.cpp
Expand All @@ -42,7 +51,8 @@ set("MAP_BENCHMARK_SRC"
find_package(Threads REQUIRED)
add_executable(${CMAKE_PROJECT_NAME}_map_benchmark ${MAP_BENCHMARK_SRC})
target_include_directories(${CMAKE_PROJECT_NAME}_map_benchmark PRIVATE benchmark examples/map_benchmark)
target_link_libraries(${CMAKE_PROJECT_NAME}_map_benchmark Threads::Threads)
target_link_libraries(${CMAKE_PROJECT_NAME}_map_benchmark PRIVATE Threads::Threads)
target_link_libraries(${CMAKE_PROJECT_NAME}_map_benchmark PRIVATE ${CMAKE_PROJECT_NAME})

# --------------------------- Build Tests ---------------------------- #
include(FetchContent)
Expand All @@ -59,7 +69,8 @@ set("TEST_SRC"
)
enable_testing()
add_executable(${CMAKE_PROJECT_NAME}_test ${TEST_SRC})
target_link_libraries(${CMAKE_PROJECT_NAME}_test gtest_main)
target_link_libraries(${CMAKE_PROJECT_NAME}_test PRIVATE gtest_main)
target_link_libraries(${CMAKE_PROJECT_NAME}_test PRIVATE ${CMAKE_PROJECT_NAME})
include(GoogleTest)
gtest_discover_tests(${CMAKE_PROJECT_NAME}_test)

Expand All @@ -69,4 +80,4 @@ if (CMAKE_BUILD_TYPE MATCHES Debug)
include(CodeCoverage)
setup_target_for_coverage(${PROJECT_NAME}_coverage ${CMAKE_PROJECT_NAME}_test coverage --gtest_output=xml:coverage.junit.xml)
endif()
endif()
endif()
1 change: 0 additions & 1 deletion tools/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ mkdir -p "$(dirname "${BASH_SOURCE[0]}")/../build"
pushd "$(dirname "${BASH_SOURCE[0]}")/../build" >/dev/null
if [[ "${CLEAN}" = "true" ]]; then
rm -rf ./*
git checkout README.md
fi
cmake -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" "${EXTRA_CMAKE_OPTS}" .. && make
popd >/dev/null
2 changes: 1 addition & 1 deletion tools/coverage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ pushd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null
./build.sh -b Coverage
popd >/dev/null
pushd "$(dirname "${BASH_SOURCE[0]}")/../build/" >/dev/null
make Concurrency_coverage
make concurrency_coverage
popd >/dev/null
echo "View coverage results by opening the html file referenced above in a browser."
2 changes: 1 addition & 1 deletion tools/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
set -e
pushd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null
./build.sh
../build/Concurrency_test
../build/concurrency_test
popd >/dev/null

0 comments on commit 9c28a53

Please sign in to comment.