CMake를 사용해서 크로스 컴파일을 한다고 칩시다.

현재 경로에는 이 파일들이 존재해야 합니다.
$ ls
CMakeLists.txt               (이 파일의 내용이 궁금하면 여기를 보세요)
toolchain.arm.cmake          (이 파일의 내용이 궁금하면 여기를 보세요)

크로스컴파일을 위한 Makefile을 만들려면 cmake의 옵션인 -D에 CMAKE_TOOLCHAIN_FILE = 툴체인파일 이라고 써주어야 합니다.

일일이 써주기 귀찮으면 제가 만든 이 스크립트를 사용하세요.
필요에 따라 약간씩 수정해서 사용하시면 되겠습니다.

filename: configure.sh
#!/bin/bash

######################################################
# configure.sh
######################################################

printUsage()
{
    echo "Usage: $0 [option]"
    echo "  [description]"
    echo "      make a Makefile Make build script by cmake"
    echo "      "
    echo "  [option]"
    echo "      (default) : make a Makefile by CMake at ./build/ directory"
    echo "      clean     : remove make a Makefile"
    echo "      help      : print a usage"
}


if [ "$1" = "help" ]; then
    printUsage
    exit
fi


if [ "$1" = "" ] ; then

    if [ -d ./build ] ; then
        echo ""
        echo "[Warning] ./build/ directory is exist.  You should delete ./build/ first. or use this command: "
        echo "    $0 clean "
        echo ""
        exit
    fi 

    mkdir build
    cd build

    cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.arm.cmake -Wno-dev --build build .. 

    echo "-------------"
    echo " How to make"
    echo "-------------"
    echo " cd build"
    echo " make"
    echo "-------------"


elif [ "$1" = "clean" ] ; then
    read -p "Do you want to delete ./build/ ? (y/n) " YesNo
    if [ "$YesNo" = "y" ] ; then
        rm -rf build
    fi 
else
    printUsage
fi




+ Recent posts