Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
use flake
DEV_SHELL=${DEV_SHELL:-default}
use flake ".#${DEV_SHELL}"
30 changes: 16 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.10)
cmake_policy(SET CMP0048 NEW) # enable project VERSION
cmake_policy(SET CMP0056 NEW) # honor link flags in try_compile()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

project(zug VERSION 0.1.0)

if (NOT CMAKE_CXX_STANDARD)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(CMAKE_EXPORT_COMPILE_COMMANDS on)
set(CMAKE_CXX_EXTENSIONS off)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments")
endif()

Expand All @@ -23,16 +23,16 @@ option(zug_BUILD_TESTS "Build tests" ON)
option(zug_BUILD_EXAMPLES "Build examples" ON)
option(zug_BUILD_DOCS "Build docs" ON)

if (NOT MSVC AND NOT DISABLE_WERROR)
if(NOT MSVC AND NOT DISABLE_WERROR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
endif()

# Targets
# =======
# Targets
# =======

# ccache support
find_program(CCACHE ccache)
if (CCACHE)
if(CCACHE)
message(STATUS "Using ccache: ${CCACHE}")
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
Expand All @@ -42,17 +42,19 @@ endif()

# the library
add_library(zug INTERFACE)
target_include_directories(zug INTERFACE
$<BUILD_INTERFACE:${zug_BINARY_DIR}/>
$<BUILD_INTERFACE:${zug_SOURCE_DIR}/>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_include_directories(
zug
INTERFACE $<BUILD_INTERFACE:${zug_BINARY_DIR}/>
$<BUILD_INTERFACE:${zug_SOURCE_DIR}/>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)

install(TARGETS zug EXPORT ZugConfig)
install(EXPORT ZugConfig DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Zug")
install(DIRECTORY zug DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

enable_testing()
add_custom_target(check
add_custom_target(
check
COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Build and run all the tests and examples.")
Expand All @@ -63,7 +65,7 @@ if(zug_BUILD_TESTS)

add_library(zug-dev INTERFACE)
target_link_libraries(zug-dev INTERFACE zug)
if (ENABLE_COVERAGE)
if(ENABLE_COVERAGE)
target_compile_options(zug-dev INTERFACE "--coverage")
target_link_libraries(zug-dev INTERFACE "--coverage")
endif()
Expand All @@ -75,6 +77,6 @@ if(zug_BUILD_EXAMPLES)
add_subdirectory(example)
endif()

if (zug_BUILD_DOCS)
if(zug_BUILD_DOCS)
add_subdirectory(doc)
endif()
29 changes: 25 additions & 4 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils";
nix-github-actions = {
url = "github:nix-community/nix-github-actions";
Expand Down