|
|
@@ -2,20 +2,19 @@ project(Assembler)
|
|
|
|
|
|
set(SRCS)
|
|
|
|
|
|
-message(STATUS "Testing assembler support, system: ${CMAKE_SYSTEM_NAME} processor: ${CMAKE_SYSTEM_PROCESSOR}")
|
|
|
-
|
|
|
# if no file has been set as source and we are on linux with an x86 processor try to use the gas/as assembler
|
|
|
-if(NOT SRCS AND NOT APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
-# if(NOT SRCS AND CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
- message(STATUS "Trying to enable ASM-ATT for Linux/x86")
|
|
|
- enable_language(ASM-ATT)
|
|
|
- if(CMAKE_ASM-ATT_COMPILER_WORKS)
|
|
|
- message(STATUS "Trying to enable ASM-ATT for Linux/x86 - succeeded")
|
|
|
- # this assembler file was created using gcc -S main.c
|
|
|
- set(SRCS main-linux-x86-gas.s)
|
|
|
- endif(CMAKE_ASM-ATT_COMPILER_WORKS)
|
|
|
-endif(NOT SRCS AND NOT APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
-# endif(NOT SRCS AND CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
+# main-linux-x86-gas.s seems to work for Linux and FreeBSD
|
|
|
+if(NOT SRCS AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
+ if(CMAKE_SYSTEM MATCHES Linux or CMAKE_SYSTEM MATCHES FreeBSD)
|
|
|
+ message(STATUS "Trying to enable ASM-ATT for Linux or FreeBSD on x86")
|
|
|
+ enable_language(ASM-ATT OPTIONAL)
|
|
|
+ if(CMAKE_ASM-ATT_COMPILER_WORKS)
|
|
|
+ message(STATUS "Trying to enable ASM-ATT for Linux/x86 - succeeded")
|
|
|
+ # this assembler file was created using gcc -S main.c
|
|
|
+ set(SRCS main-linux-x86-gas.s)
|
|
|
+ endif(CMAKE_ASM-ATT_COMPILER_WORKS)
|
|
|
+ endif(CMAKE_SYSTEM MATCHES Linux or CMAKE_SYSTEM MATCHES FreeBSD)
|
|
|
+endif(NOT SRCS AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")
|
|
|
|
|
|
if(NOT SRCS)
|
|
|
message(STATUS "No assembler enabled, using C")
|