Mercurial > pub > dyncall > dyncall
comparison CMakeLists.txt @ 0:3e629dc19168
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:24:28 +0100 |
parents | |
children | af6c88d34af0 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3e629dc19168 |
---|---|
1 # Package: dyncall | |
2 # File: CMakeLists.txt | |
3 # Description: DynCall Project 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 cmake_minimum_required (VERSION 2.6) | |
22 project(DynCall) | |
23 | |
24 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "dyncall enables dynamic invocation of machine-level function calls") | |
25 set(CPACK_PACKAGE_VENDOR "dyncall project") | |
26 set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/doc/Description.txt") | |
27 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/doc/License.txt") | |
28 if(APPLE) | |
29 set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/doc/Description.txt") | |
30 endif(APPLE) | |
31 set(CPACK_PACKAGE_NAME "dyncall") | |
32 include(CPack) | |
33 | |
34 # add cmake modules shipped with the package to cmake's module path. | |
35 # currently we have no use for this, but maybe later.. | |
36 #set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/buildsys/cmake/Modules" "${CMAKE_MODULE_PATH}") | |
37 | |
38 | |
39 if(MSVC) | |
40 enable_language(ASM_MASM) | |
41 #if(CMAKE_SIZEOF_VOID_P MATCHES 8) | |
42 # set(CMAKE_ASM_COMPILER "ml64") | |
43 #else() | |
44 # set(CMAKE_ASM_COMPILER "ml") | |
45 #endif() | |
46 #set(CMAKE_ASM_COMPILER_ARG1 "/c") | |
47 #set(CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS asm) | |
48 #set(CMAKE_ASM_MASM_COMPILE_OBJECT "<CMAKE_ASM_MASM_COMPILER> <FLAGS> /c /Fo <OBJECT> <SOURCE>") | |
49 elseif(CMAKE_COMPILER_IS_GNUCC) | |
50 # when used in shared libraries, -fPIC is required by several architectures | |
51 # and platforms (observed on AMD64, Solaris/Sparc). | |
52 # we enable it per default here. | |
53 add_definitions("-fPIC") | |
54 # enable gcc as front-end to assembler for .S files | |
55 set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}") | |
56 set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c") | |
57 enable_language(ASM) | |
58 elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "SunPro") | |
59 set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}") | |
60 set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c") | |
61 enable_language(ASM) | |
62 endif() | |
63 | |
64 | |
65 add_subdirectory(dynload) | |
66 add_subdirectory(dyncall) | |
67 add_subdirectory(dyncallback) | |
68 add_subdirectory(doc/manual EXCLUDE_FROM_ALL) | |
69 add_subdirectory(test EXCLUDE_FROM_ALL) | |
70 | |
71 # install cmake Find scripts (disabled per default) | |
72 | |
73 option(INSTALL_CMAKE_MODULES "install cmake modules to locate dyncall" "NO") | |
74 | |
75 if(INSTALL_CMAKE_MODULES) | |
76 file(GLOB INSTALL_CMAKE_MODULES_FILES buildsys/cmake/Modules/Find*.cmake) | |
77 install(FILES ${INSTALL_CMAKE_MODULES_FILES} DESTINATION ${CMAKE_ROOT}/Modules) | |
78 endif(INSTALL_CMAKE_MODULES) | |
79 |