diff --git a/flake/dev.nix b/flake/dev.nix index 61d80898..e3eb5b4d 100644 --- a/flake/dev.nix +++ b/flake/dev.nix @@ -38,4 +38,10 @@ packages = [ clang-tools_18 ]; CMAKE_EXPORT_COMPILE_COMMANDS = "1"; }; + mirism = pkgs.mkShell.override { stdenv = pkgs.clang18Stdenv; } + { + inputsFrom = [ pkgs.localPackages.mirism ]; + packages = [ pkgs.clang-tools_18 ]; + CMAKE_EXPORT_COMPILE_COMMANDS = "1"; + }; } diff --git a/packages/default.nix b/packages/default.nix index a0fa0577..27e25b65 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -103,6 +103,7 @@ inputs: rec py4vasp = inputs.pkgs.callPackage ./py4vasp.nix { src = inputs.topInputs.py4vasp; }; pocketfft = inputs.pkgs.callPackage ./pocketfft.nix { src = inputs.topInputs.pocketfft; }; spectroscopy = inputs.pkgs.callPackage ./spectroscopy.nix { src = inputs.topInputs.spectroscopy; }; + mirism = inputs.pkgs.callPackage ./mirism.nix { inherit biu; stdenv = inputs.pkgs.clang18Stdenv; }; fromYaml = content: builtins.fromJSON (builtins.readFile (inputs.pkgs.runCommand "toJSON" {} diff --git a/packages/mirism/.envrc b/packages/mirism/.envrc new file mode 100644 index 00000000..e8c19da5 --- /dev/null +++ b/packages/mirism/.envrc @@ -0,0 +1 @@ +use flake .#mirism diff --git a/packages/mirism/CMakeLists.txt b/packages/mirism/CMakeLists.txt new file mode 100644 index 00000000..b2c83d2e --- /dev/null +++ b/packages/mirism/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.14) +project(mirism VERSION 0.0.0 LANGUAGES CXX) +enable_testing() +include(GNUInstallDirs) + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + message("Setting build type to 'Release' as none was specified.") + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +endif() + +find_package(biu REQUIRED) + +add_executable(mirism src/main.cpp) +target_compile_features(mirism PUBLIC cxx_std_23) +target_link_libraries(mirism PRIVATE biu::biu) + +install(TARGETS mirism RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + +get_property(ImportedTargets DIRECTORY "${CMAKE_SOURCE_DIR}" PROPERTY IMPORTED_TARGETS) +message("Imported targets: ${ImportedTargets}") +message("List of compile features: ${CMAKE_CXX_COMPILE_FEATURES}") diff --git a/packages/mirism/default.nix b/packages/mirism/default.nix new file mode 100644 index 00000000..62d7605e --- /dev/null +++ b/packages/mirism/default.nix @@ -0,0 +1,7 @@ +{ stdenv, cmake, pkg-config, biu }: stdenv.mkDerivation +{ + name = "mirism"; + src = ./.; + buildInputs = [ biu ]; + nativeBuildInputs = [ cmake pkg-config ]; +}