From 85a2c290f922f648e5e9f0e69c03116f2d0aeaa6 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 6 Apr 2025 20:23:55 +0530 Subject: Change build setup to install lua prefix correctly + static build libluv --- CMakeLists.txt | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'CMakeLists.txt') 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}") + -- cgit v1.3.1