aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt25
-rw-r--r--Makefile7
-rw-r--r--flake.nix18
3 files changed, 30 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc6c9e1..08bf560 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,10 +11,9 @@ set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(AUTOMOC ON)
set(PKG_CONFIG_USE_STATIC_LIBS ON)
-find_package(PkgConfig REQUIRED)
-
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib")
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
+find_package(PkgConfig REQUIRED)
# message(COMMENT "${CMAKE_INSTALL_PREFIX} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}")
@@ -25,14 +24,6 @@ endif()
set(PROJECT_LUA_PATH "${NULL_LUA_PREFIX}/?.lua")
add_compile_definitions(PROJECT_LUA_PATH="${PROJECT_LUA_PATH}")
-if(DEFINED ENV{RELEASE})
- set(CMAKE_BUILD_TYPE Release)
- set(CMAKE_CXX_FLAGS "-O3 ${CMAKE_CXX_FLAGS}")
-elseif(DEFINED ENV{DEBUG})
- set(CMAKE_BUILD_TYPE Debug)
- set(CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS}")
-endif()
-
# Source
file(GLOB_RECURSE SOURCE_FILES src/*.cpp)
list(FILTER SOURCE_FILES EXCLUDE REGEX "src/main.cpp$")
@@ -44,6 +35,20 @@ add_executable(${PROJECT})
target_sources(${PROJECT} PRIVATE src/main.cpp ${SOURCE_FILES})
target_include_directories(${PROJECT} PRIVATE src/)
+
+# Env config
+if(DEFINED ENV{RELEASE})
+ set(CMAKE_BUILD_TYPE Release)
+ set(CMAKE_CXX_FLAGS "-O3 ${CMAKE_CXX_FLAGS}")
+elseif(DEFINED ENV{DEBUG})
+ set(CMAKE_BUILD_TYPE Debug)
+ set(CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_COMPILER_LAUNCHER ccache)
+else()
+ set(CMAKE_CXX_COMPILER_LAUNCHER ccache)
+endif()
+
+
# Qt
find_package(Qt6 REQUIRED COMPONENTS Core Widgets WebEngineWidgets Test)
qt_standard_project_setup()
diff --git a/Makefile b/Makefile
index bd58185..0baf6ad 100644
--- a/Makefile
+++ b/Makefile
@@ -8,9 +8,10 @@ LUA_PREFIX = ""
build-source:
@mkdir -p build
@cd build/ && cmake .. \
+ -G Ninja \
-DNULL_LUA_PREFIX="${LUA_PREFIX}" \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
- && make -j8
+ && cmake --build . -j10
dev-setup:
@cp build/compile_commands.json .
@@ -27,6 +28,7 @@ test: build-source
cd build && QT_QPA_PLATFORM=offscreen ctest -V
clean:
+ ccache -C || true
rm -rf build/
rm -f compile_commands.json
@@ -41,3 +43,6 @@ check:
clang-format -i ./src/**/*.{hpp,cpp}
clang-tidy --config-file=.clang-tidy ./src/**/*.{hpp,cpp}
+# appimage:
+# nix bundle --bundler github:ralismark/nix-appimage
+
diff --git a/flake.nix b/flake.nix
index 9087a60..012ddcb 100644
--- a/flake.nix
+++ b/flake.nix
@@ -32,17 +32,16 @@
devShells.default = pkgs.mkShell rec {
buildInputs = with pkgs; [
cmake
+ ninja
gnumake
clang-tools
pkg-config
+ ccache
gdb
valgrind
] ++ dependencies;
- nativeBuildInputs = with pkgs; [gobject-introspection];
-
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath buildInputs}";
- FOOBARITY = "${myPkgs.lua-libluv}";
};
packages.default = pkgs.stdenv.mkDerivation {
@@ -50,17 +49,18 @@
version = "0.0.0";
src = ./.;
- buildInputs = [
- myPkgs.qt.qtbase
- ] ++ dependencies;
-
- NIX_CFLAGS_COMPILE = "-DRELEASE=1";
-
+ buildInputs = dependencies;
nativeBuildInputs = with pkgs; [
cmake
+ ninja
myPkgs.qt.wrapQtAppsHook
pkg-config
];
+ dontUseCmakeConfigure = true;
+ buildPhase = ''make build PREFIX=$out'';
+ installPhase = ''make install PREFIX=$out'';
+
+ meta.mainProgram = "null-browser";
};
});
}