diff --git a/CMakeLists.txt b/CMakeLists.txt index fd5cd3b3..9174a37d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,34 +5,33 @@ cmake_minimum_required(VERSION 3.25...3.31) -project(beman_execution VERSION 0.0.1 LANGUAGES CXX) +project(beman.execution VERSION 0.0.1 LANGUAGES CXX) if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) message(FATAL_ERROR "In-source builds are not allowed!") endif() -set(TARGET_NAME execution) +set(TARGET_NAME beman.execution) set(TARGET_NAMESPACE beman) -set(TARGET_PREFIX ${TARGET_NAMESPACE}.${TARGET_NAME}) -set(TARGET_LIBRARY ${PROJECT_NAME}) -set(TARGET_ALIAS ${TARGET_NAMESPACE}::${TARGET_NAME}) -set(TARGET_PACKAGE_NAME ${PROJECT_NAME}-config) -set(TARGETS_EXPORT_NAME ${PROJECT_NAME}-targets) +set(TARGET_SHORT_NAME execution) +set(TARGET_ALIAS ${TARGET_NAMESPACE}::${TARGET_SHORT_NAME}) +set(TARGET_PACKAGE_NAME ${TARGET_NAME}Config) +set(TARGETS_EXPORT_NAME ${TARGET_NAME}-targets) option( - BEMAN_EXECUTION_ENABLE_TESTING - "Enable building tests and test infrastructure. Values: { ON, OFF }." + BEMAN_execution_BUILD_TESTS + "Enable building tests and test infrastructure. Default: ON. Values: { ON, OFF }." ${PROJECT_IS_TOP_LEVEL} ) option( - BEMAN_EXECUTION_BUILD_EXAMPLES - "Enable building examples. Values: { ON, OFF }." + BEMAN_execution_BUILD_EXAMPLES + "Enable building examples. Default: ON. Values: { ON, OFF }." ${PROJECT_IS_TOP_LEVEL} ) option( - BEMAN_EXECUTION_ENABLE_INSTALL + BEMAN_execution_ENABLE_INSTALL "Install the project components. Values: { ON, OFF }." ${PROJECT_IS_TOP_LEVEL} ) @@ -40,7 +39,7 @@ option( include(GNUInstallDirs) set(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) -if(NOT BEMAN_EXECUTION_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) +if(NOT BEMAN_execution_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) include(FetchContent) # Add project_options from https://github.com/aminya/project_options @@ -91,17 +90,17 @@ endif() add_subdirectory(src/beman/execution) -if(BEMAN_EXECUTION_ENABLE_TESTING) +if(BEMAN_execution_BUILD_TESTS) enable_testing() add_subdirectory(tests/beman/execution) endif() -if(BEMAN_EXECUTION_BUILD_EXAMPLES) +if(BEMAN_execution_BUILD_EXAMPLES) add_subdirectory(examples) endif() -if(NOT BEMAN_EXECUTION_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) +if(NOT BEMAN_execution_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) return() endif() @@ -125,4 +124,4 @@ install( ) set(CPACK_GENERATOR TGZ) -include(CPack) +include(CPack) \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/README.md b/README.md index 63ef6222..542e872a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception --> # beman.execution: Building Block For Asynchronous Programs - +![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg) ![Linux build status](https://github.com/bemanproject/execution/actions/workflows/linux.yml/badge.svg) ![MacOS build status](https://github.com/bemanproject/execution/actions/workflows/macos.yml/badge.svg) ![Window build status](https://github.com/bemanproject/execution/actions/workflows/windows.yml/badge.svg) `beman.execution` provides the basic vocabulary for asynchronous programming as well as important algorithms implemented in terms @@ -48,10 +48,6 @@ contains some links for general information about the sender/receivers and `std: ## Build -| Library | Linux | MacOS | Windows | -| ------- | ----- | ----- | ------- | -| build | ![Linux build status](https://github.com/bemanproject/execution/actions/workflows/linux.yml/badge.svg) | ![MacOS build status](https://github.com/bemanproject/execution/actions/workflows/macos.yml/badge.svg) | ![Window build status](https://github.com/bemanproject/execution/actions/workflows/windows.yml/badge.svg) | - The following instructions build the library and the examples: cmake --workflow --list-presets diff --git a/src/beman/execution/CMakeLists.txt b/src/beman/execution/CMakeLists.txt index ea6aecae..2691dcdc 100644 --- a/src/beman/execution/CMakeLists.txt +++ b/src/beman/execution/CMakeLists.txt @@ -6,7 +6,7 @@ add_library(${TARGET_NAME} STATIC) add_library(${TARGET_ALIAS} ALIAS ${TARGET_NAME}) -if(NOT BEMAN_EXECUTION_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) +if(NOT BEMAN_execution_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) target_link_libraries(${TARGET_NAME} PUBLIC $) target_link_libraries(${TARGET_NAME} PUBLIC $) endif() @@ -193,12 +193,7 @@ source_group("Header Files\\detail" FILES ${DETAIL_HEADER_FILES}) set_target_properties(${TARGET_NAME} PROPERTIES VERIFY_INTERFACE_HEADER_SETS ON) -target_compile_features(${TARGET_NAME} PUBLIC - "$<$:cxx_std_26>" - "$<$>:cxx_std_23>" -) - -if(NOT BEMAN_EXECUTION_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) +if(NOT BEMAN_execution_ENABLE_INSTALL OR CMAKE_SKIP_INSTALL_RULES) return() endif() @@ -209,6 +204,7 @@ install( FILE_SET ${TARGET_NAME}_public_headers FILE_SET ${TARGET_NAME}_detail_headers ) + # cmake-format: on install( @@ -216,4 +212,4 @@ install( FILE ${TARGETS_EXPORT_NAME}.cmake DESTINATION "${INSTALL_CONFIGDIR}" NAMESPACE ${TARGET_NAMESPACE}:: -) +) \ No newline at end of file