Skip to content

Commit

Permalink
Merge pull request #37 from lemire/release080
Browse files Browse the repository at this point in the history
preparing new release
  • Loading branch information
lemire authored Oct 30, 2024
2 parents ef0f5a4 + 811a11f commit 40d7ae0
Show file tree
Hide file tree
Showing 24 changed files with 3,214 additions and 2,000 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Doxygen GitHub Pages

on:
push:
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

permissions:
contents: write
pages: write
id-token: write

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Doxygen
run: sudo apt-get install doxygen graphviz -y
- name: Generate Doxygen Documentation
run: ./doxygen.sh
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: doc/api/html
7 changes: 6 additions & 1 deletion .github/workflows/ubuntu24.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,13 @@ jobs:
with:
cmake-version: '3.16.x'
- name: Configure
run: cmake -B build
run: cmake -DCMAKE_INSTALL_PREFIX:PATH=destination -B build
- name: Build
run: cmake --build build
- name: Run basic tests
run: cd build && ctest --output-on-failure
- name: install
run: cmake --install build --verbose
- name: Run installed tests
run: cd tests/install && cmake -DCMAKE_INSTALL_PREFIX:PATH=../../destination -B build && cmake --build build

93 changes: 83 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1,99 @@
cmake_minimum_required(VERSION 2.9)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MACOSX_RPATH OFF)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to Release")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
endif()
cmake_minimum_required(VERSION 3.5)

project(EWAHBoolArray
DESCRIPTION "A compressed bitmap class in C++"
LANGUAGES CXX
VERSION 0.8.0
)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
include(cmake/ewah-flags.cmake)

project(EWAHBoolArray)

add_library(ewah INTERFACE)

target_include_directories(
ewah
INTERFACE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)

add_library(ewah::ewah ALIAS ewah)

enable_testing()

add_subdirectory(tests)
add_subdirectory(examples)
add_subdirectory(benchmarks)


install(
TARGETS ewah
EXPORT ewahTargets
RUNTIME COMPONENT ewah_Runtime
LIBRARY COMPONENT ewah_Runtime
ARCHIVE COMPONENT ewah_Development
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)
configure_file(cmake/ewah-config.cmake.in ewah-config.cmake @ONLY)


write_basic_package_version_file(
ewah-config-version.cmake
COMPATIBILITY SameMinorVersion
)
set(
EWAH_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/ewah"
CACHE STRING "CMake package config location relative to the install prefix"
)
mark_as_advanced(EWAH_INSTALL_CMAKEDIR)

install(
FILES
"${PROJECT_BINARY_DIR}/ewah-config.cmake"
"${PROJECT_BINARY_DIR}/ewah-config-version.cmake"
DESTINATION "${EWAH_INSTALL_CMAKEDIR}"
COMPONENT ewah_Development
)

message(STATUS "CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}")

message(STATUS "CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}")
# pkg-config
include(cmake/JoinPaths.cmake)
join_paths(PKGCONFIG_INCLUDEDIR "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
join_paths(PKGCONFIG_LIBDIR "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")

configure_file("ewah.pc.in" "ewah.pc" @ONLY)
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/ewah.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)

install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/ewah" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

install(TARGETS ewah
EXPORT ${PROJECT_NAME}-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(
EXPORT ewahTargets
NAMESPACE ewah::
DESTINATION "${EWAH_INSTALL_CMAKEDIR}"
COMPONENT example_Development
)

#
# CPack
#
if(is_top_project)
set(CPACK_PACKAGE_VENDOR "Daniel Lemire")
set(CPACK_PACKAGE_CONTACT "daniel@lemire.me")
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_RPM_PACKAGE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README.md")
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
include(CPack)
endif()
Loading

0 comments on commit 40d7ae0

Please sign in to comment.