Initial commit
This commit is contained in:
66
tf3-main/CMakeLists.txt
Normal file
66
tf3-main/CMakeLists.txt
Normal file
@@ -0,0 +1,66 @@
|
||||
cmake_minimum_required(VERSION 3.10...3.28)
|
||||
|
||||
project(tf3)
|
||||
|
||||
# See top-level CMakeLists.txt: Boost 1.71 needs the legacy FindBoost path.
|
||||
if(POLICY CMP0167)
|
||||
cmake_policy(SET CMP0167 OLD)
|
||||
endif()
|
||||
|
||||
find_package(console_bridge REQUIRED)
|
||||
find_package(Boost REQUIRED COMPONENTS system thread)
|
||||
|
||||
include_directories(include ${console_bridge_INCLUDE_DIRS})
|
||||
|
||||
# export user definitions
|
||||
|
||||
#CPP Libraries
|
||||
add_library(tf3 src/cache.cpp src/buffer_core.cpp src/static_cache.cpp src/tf3_c_api.cpp)
|
||||
target_link_libraries(tf3 ${Boost_LIBRARIES} ${console_bridge_LIBRARIES})
|
||||
|
||||
# Public include directory for consumers and for installing headers
|
||||
target_include_directories(tf3 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
# When building the library, export C API symbols
|
||||
target_compile_definitions(tf3 PRIVATE TF3_C_API_EXPORTS)
|
||||
|
||||
add_executable(simple_tf3_example examples/simple_tf3_example.cpp)
|
||||
target_include_directories(simple_tf3_example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
target_link_libraries(simple_tf3_example PRIVATE tf3 pthread ${console_bridge_LIBRARIES})
|
||||
|
||||
install(TARGETS tf3
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
install(DIRECTORY include/${PROJECT_NAME}/
|
||||
DESTINATION include/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
# Tests
|
||||
option(BUILD_TESTING "Build tests" OFF)
|
||||
if(BUILD_TESTING)
|
||||
enable_testing()
|
||||
add_executable(test_cache_unittest test/cache_unittest.cpp)
|
||||
target_link_libraries(test_cache_unittest tf3 ${console_bridge_LIBRARIES})
|
||||
|
||||
add_executable(test_static_cache_unittest test/static_cache_test.cpp)
|
||||
target_link_libraries(test_static_cache_unittest tf3 ${console_bridge_LIBRARIES})
|
||||
|
||||
add_executable(test_simple test/simple_tf3_core.cpp)
|
||||
target_link_libraries(test_simple tf3 ${console_bridge_LIBRARIES})
|
||||
|
||||
add_executable(speed_test test/speed_test.cpp)
|
||||
target_link_libraries(speed_test tf3 ${console_bridge_LIBRARIES})
|
||||
|
||||
add_executable(test_transform_datatypes test/test_transform_datatypes.cpp)
|
||||
target_link_libraries(test_transform_datatypes tf3 ${console_bridge_LIBRARIES})
|
||||
|
||||
add_test(NAME test_cache_unittest COMMAND test_cache_unittest)
|
||||
add_test(NAME test_static_cache_unittest COMMAND test_static_cache_unittest)
|
||||
add_test(NAME test_simple COMMAND test_simple)
|
||||
add_test(NAME speed_test COMMAND speed_test)
|
||||
add_test(NAME test_transform_datatypes COMMAND test_transform_datatypes)
|
||||
endif()
|
||||
Reference in New Issue
Block a user