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})
|