Files

53 lines
1.4 KiB
CMake

# Rules for building libraries
# Copy NewLib headers to sysroot dir
set(NEWLIB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/newlib)
set(SHA_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/sha)
set(CONSOLE_SHIM_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/console)
add_custom_target(newlib-headers
COMMAND
${CMAKE_COMMAND} -E copy_directory
"${NEWLIB_SRC_DIR}/newlib/libc/include"
"${KOS_SDK_DIR}/i586-kolibrios/include"
COMMENT "Copying all Newlib headers to ${KOS_SDK_DIR}}/include"
)
# Newlib
ExternalProject_Add(
newlib
SOURCE_DIR ${NEWLIB_SRC_DIR}
CONFIGURE_COMMAND
${CMAKE_COMMAND} -E env CFLAGS=-Os
${NEWLIB_SRC_DIR}/newlib/configure
--host=i586-kolibrios
--prefix=${KOS_SDK_DIR}
BUILD_COMMAND make -j${JOBS}
INSTALL_COMMAND make install
BUILD_ALWAYS TRUE
DEPENDS gcc
)
# SHA
ExternalProject_Add(
sha
SOURCE_DIR ${SHA_SRC_DIR}
CMAKE_ARGS
-DCMAKE_C_COMPILER=i586-kolibrios-gcc
-DCMAKE_C_COMPILER_WORKS=1
-DCMAKE_INSTALL_PREFIX=${KOS_SDK_DIR}/i586-kolibrios
BUILD_ALWAYS TRUE
DEPENDS gcc
)
# Console shim
ExternalProject_Add(
console_shim
SOURCE_DIR ${CONSOLE_SHIM_SRC_DIR}
CMAKE_ARGS
-DCMAKE_C_COMPILER=i586-kolibrios-gcc
-DCMAKE_C_COMPILER_WORKS=1
-DCMAKE_INSTALL_PREFIX=${KOS_SDK_DIR}/i586-kolibrios
BUILD_ALWAYS TRUE
DEPENDS gcc
)