diff --git a/cmake/DaemonGame.cmake b/cmake/DaemonGame.cmake index b4c449fd8f..c3040c4816 100644 --- a/cmake/DaemonGame.cmake +++ b/cmake/DaemonGame.cmake @@ -77,11 +77,12 @@ if (NOT GAME_BUILD_SUBINVOCATION) set(HAS_NACL_SDK ON) elseif (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME AND (YOKAI_TARGET_ARCH_AMD64 OR YOKAI_TARGET_ARCH_I686)) + # The PNaCL SDK is part of the target deps and then is not usable when cross-compiling. # The PNaCl SDK only runs on amd64 or i686. set(HAS_NACL_SDK ON) endif() - list(APPEND NACL_ALL_TARGETS "amd64" "i686" "armhf") + set(NACL_ALL_TARGETS "amd64" "i686" "armhf") if (HAS_NACL_SDK) include(DaemonNaclArchitecture) @@ -93,27 +94,25 @@ if (NOT GAME_BUILD_SUBINVOCATION) mark_as_advanced(BUILD_GAME_NACL_TARGETS) if (BUILD_GAME_NACL) + unset(NACL_TARGETS) + foreach(nacl_target ${BUILD_GAME_NACL_TARGETS}) if ("${nacl_target}" STREQUAL "all") - list(APPEND nacl_target_list ${NACL_ALL_TARGETS}) + list(APPEND NACL_TARGETS ${NACL_ALL_TARGETS}) elseif ("${nacl_target}" STREQUAL "native") - list(APPEND nacl_target_list "${YOKAI_TARGET_ARCH_NAME}") + daemon_detect_nacl_arch("${YOKAI_TARGET_ARCH_NAME}") + + foreach(detected_target IN LISTS DAEMON_NACL_ARCH_NAME_LIST) + list(APPEND NACL_TARGETS "${detected_target}") + endforeach() elseif ("${nacl_target}" STREQUAL "none") - set(nacl_target_list "") + unset(NACL_TARGETS) else() - list(APPEND nacl_target_list "${nacl_target}") + list(APPEND NACL_TARGETS "${nacl_target}") endif() endforeach() - foreach(nacl_target IN LISTS nacl_target_list) - daemon_detect_nacl_arch("${nacl_target}") - - foreach(detected_target IN LISTS DAEMON_NACL_ARCH_NAME_LIST) - if (NOT "${detected_target}" IN_LIST NACL_TARGETS) - list(APPEND NACL_TARGETS "${detected_target}") - endif() - endforeach() - endforeach() + list(REMOVE_DUPLICATES NACL_TARGETS) foreach(nacl_target IN LISTS NACL_TARGETS) if (NOT nacl_target IN_LIST NACL_ALL_TARGETS) @@ -125,7 +124,7 @@ if (NOT GAME_BUILD_SUBINVOCATION) endif() else() set(BUILD_GAME_NACL OFF) - set(NACL_TARGETS "") + unset(NACL_TARGETS) endif() endif()