Mercurial > pub > dyncall > dyncall
annotate dyncallback/CMakeLists.txt @ 588:dfc2e6ee8782 r1.4-RC3
- more robust endian detection, on some platforms inclusion of endian.h led to assuming wrong endianness (subtle if inclusion was in
- syscall test: added newline to output
author | Tassilo Philipp |
---|---|
date | Mon, 19 Sep 2022 09:54:21 +0200 |
parents | 451299d50c1a |
children |
rev | line source |
---|---|
0 | 1 # Package: dyncall |
2 # File: dyncallback/CMakeLists.txt | |
3 # Description: DynCallback library cmake files | |
4 # License: | |
5 # | |
6 # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de> | |
7 # | |
8 # Permission to use, copy, modify, and distribute this software for any | |
9 # purpose with or without fee is hereby granted, provided that the above | |
10 # copyright notice and this permission notice appear in all copies. | |
11 # | |
12 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
13 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
14 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
15 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
16 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
17 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
18 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
19 # | |
20 | |
21 include_directories(${PROJECT_SOURCE_DIR}/dyncall) | |
22 | |
23 if(MSVC) | |
24 if(CMAKE_SIZEOF_VOID_P MATCHES 4) | |
25 set(ASM_SRC dyncall_callback_x86_masm.asm) | |
371
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
143
diff
changeset
|
26 elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "ARM64") |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
143
diff
changeset
|
27 set(ASM_SRC ${CMAKE_SOURCE_DIR}/dyncallback/dyncall_callback_arm64_masm.asm) |
451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents:
143
diff
changeset
|
28 compile_asm(TARGET dyncallback_s ASM_FILES ${ASM_SRC} OUTPUT_OBJECTS ASM_SRC) |
0 | 29 else() |
30 set(ASM_SRC dyncall_callback_x64_masm.asm) | |
31 endif() | |
32 else() | |
33 set(ASM_SRC dyncall_callback_arch.S) | |
34 set_source_files_properties(${ASM_SRC} PROPERTIES LANGUAGE "C") | |
35 endif() | |
36 | |
37 add_library(dyncallback_s STATIC ${ASM_SRC} | |
38 dyncall_thunk.c | |
39 dyncall_alloc_wx.c | |
40 dyncall_args.c | |
41 dyncall_callback.c | |
42 ) | |
43 | |
44 install(TARGETS dyncallback_s ARCHIVE DESTINATION lib ) | |
45 | |
46 install(FILES | |
47 dyncall_thunk.h | |
48 dyncall_thunk_x86.h | |
49 dyncall_thunk_ppc32.h | |
50 dyncall_thunk_x64.h | |
143 | 51 dyncall_thunk_arm32.h |
0 | 52 dyncall_alloc_wx.h |
53 dyncall_args.h | |
54 dyncall_callback.h | |
55 DESTINATION include | |
56 ) | |
57 |