Skip to content
Snippets Groups Projects
Commit ca0cac71 authored by Bram Veenboer's avatar Bram Veenboer
Browse files

Apply cmake-format

parent 47518c51
No related branches found
No related tags found
No related merge requests found
...@@ -5,16 +5,19 @@ project( ...@@ -5,16 +5,19 @@ project(
DESCRIPTION "Tensor-Core Correlator" DESCRIPTION "Tensor-Core Correlator"
VERSION 0.5 VERSION 0.5
HOMEPAGE_URL https://git.astron.nl/RD/tensor-core-correlator HOMEPAGE_URL https://git.astron.nl/RD/tensor-core-correlator
LANGUAGES CXX CUDA) LANGUAGES CXX CUDA
)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
option(BUILD_SHARED_LIBS "Create shared libraries" True) option(BUILD_SHARED_LIBS "Create shared libraries" True)
option(BUILD_TESTING "Build tests" False) option(BUILD_TESTING "Build tests" False)
if(NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type" FORCE) set(CMAKE_BUILD_TYPE
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release"
"Debug" "Release") CACHE STRING "CMake build type" FORCE
)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
endif() endif()
find_package(CUDAToolkit REQUIRED) find_package(CUDAToolkit REQUIRED)
...@@ -23,7 +26,8 @@ include(FetchContent) ...@@ -23,7 +26,8 @@ include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
cudawrappers cudawrappers
GIT_REPOSITORY https://github.com/nlesc-recruit/cudawrappers GIT_REPOSITORY https://github.com/nlesc-recruit/cudawrappers
GIT_TAG 0.6.0) GIT_TAG 0.6.0
)
FetchContent_MakeAvailable(cudawrappers) FetchContent_MakeAvailable(cudawrappers)
# Set up libtcc # Set up libtcc
...@@ -40,9 +44,11 @@ include(CMakePackageConfigHelpers) ...@@ -40,9 +44,11 @@ include(CMakePackageConfigHelpers)
write_basic_package_version_file( write_basic_package_version_file(
${PROJECT_NAME}-config-version.cmake ${PROJECT_NAME}-config-version.cmake
VERSION ${cudawrappers_VERSION} VERSION ${cudawrappers_VERSION}
COMPATIBILITY AnyNewerVersion) COMPATIBILITY AnyNewerVersion
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
# --- auto-ignore build directory # --- auto-ignore build directory
if(NOT EXISTS ${PROJECT_BINARY_DIR}/.gitignore) if(NOT EXISTS ${PROJECT_BINARY_DIR}/.gitignore)
......
...@@ -3,11 +3,14 @@ add_library(tcc) ...@@ -3,11 +3,14 @@ add_library(tcc)
# Add source files # Add source files
target_sources(tcc PRIVATE Correlator.cc CorrelatorKernel.cc Kernel.cc) target_sources(tcc PRIVATE Correlator.cc CorrelatorKernel.cc Kernel.cc)
# Add public headers # Add public headers
set_target_properties(tcc PROPERTIES PUBLIC_HEADER "Correlator.h;CorrelatorKernel.h;Kernel.h") set_target_properties(
tcc PROPERTIES PUBLIC_HEADER "Correlator.h;CorrelatorKernel.h;Kernel.h"
)
# Add includes # Add includes
target_include_directories( target_include_directories(
tcc PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> tcc PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>) $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
)
# Add links # Add links
target_link_libraries(tcc PRIVATE cudawrappers::cu cudawrappers::nvrtc) target_link_libraries(tcc PRIVATE cudawrappers::cu cudawrappers::nvrtc)
target_embed_source(tcc kernel/TCCorrelator.cu) target_embed_source(tcc kernel/TCCorrelator.cu)
...@@ -16,8 +19,9 @@ install( ...@@ -16,8 +19,9 @@ install(
TARGETS tcc TARGETS tcc
EXPORT ${PROJECT_NAME}-config # export tcc cmake targets EXPORT ${PROJECT_NAME}-config # export tcc cmake targets
COMPONENT tcc COMPONENT tcc
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
)
# Install tcc cmake targets # Install tcc cmake targets
install( install(EXPORT ${PROJECT_NAME}-config
EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) )
\ No newline at end of file
...@@ -3,8 +3,9 @@ find_package(OpenMP REQUIRED) ...@@ -3,8 +3,9 @@ find_package(OpenMP REQUIRED)
add_executable(CorrelatorTest) add_executable(CorrelatorTest)
target_sources(CorrelatorTest PRIVATE CorrelatorTest.cc Options.cc) target_sources(CorrelatorTest PRIVATE CorrelatorTest.cc Options.cc)
target_include_directories(CorrelatorTest PRIVATE ${CMAKE_SOURCE_DIR}) target_include_directories(CorrelatorTest PRIVATE ${CMAKE_SOURCE_DIR})
target_link_libraries(CorrelatorTest PRIVATE tcc Record UnitTest target_link_libraries(
OpenMP::OpenMP_CXX) CorrelatorTest PRIVATE tcc Record UnitTest OpenMP::OpenMP_CXX
)
# Define various combinations of parameters to test: # Define various combinations of parameters to test:
# b: nrBits must be 4, 8, or 16 # b: nrBits must be 4, 8, or 16
...@@ -39,6 +40,6 @@ foreach(idx ...@@ -39,6 +40,6 @@ foreach(idx
647 653 659 661 673 677 683 691 701 709 719 727 733 647 653 659 661 673 677 683 691 701 709 719 727 733
739 743 751 757 761) 739 743 751 757 761)
add_test(NAME CorrelatorTest-nrReceivers-${idx} add_test(NAME CorrelatorTest-nrReceivers-${idx}
COMMAND CorrelatorTest -b 16 -c 1 -n ${idx} -N 32 -r 1 -R 1 -t 8) COMMAND CorrelatorTest -b 16 -c 1 -n ${idx} -N 32 -r 1 -R 1 -t 8
)
endforeach() endforeach()
...@@ -6,16 +6,14 @@ if (${OpenCL_FOUND}) ...@@ -6,16 +6,14 @@ if (${OpenCL_FOUND})
set(KERNEL_SOURCE_FILE "${CMAKE_SOURCE_DIR}/libtcc/kernel/TCCorrelator.cu") set(KERNEL_SOURCE_FILE "${CMAKE_SOURCE_DIR}/libtcc/kernel/TCCorrelator.cu")
add_executable(${PROJECT_NAME}) add_executable(${PROJECT_NAME})
target_sources(${PROJECT_NAME} PRIVATE OpenCLCorrelatorTest.cc) target_sources(${PROJECT_NAME} PRIVATE OpenCLCorrelatorTest.cc)
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} target_include_directories(
${OpenCL_INCLUDE_DIRS}) ${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} ${OpenCL_INCLUDE_DIRS}
target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCL_LIBRARIES} )
OpenMP::OpenMP_CXX) target_link_libraries(
target_compile_definitions(${PROJECT_NAME} PRIVATE KERNEL_SOURCE_FILE="${KERNEL_SOURCE_FILE}") ${PROJECT_NAME} PRIVATE ${OpenCL_LIBRARIES} OpenMP::OpenMP_CXX
)
target_compile_definitions(
${PROJECT_NAME} PRIVATE KERNEL_SOURCE_FILE="${KERNEL_SOURCE_FILE}"
)
# FIXME: The OpenCLCorrelatorTest doesn't work
# add_test(
# NAME OpenCLCorrelatorTest
# COMMAND OpenCLCorrelatorTest
# # Specify working directory so the kernel code is found
# WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
endif() endif()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment