source: git/ntl/CMakeLists.txt @ 6ce030f

spielwiese
Last change on this file since 6ce030f was 8cc501, checked in by Kai Krüger <krueger@…>, 14 years ago
Added files to compile with cmake. Still experimental. Might not work git-svn-id: file:///usr/local/Singular/svn/trunk@13240 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 4.1 KB
RevLine 
[8cc501]1# -*- mode: cmake; -*-
2###
3## Optionen
4## c++ -I../include -I.  -O2 -fomit-frame-pointer -fno-rtti -c ZZ_pEX.c
5##
6project(ntl)
7cmake_minimum_required(VERSION "2.6" FATAL_ERROR)
8
9set(V_MAJOR 5)
10set(V_MINOR 5)
11set(V_PATCH RC1)
12
13set(PROJECT_DESCRIPTION "NTL  -- a library for doing numbery theory")
14set(PROJECT_VENDOR      "")
15set(PROJECT_COPYRIGHT   "GNU General Public License")
16set(PROJECT_CONTACT     "Victor Shoup (victor@shoup.net)")
17set(PROJECT_VERSION     "${V_MAJOR}.${V_MINOR}.${V_PATCH}")
18set(PROJECT_README      "${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}-${V_MAJOR}.${V_MINOR}/README")
19set(PROJECT_COPYING     "${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}-${V_MAJOR}.${V_MINOR}/COPYING")
20
21# have the full monty in makefiles
22set(CMAKE_VERBOSE_MAKEFILE true)
23
24OPTION(WIZARD "Run wizard" off)
25
26###################################################################################################
27# No user settings below
28###################################################################################################
29set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/modules")
30
31
32
33set(CC gcc)
34set(CXX g++)
35set(NTL_GMP_LIP On)
36set(NTL_STD_CXX On)
37set(GMP_PREFIX /)
38
39set(CMAKE_C_FLAGS "-O2 -fomit-frame-pointer")
40set(CMAKE_CXX_FLAGS "-O2 -fomit-frame-pointer -fno-rtti")
41set(CMAKE_CXX_FLAGS "-W -Wall -Wextra -Wno-non-virtual-dtor -Wno-unknown-pragma")
42
43link_libraries(m)
44set(CMAKE_INSTALL_PREFIX "/usr/local")
45
46set(GMP_PREFIX ${CMAKE_INSTALL_PREFIX})
47set(GMP_INCDIR ${CMAKE_INSTALL_PREFIX}/include)
48set(GMP_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
49
50set(GF2X_PREFIX ${CMAKE_INSTALL_PREFIX})
51set(GF2X_INCDIR ${CMAKE_INSTALL_PREFIX}/include)
52set(GF2X_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
53
54set(NTL_STD_CXX   on)
55set(NTL_PSTD_NNS  off)
56set(NTL_PSTD_NHF  off)
57set(NTL_PSTD_NTN  off)
58
59set(NTL_GMP_LIP   on)
60set(NTL_GMP_HACK  off)
61
62set(NTL_GF2X_LIB  off)
63set(NTL_GF2X_NOINLINE  off)
64set(NTL_GF2X_ALTCODE   off)
65set(NTL_GF2X_ALTCODE1  off)
66
67set(NTL_CXX_ONLY  off)
68set(NTL_X86_FIX     off)
69set(NTL_NO_X86_FIX  off)
70set(NTL_AVOID_FLOAT off)
71set(NTL_LONG_LONG   off)
72
73set(NTL_SPMM_ULL    off)
74set(NTL_SPMM_UL     off)
75set(NTL_SPMM_ASM    off)
76
77set(NTL_AVOID_BRANCHING  off)
78set(NTL_TBL_REM        off)
79set(NTL_NO_INIT_TRANS  off)
80set(NTL_CLEAN_INT      off)
81set(NTL_CLEAN_PTR      off)
82set(NTL_RANGE_CHECK    off)
83set(NTL_LONG_LONG_TYPE 0)
84set(NTL_UNSIGNED_LONG_LONG_TYPE 0)
85
86if(${NTL_GMP_LIP})
87  include(FindGMP)
88endif(${NTL_GMP_LIP})
89
90if(${NTL_GF2X_LIB})
91  include(FindGF2X)
92endif()
93
94# copy file DoCOnfig
95configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/cfile
96  ${CMAKE_CURRENT_BINARY_DIR}/cfile COPYONLY
97)
98configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/DoConfig
99  ${CMAKE_CURRENT_BINARY_DIR}/DoConfig COPYONLY
100)
101
102#add_custom_command(
103execute_process(
104#  OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/cfileout
105  COMMAND perl ${CMAKE_CURRENT_BINARY_DIR}/DoConfig NTL_GMP_LIP=on GMP_PREFIX=/ CFLAGS=" -O2 -fomit-frame-pointer" CXXFLAGS=" -O2 -fomit-frame-pointer -fno-rtti" LDFLAGS="" NTL_STD_CXX=off
106  COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/include/NTL
107  COMMAND cp cfileout ${CMAKE_CURRENT_BINARY_DIR}/include/NTL/config.h
108  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
109#  COMMENT "Creating cfileout"
110)
111#configure_file(${CMAKE_CURRENT_BINARY_DIR}/src/cfileout
112#  ${CMAKE_CURRENT_BINARY_DIR}/include/NTL/config.hss COPYONLY
113#)
114
115#configure_file(${CMAKE_CURRENT_BINARY_DIR}/cfileout
116#  ${CMAKE_CURRENT_BINARY_DIR}/include/NTL/config.h)
117
118#execute_process(COMMAND <cmd1> [args1...]]
119#                  [COMMAND <cmd2> [args2...] [...]]
120#                  [WORKING_DIRECTORY <directory>]
121#                  [TIMEOUT <seconds>]
122#                  [RESULT_VARIABLE <variable>]
123#                  [OUTPUT_VARIABLE <variable>]
124#                  [ERROR_VARIABLE <variable>]
125#                  [INPUT_FILE <file>]
126#                  [OUTPUT_FILE <file>]
127#                  [ERROR_FILE <file>]
128#                  [OUTPUT_QUIET]
129#                  [ERROR_QUIET]
130#                  [OUTPUT_STRIP_TRAILING_WHITESPACE]
131#                  [ERROR_STRIP_TRAILING_WHITESPACE])
132
133include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
134include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
135add_subdirectory(src)
136
137
Note: See TracBrowser for help on using the repository browser.