Mercurial > pub > dyncall > dyncall
annotate CMakeLists.txt @ 75:a59ae4370202
- html manual: moved some generation steps to website build
author | cslag |
---|---|
date | Sun, 20 Mar 2016 18:44:41 +0100 |
parents | 6e7b1b7ad9d3 |
children | c12120a1fbc0 |
rev | line source |
---|---|
0 | 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>") | |
31
6e7b1b7ad9d3
Fixed failing builds when the compiler is ICC/ICPC
Snaipe <franklinmathieu@gmail.com>
parents:
3
diff
changeset
|
49 elseif(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Intel") |
0 | 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) | |
3 | 58 elseif(CMAKE_COMPILER_IS_CLANG) |
0 | 59 elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "SunPro") |
60 set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}") | |
61 set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c") | |
62 enable_language(ASM) | |
3 | 63 else() |
64 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") | |
65 add_definitions("-fPIC") | |
66 # enable gcc as front-end to assembler for .S files | |
67 set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}") | |
68 set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c") | |
69 enable_language(ASM) | |
70 endif() | |
0 | 71 endif() |
72 | |
73 add_subdirectory(dynload) | |
74 add_subdirectory(dyncall) | |
75 add_subdirectory(dyncallback) | |
76 add_subdirectory(doc/manual EXCLUDE_FROM_ALL) | |
77 add_subdirectory(test EXCLUDE_FROM_ALL) | |
78 | |
79 # install cmake Find scripts (disabled per default) | |
80 | |
81 option(INSTALL_CMAKE_MODULES "install cmake modules to locate dyncall" "NO") | |
82 | |
83 if(INSTALL_CMAKE_MODULES) | |
84 file(GLOB INSTALL_CMAKE_MODULES_FILES buildsys/cmake/Modules/Find*.cmake) | |
85 install(FILES ${INSTALL_CMAKE_MODULES_FILES} DESTINATION ${CMAKE_ROOT}/Modules) | |
86 endif(INSTALL_CMAKE_MODULES) | |
87 |