diff options
Diffstat (limited to 'project/cmake/scripts/linux/ArchSetup.cmake')
| -rw-r--r-- | project/cmake/scripts/linux/ArchSetup.cmake | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/project/cmake/scripts/linux/ArchSetup.cmake b/project/cmake/scripts/linux/ArchSetup.cmake new file mode 100644 index 0000000..cae0bb8 --- /dev/null +++ b/project/cmake/scripts/linux/ArchSetup.cmake | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_LINUX) | ||
| 2 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | ||
| 3 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | ||
| 4 | set(PLATFORM_DIR linux) | ||
| 5 | set(CMAKE_SYSTEM_NAME Linux) | ||
| 6 | if(WITH_ARCH) | ||
| 7 | set(ARCH ${WITH_ARCH}) | ||
| 8 | else() | ||
| 9 | if(CPU STREQUAL x86_64) | ||
| 10 | set(ARCH x86_64-linux) | ||
| 11 | set(NEON False) | ||
| 12 | elseif(CPU MATCHES "i.86") | ||
| 13 | set(ARCH i486-linux) | ||
| 14 | set(NEON False) | ||
| 15 | add_options(CXX ALL_BUILDS "-msse") | ||
| 16 | elseif(CPU MATCHES arm) | ||
| 17 | set(ARCH arm) | ||
| 18 | set(NEON True) | ||
| 19 | elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64) | ||
| 20 | set(ARCH aarch64) | ||
| 21 | set(NEON False) | ||
| 22 | else() | ||
| 23 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 24 | endif() | ||
| 25 | endif() | ||
| 26 | |||
| 27 | # Make sure we strip binaries in Release build | ||
| 28 | if(CMAKE_BUILD_TYPE STREQUAL Release AND CMAKE_COMPILER_IS_GNUCXX) | ||
| 29 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") | ||
| 30 | endif() | ||
| 31 | |||
| 32 | find_package(CXX11 REQUIRED) | ||
| 33 | include(LDGOLD) | ||
| 34 | |||
| 35 | # Code Coverage | ||
| 36 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 37 | set(COVERAGE_TEST_BINARY ${APP_NAME_LC}-test) | ||
| 38 | set(COVERAGE_SOURCE_DIR ${CORE_SOURCE_DIR}) | ||
| 39 | set(COVERAGE_DEPENDS "\${APP_NAME_LC}" "\${APP_NAME_LC}-test") | ||
| 40 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) | ||
| 41 | endif() | ||
