30 lines
1.1 KiB
CMake
Executable File
30 lines
1.1 KiB
CMake
Executable File
project( torrent )
|
|
cmake_minimum_required( VERSION 3.0 )
|
|
|
|
|
|
option( BUILD_EXAMPLE "Build ${PROJECT_NAME} tests" OFF )
|
|
|
|
set( ${PROJECT_NAME}_private_headers ${CMAKE_CURRENT_SOURCE_DIR}/src/include )
|
|
file( GLOB_RECURSE ${PROJECT_NAME}_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp )
|
|
|
|
|
|
add_library( ${PROJECT_NAME} ${${PROJECT_NAME}_sources} )
|
|
target_include_directories( ${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
PRIVATE ${${PROJECT_NAME}_private_headers} )
|
|
|
|
|
|
set_target_properties( ${PROJECT_NAME} PROPERTIES
|
|
CXX_STANDARD 17
|
|
CXX_STANDARD_REQUIRED YES )
|
|
|
|
|
|
if( BUILD_EXAMPLE )
|
|
file( GLOB_RECURSE ${PROJECT_NAME}_example_sources ${CMAKE_CURRENT_SOURCE_DIR}/example/*.* )
|
|
add_executable( ${PROJECT_NAME}_example ${${PROJECT_NAME}_example_sources} )
|
|
target_include_directories( ${PROJECT_NAME}_example PRIVATE ${${PROJECT_NAME}_private_headers} )# Enable C++17
|
|
target_link_libraries( ${PROJECT_NAME}_example ${PROJECT_NAME} )
|
|
set_target_properties( ${PROJECT_NAME}_example PROPERTIES
|
|
CXX_STANDARD 17
|
|
CXX_STANDARD_REQUIRED YES )
|
|
endif()
|