1 | # -*- mode: cmake; -*- |
---|
2 | # |
---|
3 | # |
---|
4 | # |
---|
5 | # CFLAGS='-O2 -fomit-frame-pointer' |
---|
6 | # CXXFLAGS='-O2 -fomit-frame-pointer -fno-rtti' |
---|
7 | |
---|
8 | function(add_ntl GEN_TARGET GEN_LIB DIR) |
---|
9 | message(STATUS "add_ntl") |
---|
10 | set(_GEN_LIB "${DIR}/src/ntl.a") |
---|
11 | set(_GEN_TARGET "generate_ntl") |
---|
12 | # LIBDIR= INCLUDEDIR= PREFIX= |
---|
13 | set(_cxx_flags "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") |
---|
14 | set(_cc_flags "${CMAKE_CC_FLAGS} ${CMAKE_CC_FLAGS_RELEASE}") |
---|
15 | |
---|
16 | message(STATUS "NTL: Flags and options used to compile ntl") |
---|
17 | message(STATUS "CC=${CMAKE_CC_COMPILER}") |
---|
18 | message(STATUS "CXX=${CMAKE_CXX_COMPILER}") |
---|
19 | message(STATUS "CFLAGS=${_cc_flags}") |
---|
20 | message(STATUS "CXXFLAGS=${_cxx_flags}") |
---|
21 | message(STATUS "NTL_GMP_LIP=on NTL_STD_CXX=on") |
---|
22 | # CXXFLAGS=\" -O2 -fomit-frame-pointer -fno-rtti\" |
---|
23 | #utility_source(NTL bin path_to_source) |
---|
24 | add_custom_command( |
---|
25 | OUTPUT ${DIR}/src/makefile ${DIR}/include/NTL/config.h ${DIR}/setup4 |
---|
26 | COMMAND ./configure CC="gcc" CXX="g++" LDFLAGS="" GMP_PREFIX=/ NTL_GMP_LIP=on NTL_STD_CXX=on CFLAGS=${_cc_flags} CXXFLAGS=${_cxx_flags} |
---|
27 | |
---|
28 | COMMAND make |
---|
29 | |
---|
30 | WORKING_DIRECTORY ${DIR}/src |
---|
31 | DEPENDS ${DIR}/src/makefile |
---|
32 | COMMENT "Compiling 'ntl' number theory library..." |
---|
33 | ) |
---|
34 | |
---|
35 | add_custom_target(generate_ntl DEPENDS |
---|
36 | ${DIR}/setup4) |
---|
37 | |
---|
38 | set(${GEN_TARGET} ${_GEN_TARGET} PARENT_SCOPE) |
---|
39 | set(${GEN_LIB} ${_GEN_LIB} PARENT_SCOPE) |
---|
40 | |
---|
41 | endfunction() |
---|