aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-04-06 20:23:55 +0530
committerAkshay Nair <phenax5@gmail.com>2025-04-06 20:23:55 +0530
commit85a2c290f922f648e5e9f0e69c03116f2d0aeaa6 (patch)
tree0aff3bd3cda13a626615931c1a2829baee717ff2 /CMakeLists.txt
parentbbde1438e9c31cc83d8c4835ea97a0eaeae4e192 (diff)
downloadnull-browser-85a2c290f922f648e5e9f0e69c03116f2d0aeaa6.tar.gz
null-browser-85a2c290f922f648e5e9f0e69c03116f2d0aeaa6.zip
Change build setup to install lua prefix correctly + static build libluv
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt39
1 files changed, 24 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff74ded..dc6c9e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,9 +16,14 @@ find_package(PkgConfig REQUIRED)
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib")
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
-# TODO: Please fix this. This sucks
-# Path to installed lua/ directory
-add_compile_definitions(PROJECT_LUA_PATH="${CMAKE_CURRENT_LIST_DIR}/lua/?.lua")
+# message(COMMENT "${CMAKE_INSTALL_PREFIX} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}")
+
+# Lua path
+if(NOT DEFINED NULL_LUA_PREFIX OR NOT NULL_LUA_PREFIX)
+ set(NULL_LUA_PREFIX "${CMAKE_SOURCE_DIR}/lua")
+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)
@@ -34,7 +39,7 @@ list(FILTER SOURCE_FILES EXCLUDE REGEX "src/main.cpp$")
file(GLOB_RECURSE HEADER_FILES src/*.hpp)
file(GLOB_RECURSE SPEC_FILES spec/*.cpp)
-# project
+# Project
add_executable(${PROJECT})
target_sources(${PROJECT} PRIVATE src/main.cpp ${SOURCE_FILES})
target_include_directories(${PROJECT} PRIVATE src/)
@@ -49,6 +54,11 @@ target_link_libraries(${PROJECT}
Qt6::Widgets
Qt6::WebEngineWidgets)
+# Lua.LUV
+pkg_check_modules(LuaLUV REQUIRED libluv)
+target_include_directories(${PROJECT} PRIVATE ${LuaLUV_INCLUDE_DIRS})
+target_link_libraries(${PROJECT} ${LuaLUV_LINK_LIBRARIES})
+
# LuaJIT
pkg_check_modules(LuaJIT REQUIRED luajit)
target_include_directories(${PROJECT} PRIVATE ${LuaJIT_INCLUDE_DIRS})
@@ -59,11 +69,6 @@ pkg_check_modules(LibUV REQUIRED libuv)
target_include_directories(${PROJECT} PRIVATE ${LibUV_INCLUDE_DIRS})
target_link_libraries(${PROJECT} ${LibUV_LINK_LIBRARIES})
-# Lua.LUV
-pkg_check_modules(LuaLUV REQUIRED libluv)
-target_include_directories(${PROJECT} PRIVATE ${LuaLUV_INCLUDE_DIRS})
-target_link_libraries(${PROJECT} ${LuaLUV_LINK_LIBRARIES})
-
# Testing
enable_testing()
@@ -72,22 +77,26 @@ target_sources(tests PRIVATE ${SOURCE_FILES} ${MOC_SRCS} ${SPEC_FILES})
target_include_directories(tests PRIVATE
src/
spec/
+ ${LuaLUV_INCLUDE_DIRS}
${LuaJIT_INCLUDE_DIRS}
- ${LibUV_INCLUDE_DIRS}
- ${LuaLUV_INCLUDE_DIRS})
+ ${LibUV_INCLUDE_DIRS})
target_link_libraries(tests PRIVATE
Qt6::Core
Qt6::Widgets
Qt6::WebEngineWidgets
Qt6::Test
+ ${LuaLUV_LINK_LIBRARIES}
${LuaJIT_LINK_LIBRARIES}
- ${LibUV_LINK_LIBRARIES}
- ${LuaLUV_LINK_LIBRARIES})
+ ${LibUV_LINK_LIBRARIES})
add_test(NAME NullBrowserTests COMMAND tests)
+
+# Install
install(TARGETS ${PROJECT}
EXPORT "${TARGETS_EXPORT_NAME}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
-)
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+install(DIRECTORY lua/ DESTINATION lua)
+# file(COPY "${CMAKE_SOURCE_DIR}/lua" DESTINATION "${CMAKE_INSTALL_PREFIX}")
+