1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:37:36 +00:00

CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries

Also do this for Shell.

This greatly simplifies the CMakeLists in Lagom, replacing many glob
patterns with a big list of libraries. There are still a few special
libraries that need some help to conform to the pattern, like LibELF and
LibWebView.

It also lets us remove essentially all of the Serenity or Lagom binary
directory detection logic from code generators, as now both projects
directories enter the generator logic from the same place.
This commit is contained in:
Andrew Kaster 2022-10-13 20:14:36 -06:00 committed by Linus Groh
parent a01c0e81f3
commit 1ae0cfd08b
12 changed files with 217 additions and 461 deletions

View file

@ -1,6 +1,5 @@
set(SOURCES
SampleFormats.cpp
ConnectionToServer.cpp
Loader.cpp
WavLoader.cpp
FlacLoader.cpp
@ -9,10 +8,13 @@ set(SOURCES
UserSampleQueue.cpp
)
set(GENERATED_SOURCES
../../Services/AudioServer/AudioClientEndpoint.h
../../Services/AudioServer/AudioServerEndpoint.h
)
if (SERENITYOS)
list(APPEND SOURCES ConnectionToServer.cpp)
set(GENERATED_SOURCES
../../Services/AudioServer/AudioClientEndpoint.h
../../Services/AudioServer/AudioServerEndpoint.h
)
endif()
serenity_lib(LibAudio audio)
target_link_libraries(LibAudio LibCore LibIPC LibThreading)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibDNS dns)
target_link_libraries(LibDNS LibC)
target_link_libraries(LibDNS LibC LibIPC)

View file

@ -3,6 +3,6 @@ set(SOURCES
)
serenity_lib(LibGPU gpu)
target_link_libraries(LibGPU LibCore)
target_link_libraries(LibGPU LibCore ${CMAKE_DL_LIBS})
add_dependencies(LibGPU LibSoftGPU)

View file

@ -2,7 +2,11 @@ include(${SerenityOS_SOURCE_DIR}/Meta/CMake/locale_data.cmake)
if (DEFINED LOCALE_DATA_SOURCES)
set(SOURCES ${LOCALE_DATA_SOURCES})
serenity_lib(LibLocaleData localedata)
if (SERENITYOS)
serenity_lib(LibLocaleData localedata)
else()
add_library(LibLocaleData OBJECT ${SOURCES})
endif()
target_compile_options(LibLocaleData PRIVATE -g0 -Os -Wno-parentheses-equality)
target_link_libraries(LibLocaleData LibCore LibTimeZone)
endif()
@ -20,5 +24,9 @@ target_link_libraries(LibLocale LibCore LibUnicode)
target_compile_definitions(LibLocale PRIVATE ENABLE_UNICODE_DATA=$<BOOL:${ENABLE_UNICODE_DATABASE_DOWNLOAD}>)
if (DEFINED LOCALE_DATA_SOURCES)
add_dependencies(LibLocale LibLocaleData)
if (SERENITYOS)
add_dependencies(LibLocale LibLocaleData)
else()
target_link_libraries(LibLocale LibLocaleData)
endif()
endif()

View file

@ -1,5 +1,4 @@
set(SOURCES
C/Regex.cpp
RegexByteCode.cpp
RegexLexer.cpp
RegexMatcher.cpp
@ -7,5 +6,9 @@ set(SOURCES
RegexParser.cpp
)
if(SERENITYOS)
list(APPEND SOURCES C/Regex.cpp)
endif()
serenity_lib(LibRegex regex)
target_link_libraries(LibRegex LibC LibCore LibUnicode)

View file

@ -22,16 +22,18 @@ set(SOURCES
ResultSet.cpp
Row.cpp
Serializer.cpp
SQLClient.cpp
TreeNode.cpp
Tuple.cpp
Value.cpp
)
set(GENERATED_SOURCES
../../Services/SQLServer/SQLClientEndpoint.h
../../Services/SQLServer/SQLServerEndpoint.h
if (SERENITYOS)
list(APPEND SOURCES SQLClient.cpp)
set(GENERATED_SOURCES
../../Services/SQLServer/SQLClientEndpoint.h
../../Services/SQLServer/SQLServerEndpoint.h
)
endif()
serenity_lib(LibSQL sql)
target_link_libraries(LibSQL LibCore LibSyntax LibRegex)