CMake files for cctools
[darwin-xtools.git] / cctools / as / CMakeLists.txt
blobacab4777d8452921d767408e068a494da39df776
2 set(AS_COMMON_SRCS
3     app.c
4     as.c
5     atof-generic.c
6     atof-ieee.c
7     expr.c
8     fixes.c
9     flonum-const.c
10     flonum-copy.c
11     flonum-mult.c
12     frags.c
13     hash.c
14     hex-value.c
15     input-file.c
16     input-scrub.c
17     layout.c
18     messages.c
19     obstack.c
20     read.c
21     sections.c
22     symbols.c
23     write_object.c
24     xmalloc.c
25     dwarf2dbg.c
26     )
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")
42 endif()
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)
57 if(BUILD_TESTING)
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>)
62 endif()
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)
71 if(BUILD_TESTING)
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>)
76 endif()
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)
85 if(BUILD_TESTING)
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>)
90 endif()
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)