28 set(X86_SRCS i386.c ${AS_COMMON_SRCS})
30 set(PPC_SRCS ppc.c ${AS_COMMON_SRCS})
32 set(ARM_SRCS arm.c ${AS_COMMON_SRCS})
34 include_directories("${CMAKE_SOURCE_DIR}/cctools/include")
35 include_directories("${CMAKE_SOURCE_DIR}/cctools/as")
36 include_directories("${CMAKE_SOURCE_DIR}/cctools/include/gnu")
37 add_definitions(-DNeXT_MOD -D__private_extern__=__attribute__\(\(__visibility__\("hidden"\)\)\))
39 if(XTOOLS_C_HAS_WNODEPRECATED_FLAG)
40 # suppress the 'import is deprecated' blather.
41 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated")
44 add_executable(as-driver driver.c)
45 set_target_properties(as-driver PROPERTIES COMPILE_FLAGS "-Di486 -Di586 -Di686")
46 target_link_libraries(as-driver stuff)
47 set_target_properties(as-driver PROPERTIES OUTPUT_NAME as)
48 install(TARGETS as-driver DESTINATION bin )
50 add_executable(i386-as ${X86_SRCS})
51 set_target_properties(i386-as PROPERTIES COMPILE_FLAGS "-DI386 -Di486 -Di586 -Di686")
52 set_target_properties(i386-as PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/i386)
53 set_target_properties(i386-as PROPERTIES OUTPUT_NAME as)
54 target_link_libraries(i386-as stuff)
55 install(TARGETS i386-as DESTINATION bin/i386)
58 add_executable(test-x86 i386-check.c)
59 set_target_properties(test-x86 PROPERTIES COMPILE_FLAGS "-DI386 -Di486 -Di586 -Di686")
60 set_target_properties(test-x86 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests)
61 add_test(NAME check-x86-as COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/check-as $<TARGET_FILE:test-x86> i386 $<TARGET_FILE:as-driver>)
64 add_executable(x8664-as ${X86_SRCS})
65 set_target_properties(x8664-as PROPERTIES COMPILE_FLAGS "-DI386 -Di486 -Di586 -Di686 -DARCH64")
66 set_target_properties(x8664-as PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/x86_64)
67 set_target_properties(x8664-as PROPERTIES OUTPUT_NAME as)
68 target_link_libraries(x8664-as stuff)
69 install(TARGETS x8664-as DESTINATION bin/x86_64)
72 add_executable(test-x86_64 i386-check.c)
73 set_target_properties(test-x86_64 PROPERTIES COMPILE_FLAGS "-DI386 -Di486 -Di586 -Di686 -DARCH64")
74 set_target_properties(test-x86_64 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests)
75 add_test(NAME check-x86_86-as COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/check-as $<TARGET_FILE:test-x86_64> x86_64 $<TARGET_FILE:as-driver>)
78 add_executable(ppc-as ${PPC_SRCS})
79 set_target_properties(ppc-as PROPERTIES COMPILE_FLAGS "-DPPC")
80 set_target_properties(ppc-as PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ppc)
81 set_target_properties(ppc-as PROPERTIES OUTPUT_NAME as)
82 target_link_libraries(ppc-as stuff)
83 install(TARGETS ppc-as DESTINATION bin/ppc)
86 add_executable(test-ppc ppc-check.c)
87 set_target_properties(test-ppc PROPERTIES COMPILE_FLAGS "-DPPC")
88 set_target_properties(test-ppc PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests)
89 add_test(NAME check-ppc-as COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/check-as $<TARGET_FILE:test-ppc> ppc $<TARGET_FILE:as-driver>)
92 add_executable(ppc64-as ${PPC_SRCS})
93 set_target_properties(ppc64-as PROPERTIES COMPILE_FLAGS "-DPPC -DARCH64")
94 set_target_properties(ppc64-as PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ppc64)
95 set_target_properties(ppc64-as PROPERTIES OUTPUT_NAME as)
96 target_link_libraries(ppc64-as stuff)
97 install(TARGETS ppc64-as DESTINATION bin/ppc64)
99 add_executable(arm-as ${ARM_SRCS})
100 set_target_properties(arm-as PROPERTIES COMPILE_FLAGS "-DARM")
101 set_target_properties(arm-as PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/arm)
102 set_target_properties(arm-as PROPERTIES OUTPUT_NAME as)
103 target_link_libraries(arm-as stuff)
104 install(TARGETS arm-as DESTINATION bin/arm)