# 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 )