From: 박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 Date: Wed, 18 Jul 2018 01:07:57 +0000 (+0900) Subject: Tidy cmake, separate identify_platform (#1991) X-Git-Tag: 0.2~443 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25e968453e65566eece9bef1b1ff244df577ef87;p=platform%2Fcore%2Fml%2Fnnfw.git Tidy cmake, separate identify_platform (#1991) This will separate platform identification codes to own file Signed-off-by: SaeHie Park --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 87c2eb0..09f6669 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,54 +8,8 @@ endmacro(nnfw_find_package) set(CMAKE_CXX_STANDARD 11) -# set host platform to build -if(NOT HOST_ARCH OR "${HOST_ARCH}" STREQUAL "") - set(HOST_ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) -endif() - -# set target platform to run -if(NOT TARGET_ARCH OR "${TARGET_ARCH}" STREQUAL "") - set(TARGET_ARCH "${HOST_ARCH}") -endif() - -if(NOT DEFINED TARGET_OS) - set(TARGET_OS "${HOST_OS}") -endif() - -if("${HOST_ARCH}" STREQUAL "x86_64") - set(HOST_ARCH_BASE ${HOST_ARCH}) -elseif("${HOST_ARCH}" STREQUAL "armv7l") - set(HOST_ARCH_BASE "arm") -elseif("${HOST_ARCH}" STREQUAL "arm64") - set(HOST_ARCH_BASE "arm64") -elseif("${HOST_ARCH}" STREQUAL "aarch64") - set(HOST_ARCH_BASE "aarch64") -else() - message(FATAL_ERROR "'${HOST_ARCH}' architecture is not supported") -endif() - -if("${TARGET_ARCH}" STREQUAL "x86_64") - set(TARGET_ARCH_BASE ${TARGET_ARCH}) -elseif("${TARGET_ARCH}" STREQUAL "armv7l") - set(TARGET_ARCH_BASE "arm") -elseif("${TARGET_ARCH}" STREQUAL "arm64") - set(TARGET_ARCH_BASE "arm64") -elseif("${TARGET_ARCH}" STREQUAL "aarch64") - set(TARGET_ARCH_BASE "aarch64") -else() - message(FATAL_ERROR "'${TARGET_ARCH}' architecture is not supported") -endif() - -# Determine native or cross build -if("${HOST_ARCH}" STREQUAL "${TARGET_ARCH}") - set(BUILD_IS_NATIVE True) -else() - set(BUILD_IS_NATIVE False) -endif() - -# host & target platform name -set(HOST_PLATFORM "${HOST_ARCH}-${HOST_OS}") -set(TARGET_PLATFORM "${TARGET_ARCH}-${TARGET_OS}") +# identify platform: HOST_PLATFORM, TARGET_PLATFORM and related +include("cmake/option/identify_platform.cmake") # lib pthread as a variable (pthread must be disabled on android) set(LIB_PTHREAD pthread) diff --git a/cmake/option/identify_platform.cmake b/cmake/option/identify_platform.cmake new file mode 100644 index 0000000..3f62b52 --- /dev/null +++ b/cmake/option/identify_platform.cmake @@ -0,0 +1,48 @@ +# set host platform to build +if(NOT HOST_ARCH OR "${HOST_ARCH}" STREQUAL "") + set(HOST_ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) +endif() + +# set target platform to run +if(NOT TARGET_ARCH OR "${TARGET_ARCH}" STREQUAL "") + set(TARGET_ARCH "${HOST_ARCH}") +endif() + +if(NOT DEFINED TARGET_OS) + set(TARGET_OS "${HOST_OS}") +endif() + +if("${HOST_ARCH}" STREQUAL "x86_64") + set(HOST_ARCH_BASE ${HOST_ARCH}) +elseif("${HOST_ARCH}" STREQUAL "armv7l") + set(HOST_ARCH_BASE "arm") +elseif("${HOST_ARCH}" STREQUAL "arm64") + set(HOST_ARCH_BASE "arm64") +elseif("${HOST_ARCH}" STREQUAL "aarch64") + set(HOST_ARCH_BASE "aarch64") +else() + message(FATAL_ERROR "'${HOST_ARCH}' architecture is not supported") +endif() + +if("${TARGET_ARCH}" STREQUAL "x86_64") + set(TARGET_ARCH_BASE ${TARGET_ARCH}) +elseif("${TARGET_ARCH}" STREQUAL "armv7l") + set(TARGET_ARCH_BASE "arm") +elseif("${TARGET_ARCH}" STREQUAL "arm64") + set(TARGET_ARCH_BASE "arm64") +elseif("${TARGET_ARCH}" STREQUAL "aarch64") + set(TARGET_ARCH_BASE "aarch64") +else() + message(FATAL_ERROR "'${TARGET_ARCH}' architecture is not supported") +endif() + +# Determine native or cross build +if("${HOST_ARCH}" STREQUAL "${TARGET_ARCH}") + set(BUILD_IS_NATIVE True) +else() + set(BUILD_IS_NATIVE False) +endif() + +# host & target platform name +set(HOST_PLATFORM "${HOST_ARCH}-${HOST_OS}") +set(TARGET_PLATFORM "${TARGET_ARCH}-${TARGET_OS}")