File: CMakeLists.txt

package info (click to toggle)
libsbml 5.19.7%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 115,608 kB
  • sloc: cpp: 460,814; xml: 340,122; ansic: 53,825; python: 12,463; makefile: 9,744; sh: 8,893; cs: 8,586; java: 8,151; perl: 6,133; ruby: 4,760; javascript: 1,605; php: 202; csh: 3
file content (96 lines) | stat: -rw-r--r-- 3,738 bytes parent folder | download | duplicates (2)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
## @file    CMakeLists.txt
## @brief   CMake build script for example programs
## @author  Frank T. Bergmann
##
## <!--------------------------------------------------------------------------
## This file is part of libSBML.  Please visit http://sbml.org for more
## information about SBML, and the latest version of libSBML.
##
## Copyright (C) 2013-2018 jointly by the following organizations:
##     1. California Institute of Technology, Pasadena, CA, USA
##     2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
##     3. University of Heidelberg, Heidelberg, Germany
##
## Copyright (C) 2009-2013 jointly by the following organizations: 
##     1. California Institute of Technology, Pasadena, CA, USA
##     2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
##  
## Copyright (C) 2006-2008 by the California Institute of Technology,
##     Pasadena, CA, USA 
##  
## Copyright (C) 2002-2005 jointly by the following organizations: 
##     1. California Institute of Technology, Pasadena, CA, USA
##     2. Japan Science and Technology Agency, Japan
## 
## This library is free software; you can redistribute it and/or modify it
## under the terms of the GNU Lesser General Public License as published by
## the Free Software Foundation.  A copy of the license agreement is provided
## in the file named "LICENSE.txt" included with this software distribution
## and also available online as http://sbml.org/software/libsbml/license.html
## ------------------------------------------------------------------------ -->


include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(BEFORE ${LIBSBML_ROOT_SOURCE_DIR}/src)
include_directories(${LIBSBML_ROOT_SOURCE_DIR}/include)
include_directories(BEFORE ${LIBSBML_ROOT_BINARY_DIR}/src)


if (EXTRA_INCLUDE_DIRS) 
include_directories(${EXTRA_INCLUDE_DIRS})
endif(EXTRA_INCLUDE_DIRS)

foreach(example 

	flattenModel
	flattenModelAdvanced
	spec_example1
	spec_example2
	spec_example3
	spec_example4
	
)
	add_executable(example_comp_cpp_${example} ${example}.cpp ../util.c)
	set_target_properties(example_comp_cpp_${example} PROPERTIES  OUTPUT_NAME ${example})
	target_link_libraries(example_comp_cpp_${example} ${LIBSBML_LIBRARY}-static)

endforeach()


# build web resolver example
# for which we need libcurl

find_library(LIBCURL_LIBRARY
  NAMES libcurl.lib curl
  PATHS /usr/lib /usr/local/lib
        ${LIBSBML_DEPENDENCY_DIR}/lib
  DOC "The file name of the curl library."
)
find_path(LIBCURL_INCLUDE_DIR
  NAMES curl/curl.h
  PATHS /usr/include /usr/local/include
        ${LIBSBML_DEPENDENCY_DIR}/include
  DOC "The directory containing the curl include files."
)

if (LIBCURL_LIBRARY AND LIBCURL_INCLUDE_DIR)
  include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  include_directories(${LIBCURL_INCLUDE_DIR})
  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
  add_definitions(-DCURL_STATICLIB)
  add_executable(example_comp_cpp_SBMLHttpResolverExample SBMLHttpResolverExample.cpp ../util.c)
  set_target_properties(example_comp_cpp_SBMLHttpResolverExample PROPERTIES  OUTPUT_NAME SBMLHttpResolverExample)
  target_link_libraries(example_comp_cpp_SBMLHttpResolverExample ${LIBSBML_LIBRARY}-static ${LIBCURL_LIBRARY})
  if (WITH_LIBXML)
  	target_link_libraries(example_comp_cpp_SBMLHttpResolverExample ${LIBXML_LIBRARY} ${EXTRA_LIBS})
  endif()
else()
  message(WARNING "comp example: The SBML HTTP Resolver example cannot be built as libcurl was not found.")
endif ()

# install c++ examples
file(GLOB cpp_samples "${CMAKE_CURRENT_SOURCE_DIR}/*.c"
                    "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
                    "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
install(FILES ${cpp_samples} DESTINATION ${MISC_PREFIX}examples/c++/comp)