53 lines
1.4 KiB
CMake
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
|
|
) |