diff --git a/AK/CMakeLists.txt b/AK/CMakeLists.txt index b318669ba3d..5fc9dcd20e1 100644 --- a/AK/CMakeLists.txt +++ b/AK/CMakeLists.txt @@ -1 +1,2 @@ serenity_install_headers(AK) +serenity_install_sources(AK) diff --git a/CMakeLists.txt b/CMakeLists.txt index 279188baa8f..f019ab68f31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,6 +66,14 @@ function(serenity_install_headers target_name) endforeach() endfunction() +function(serenity_install_sources target_name) + file(GLOB_RECURSE sources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h" "*.cpp") + foreach(source ${sources}) + get_filename_component(subdirectory ${source} DIRECTORY) + install(FILES ${source} DESTINATION usr/src/serenity/${target_name}/${subdirectory}) + endforeach() +endfunction() + function(serenity_generated_sources target_name) if(DEFINED GENERATED_SOURCES) set_source_files_properties(${GENERATED_SOURCES} PROPERTIES GENERATED 1) @@ -78,6 +86,7 @@ endfunction() function(serenity_lib target_name fs_name) serenity_install_headers(${target_name}) + serenity_install_sources("Libraries/${target_name}") add_library(${target_name} ${SOURCES} ${GENERATED_SOURCES}) install(TARGETS ${target_name} ARCHIVE DESTINATION usr/lib) set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name}) @@ -86,6 +95,7 @@ endfunction() function(serenity_libc target_name fs_name) serenity_install_headers("") + serenity_install_sources("Libraries/LibC") add_library(${target_name} ${SOURCES}) install(TARGETS ${target_name} ARCHIVE DESTINATION usr/lib) set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name}) diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index 3382edf4542..991030cd4d9 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -270,5 +270,6 @@ add_custom_command( install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kernel.map DESTINATION res) serenity_install_headers(Kernel) +serenity_install_sources(Kernel) add_subdirectory(Modules)