summaryrefslogtreecommitdiffstats
path: root/cmake/scripts/linux/ArchSetup.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/scripts/linux/ArchSetup.cmake')
-rw-r--r--cmake/scripts/linux/ArchSetup.cmake46
1 files changed, 46 insertions, 0 deletions
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake
new file mode 100644
index 0000000..c31becd
--- /dev/null
+++ b/cmake/scripts/linux/ArchSetup.cmake
@@ -0,0 +1,46 @@
1set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_LINUX)
2set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_LARGEFILE64_SOURCE
3 -D_FILE_OFFSET_BITS=64)
4set(PLATFORM_DIR linux)
5set(CMAKE_SYSTEM_NAME Linux)
6if(WITH_ARCH)
7 set(ARCH ${WITH_ARCH})
8else()
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 set(NEON_FLAGS "-mfpu=neon -mvectorize-with-neon-quad")
20 elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64)
21 set(ARCH aarch64)
22 set(NEON True)
23 else()
24 message(SEND_ERROR "Unknown CPU: ${CPU}")
25 endif()
26endif()
27
28# Make sure we strip binaries in Release build
29if(CMAKE_BUILD_TYPE STREQUAL Release AND CMAKE_COMPILER_IS_GNUCXX)
30 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
31endif()
32
33find_package(CXX11 REQUIRED)
34include(LDGOLD)
35
36# Code Coverage
37if(CMAKE_BUILD_TYPE STREQUAL Coverage)
38 set(COVERAGE_TEST_BINARY ${APP_NAME_LC}-test)
39 set(COVERAGE_SOURCE_DIR ${CMAKE_SOURCE_DIR})
40 set(COVERAGE_DEPENDS "\${APP_NAME_LC}" "\${APP_NAME_LC}-test")
41 set(COVERAGE_EXCLUDES */test/* lib/* */lib/*)
42endif()
43
44if(ENABLE_MIR)
45 set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU since no Mir support" FORCE)
46endif()