File: CMakeLists.txt

package info (click to toggle)
cppad 2025.00.00.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,552 kB
  • sloc: cpp: 112,594; sh: 5,972; ansic: 179; python: 71; sed: 12; makefile: 10
file content (67 lines) | stat: -rw-r--r-- 2,213 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
# SPDX-FileCopyrightText: Bradley M. Bell <bradbell@seanet.com>
# SPDX-FileContributor: 2003-22 Bradley M. Bell
# ----------------------------------------------------------------------------
# Build and install the cppad_lib shared library
#
# split cppad_version into year;month;day;release
STRING(REGEX REPLACE
   "([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])[.]*([0-9]*)"
   "\\1;\\2;\\3;\\4"
   version_list
   ${cppad_version}
)
LIST(GET version_list 0 year)
LIST(GET version_list 1 month)
LIST(GET version_list 2 day)
LIST(GET version_list 3 release)
#
# soversion: dynamic library version number
MATH(EXPR major "${day} - 1 + 31 * ( ${month} - 1 + 12 * ( ${year} - 2019))")
IF( "${release}" STREQUAL "" )
   SET(soversion "${major}")
ELSE( "${release}" STREQUAL "" )
   SET(soversion "${major}.${release}")
ENDIF( "${release}" STREQUAL "" )
print_variable(soversion)
#
# BEGIN_SORT_THIS_LINE_PLUS_2
SET(source_list
   cpp_graph_op.cpp
   cppad_colpack.cpp
   csrc_writer.cpp
   json_lexer.cpp
   json_parser.cpp
   json_writer.cpp
   link_dll_lib.cpp
   temp_file.cpp
)
# END_SORT_THIS_LINE_MINUS_2
IF( cppad_has_cppadcg )
   SET(source_list ${source_list} code_gen_fun.cpp)
ENDIF( cppad_has_cppadcg )
#
set_compile_flags(cppad_lib "${cppad_debug_which}" "${source_list}" )
#
# is_windows
IF( "${is_cppad_lib_dynamic}" STREQUAL "0" )
   MESSAGE( STATUS "Windows system so building static cppad_lib")
   ADD_LIBRARY( cppad_lib STATIC ${source_list} )
ELSEIF( "${is_cppad_lib_dynamic}" STREQUAL "1" )
   MESSAGE( STATUS "Not Windows system so building shared cppad_lib")
   ADD_LIBRARY( cppad_lib SHARED ${source_list} )
   SET_TARGET_PROPERTIES( cppad_lib PROPERTIES SOVERSION ${soversion} )
   #
   FIND_LIBRARY(dl_LIBRARY dl)
   IF( dl_LIBRARY )
      TARGET_LINK_LIBRARIES(cppad_lib ${dl_LIBRARY})
   ENDIF( dl_LIBRARY )
ELSE( "${is_cppad_lib_dynamic}" == "0" )
   MESSAGE(FATAL_ERROR "CMkakeLists.txt Error: invalid is_cppad_lib_dynamic")
ENDIF( )
#
# install(TARGETS myExe mySharedLib myStaticLib
#  RUNTIME DESTINATION bin
#  LIBRARY DESTINATION lib
#  ARCHIVE DESTINATION lib/static)
INSTALL(TARGETS cppad_lib DESTINATION ${cppad_abs_libdir})