Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
6a77dbc
Refactor
yaito3014 Feb 17, 2026
e7546f0
Merge into single header and refine tests
yaito3014 Feb 17, 2026
176a930
Add missing include
yaito3014 Feb 17, 2026
fa43996
Add missing include 2
yaito3014 Feb 17, 2026
84ae535
Add missing include 3
yaito3014 Feb 17, 2026
1353852
Fix CI
yaito3014 Feb 17, 2026
367c2e0
Remove unused Dockerfile
yaito3014 Feb 17, 2026
5708f9d
Refactor qualification
yaito3014 Feb 17, 2026
48fe4b4
Formatting
yaito3014 Feb 17, 2026
119e593
Use do-while in macro
yaito3014 Feb 17, 2026
9e9fd93
Add constexpr to almost every function
yaito3014 Feb 17, 2026
f202798
Remove constexpr from exception types
yaito3014 Feb 17, 2026
57501fb
Replace some constants' const to constexpr
yaito3014 Feb 17, 2026
df50d2f
Make unscoped enum to scoped enum
yaito3014 Feb 17, 2026
a874bc9
Add nodiscard and noexcept
yaito3014 Feb 17, 2026
65eaa3f
Use `using` instead of `typedef`
yaito3014 Feb 17, 2026
854369f
Refactor
yaito3014 Feb 17, 2026
4e907c2
Accept sentinel that differs in type
yaito3014 Feb 17, 2026
1fb3492
Fix CMakeLists.txt
yaito3014 Feb 17, 2026
cfda005
Remove README
yaito3014 Feb 17, 2026
c57aec0
Relax required C++ version
yaito3014 Feb 18, 2026
4deb0a6
Add noexcept to internal functions
yaito3014 Feb 18, 2026
7eedfc3
Minor refactor
yaito3014 Feb 18, 2026
48460a5
Rename UTF8_OK
yaito3014 Feb 18, 2026
0ecf58d
Add explicit and noexcept to error classes
yaito3014 Feb 18, 2026
edd36a8
Add noexcept, qualify functions
yaito3014 Feb 18, 2026
1684caa
Relax iterator requirement
yaito3014 Feb 18, 2026
6e2da69
Relax iterator requirement 2
yaito3014 Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci-linux-clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ jobs:
run: cmake --build build --config Release

- name: Test
working-directory: build
working-directory: build/tests
run: ctest -VV
2 changes: 1 addition & 1 deletion .github/workflows/ci-linux-gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ jobs:
run: cmake --build build --config Release

- name: Test
working-directory: build
working-directory: build/tests
run: ctest -VV
2 changes: 1 addition & 1 deletion .github/workflows/ci-windows-msvc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ jobs:
run: cmake --build build --config Release

- name: Test
working-directory: build
working-directory: build/tests
run: ctest -VV --build-config Release
62 changes: 17 additions & 45 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,56 +1,28 @@
cmake_minimum_required (VERSION 3.14...3.27)
project (utf8cpp
VERSION 4.0.9
LANGUAGES CXX
DESCRIPTION "C++ portable library for working with utf-8 encoding")
cmake_minimum_required(VERSION 3.24)

add_library(${PROJECT_NAME} INTERFACE)

include(GNUInstallDirs)

target_include_directories(utf8cpp INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/source>"
$<INSTALL_INTERFACE:include/utf8cpp>
project(
iris_utf8cpp
VERSION 5.0.0
LANGUAGES CXX
DESCRIPTION "C++ portable library for working with utf-8 encoding"
)

include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion
ARCH_INDEPENDENT
)
add_library(${PROJECT_NAME} INTERFACE)

install(TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
PUBLIC_HEADER DESTINATION include COMPONENT Development
BUNDLE DESTINATION bin COMPONENT Runtime
)
target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_20)

configure_package_config_file(
"${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
target_sources(
${PROJECT_NAME}
INTERFACE
FILE_SET HEADERS
TYPE HEADERS
BASE_DIRS source
FILES
source/utf8.h
)

install(EXPORT ${PROJECT_NAME}Targets
FILE ${PROJECT_NAME}Targets.cmake
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)

install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)

install(FILES ${PROJECT_SOURCE_DIR}/source/utf8.h DESTINATION include/utf8cpp)
install(DIRECTORY ${PROJECT_SOURCE_DIR}/source/utf8 DESTINATION
include/utf8cpp)
option(UTF8CPP_ENABLE_TESTS "Build and enable tests" ${PROJECT_IS_TOP_LEVEL})

option(UTF8CPP_ENABLE_TESTS "Build and enable tests" OFF)
if(UTF8CPP_ENABLE_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
2,131 changes: 0 additions & 2,131 deletions README.md

This file was deleted.

Loading