1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 15:47:34 +00:00

CMake: Make sure to install generated sources and header files

We weren't installing a lot of generated sources for the top level Lagom
build or for LibWeb, making it impossible to use LibWeb from a
find_package. ...And also Kernel/API/KeyCode.h, which is included by
no less than 8 different files in Userland/Libraries. We also weren't
installing any Ladybird header files.
This commit is contained in:
Andrew Kaster 2023-08-07 22:14:22 -06:00 committed by Andrew Kaster
parent 79108f615d
commit 92214b59ab
4 changed files with 62 additions and 9 deletions

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16...3.22)
cmake_minimum_required(VERSION 3.23)
project(ladybird
VERSION 0.0.1
@ -92,6 +92,16 @@ set(SOURCES
HelperProcess.cpp
Utilities.cpp
)
set(BROWSER_HEADERS
${BROWSER_SOURCE_DIR}/CookieJar.h
${BROWSER_SOURCE_DIR}/Database.h
${BROWSER_SOURCE_DIR}/History.h
)
set(LADYBIRD_HEADERS
HelperProcess.h
Types.h
Utilities.h
)
if (ENABLE_QT)
qt_add_executable(ladybird ${SOURCES})
@ -129,6 +139,14 @@ else()
# For now, we can export a static library of common files for chromes to link to
add_library(ladybird STATIC ${SOURCES})
endif()
target_sources(ladybird PUBLIC FILE_SET browser TYPE HEADERS
BASE_DIRS ${SERENITY_SOURCE_DIR}/Userland/Applications
FILES ${BROWSER_HEADERS}
)
target_sources(ladybird PUBLIC FILE_SET ladybird TYPE HEADERS
BASE_DIRS ${SERENITY_SOURCE_DIR}
FILES ${LADYBIRD_HEADERS}
)
target_link_libraries(ladybird PRIVATE LibCore LibFileSystem LibGfx LibGUI LibIPC LibJS LibMain LibWeb LibWebView LibSQL LibProtocol)
target_include_directories(ladybird PRIVATE ${CMAKE_CURRENT_BINARY_DIR})