summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--ConfigureChecks.cmake32
-rw-r--r--src/fastscale/CMakeLists.txt14
3 files changed, 8 insertions, 39 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0993d67..5cbbe35 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,7 @@ include( CheckCSourceCompiles )
include( CheckIncludeFile )
include( CheckLibraryExists )
include( CheckSymbolExists )
+enable_language( ASM )
##### include our cmake modules #################
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 54a05c8..1030fef 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -245,36 +245,16 @@ if( WITH_LAME )
endif( )
-##### check architecture
-
-if( NOT CMAKE_ARCHITECTURE )
- execute_process(
- COMMAND ${CMAKE_C_COMPILER} -dumpmachine
- OUTPUT_VARIABLE CMAKE_ARCHITECTURE
- ERROR_VARIABLE CMAKE_ARCHITECTURE
- OUTPUT_STRIP_TRAILING_WHITESPACE
- ERROR_STRIP_TRAILING_WHITESPACE )
- set( CMAKE_ARCHITECTURE "${CMAKE_ARCHITECTURE}" CACHE INTERNAL "" FORCE )
- message( STATUS "Detected ${CMAKE_ARCHITECTURE} target architecture" )
-endif( )
-
-
##### check specific architecture dependant support
-if( ${CMAKE_ARCHITECTURE} MATCHES "i.86" )
+if( CMAKE_SYSTEM_PROCESSOR MATCHES "i.86" )
# MMX support
message( STATUS "Performing MMX support test" )
- check_c_source_compiles( "
- int main() {
- #if defined(__GNUC__)
- __asm__(\"pxor %mm0, %mm0\");
- #else
- #error Not gcc on x86/x86_64
- #endif
- return 0;
- }"
- HAVE_X86_MMX
- )
+ cmake_host_system_information( RESULT HAVE_X86_MMX QUERY HAS_MMX )
+ if( HAVE_X86_MMX )
+ message( STATUS "Performing MMX support test - Success" )
+ set( CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -DHAVE_X86_MMX" )
+ endif( )
endif( )
diff --git a/src/fastscale/CMakeLists.txt b/src/fastscale/CMakeLists.txt
index 91bb8c7..b057f5d 100644
--- a/src/fastscale/CMakeLists.txt
+++ b/src/fastscale/CMakeLists.txt
@@ -24,19 +24,7 @@ link_directories(
##### fastscale (static) ########################
-set( fastscale_SRCS scale.cpp )
-
-if( HAVE_X86_MMX )
- list( APPEND fastscale_SRCS asm_scale.S )
-
- # Force to use C compiler for asm_scale.S instead of ASM
- # because it contains mixed code - ASM with C definitions
- set_source_files_properties( asm_scale.S PROPERTIES LANGUAGE C )
-
- add_compile_options( -DHAVE_X86_MMX )
-endif( )
-
tde_add_library( fastscale STATIC_PIC AUTOMOC
- SOURCES ${fastscale_SRCS}
+ SOURCES scale.cpp asm_scale.S
LINK tdecore-shared
)